def print_snp_platform_claims()

in cvm-attestation/src/AttestationProvider.py [0:0]


  def print_snp_platform_claims(self, encoded_token):
    try:
      claims = jwt.decode(encoded_token, options={"verify_signature": False})

      if claims['x-ms-compliance-status'] == 'azure-compliant-cvm':
        self.log.info(f"Claims:")
        self.log.info(f"Attestation Type: {claims['x-ms-attestation-type']}")
        self.log.info(f"Status: {claims['x-ms-compliance-status']}")
        self.log.info(f"SNP Bootloader SVN: {claims['x-ms-sevsnpvm-bootloader-svn']}")
        self.log.info(f"SNP Guest SVN: {claims['x-ms-sevsnpvm-guestsvn']}")
        self.log.info(f"SNP Microcode SVN: {claims['x-ms-sevsnpvm-microcode-svn']}")
        self.log.info(f"SNP Firmware SVN: {claims['x-ms-sevsnpvm-snpfw-svn']}")
        self.log.info(f"SNP TEE SVN: {claims['x-ms-sevsnpvm-tee-svn']}")
        self.log.info(f"Report Data: {claims['x-ms-sevsnpvm-reportdata']}")
        self.log.info(f"User Claims Digest: {claims['x-ms-runtime']['user-data']}")
        self.log.info("Attested Platform Successfully!!")
    except Exception as e:
      raise AttestationProviderException(f'Exception while decoding jwt. Exception: {e}')