diff --git a/CryptoPkg/CryptoPkg.dec b/CryptoPkg/CryptoPkg.dec index 6fea2996faf..1cb6000fe59 100644 --- a/CryptoPkg/CryptoPkg.dec +++ b/CryptoPkg/CryptoPkg.dec @@ -56,10 +56,10 @@ # MU_CHANGE [BEGIN] # **************************************************************************** -# AUTOGENERATED BY CryptoPkg\Driver\Packaging\generate_cryptodriver.py +# AUTOGENERATED BY CryptoBinPkg\Driver\Packaging\generate_cryptodriver.py # AUTOGENED AS temp_crypto_pcd.inc.dec # DO NOT MODIFY -# GENERATED ON: 2023-10-23 09:04:42.693274 +# GENERATED ON: 2024-03-08 19:11:45.603035 [PcdsFixedAtBuild] # HMACSHA256 @@ -81,215 +81,215 @@ # PKCS gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs5HashPassword|FALSE|BOOLEAN|0x11 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs1v2Encrypt|FALSE|BOOLEAN|0x12 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaOaepEncrypt|FALSE|BOOLEAN|0xcc - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs1v2Decrypt|FALSE|BOOLEAN|0xcd - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaOaepDecrypt|FALSE|BOOLEAN|0xce - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7GetSigners|FALSE|BOOLEAN|0x13 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7FreeSigners|FALSE|BOOLEAN|0x14 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7GetCertificatesList|FALSE|BOOLEAN|0x15 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7Sign|FALSE|BOOLEAN|0x16 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7Verify|FALSE|BOOLEAN|0x17 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceVerifyEKUsInPkcs7Signature|FALSE|BOOLEAN|0x18 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7GetAttachedContent|FALSE|BOOLEAN|0x19 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAuthenticodeVerify|FALSE|BOOLEAN|0x1a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceImageTimestampVerify|FALSE|BOOLEAN|0x1b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs1v2Decrypt|FALSE|BOOLEAN|0x13 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7GetSigners|FALSE|BOOLEAN|0x14 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7FreeSigners|FALSE|BOOLEAN|0x15 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7GetCertificatesList|FALSE|BOOLEAN|0x16 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7Sign|FALSE|BOOLEAN|0x17 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7Verify|FALSE|BOOLEAN|0x18 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceVerifyEKUsInPkcs7Signature|FALSE|BOOLEAN|0x19 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServicePkcs7GetAttachedContent|FALSE|BOOLEAN|0x1a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAuthenticodeVerify|FALSE|BOOLEAN|0x1b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceImageTimestampVerify|FALSE|BOOLEAN|0x1c # DH - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhNew|FALSE|BOOLEAN|0x1c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhFree|FALSE|BOOLEAN|0x1d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhGenerateParameter|FALSE|BOOLEAN|0x1e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhSetParameter|FALSE|BOOLEAN|0x1f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhGenerateKey|FALSE|BOOLEAN|0x20 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhComputeKey|FALSE|BOOLEAN|0x21 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhNew|FALSE|BOOLEAN|0x1d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhFree|FALSE|BOOLEAN|0x1e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhGenerateParameter|FALSE|BOOLEAN|0x1f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhSetParameter|FALSE|BOOLEAN|0x20 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhGenerateKey|FALSE|BOOLEAN|0x21 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceDhComputeKey|FALSE|BOOLEAN|0x22 # RANDOM - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRandomSeed|FALSE|BOOLEAN|0x22 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRandomBytes|FALSE|BOOLEAN|0x23 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRandomSeed|FALSE|BOOLEAN|0x23 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRandomBytes|FALSE|BOOLEAN|0x24 # RSA - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaNew|FALSE|BOOLEAN|0x24 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaFree|FALSE|BOOLEAN|0x25 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaSetKey|FALSE|BOOLEAN|0x26 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGetKey|FALSE|BOOLEAN|0x27 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGenerateKey|FALSE|BOOLEAN|0x28 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaCheckKey|FALSE|BOOLEAN|0x29 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPkcs1Sign|FALSE|BOOLEAN|0x2a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPkcs1Verify|FALSE|BOOLEAN|0x2b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPssSign|FALSE|BOOLEAN|0x2c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPssVerify|FALSE|BOOLEAN|0x2d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGetPrivateKeyFromPem|FALSE|BOOLEAN|0x2e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGetPublicKeyFromX509|FALSE|BOOLEAN|0x2f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaNew|FALSE|BOOLEAN|0x25 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaFree|FALSE|BOOLEAN|0x26 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaSetKey|FALSE|BOOLEAN|0x27 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGetKey|FALSE|BOOLEAN|0x28 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGenerateKey|FALSE|BOOLEAN|0x29 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaCheckKey|FALSE|BOOLEAN|0x2a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPkcs1Sign|FALSE|BOOLEAN|0x2b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPkcs1Verify|FALSE|BOOLEAN|0x2c + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPssSign|FALSE|BOOLEAN|0x2d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaPssVerify|FALSE|BOOLEAN|0x2e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGetPrivateKeyFromPem|FALSE|BOOLEAN|0x2f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaGetPublicKeyFromX509|FALSE|BOOLEAN|0x30 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaOaepEncrypt|FALSE|BOOLEAN|0x31 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceRsaOaepDecrypt|FALSE|BOOLEAN|0x32 # SHA1 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1GetContextSize|FALSE|BOOLEAN|0x30 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Init|FALSE|BOOLEAN|0x31 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Duplicate|FALSE|BOOLEAN|0x32 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Update|FALSE|BOOLEAN|0x33 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Final|FALSE|BOOLEAN|0x34 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1HashAll|FALSE|BOOLEAN|0x35 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1GetContextSize|FALSE|BOOLEAN|0x33 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Init|FALSE|BOOLEAN|0x34 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Duplicate|FALSE|BOOLEAN|0x35 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Update|FALSE|BOOLEAN|0x36 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1Final|FALSE|BOOLEAN|0x37 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha1HashAll|FALSE|BOOLEAN|0x38 # SHA256 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256GetContextSize|FALSE|BOOLEAN|0x36 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Init|FALSE|BOOLEAN|0x37 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Duplicate|FALSE|BOOLEAN|0x38 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Update|FALSE|BOOLEAN|0x39 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Final|FALSE|BOOLEAN|0x3a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256HashAll|FALSE|BOOLEAN|0x3b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256GetContextSize|FALSE|BOOLEAN|0x39 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Init|FALSE|BOOLEAN|0x3a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Duplicate|FALSE|BOOLEAN|0x3b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Update|FALSE|BOOLEAN|0x3c + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256Final|FALSE|BOOLEAN|0x3d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha256HashAll|FALSE|BOOLEAN|0x3e # SHA384 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384GetContextSize|FALSE|BOOLEAN|0x3c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Init|FALSE|BOOLEAN|0x3d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Duplicate|FALSE|BOOLEAN|0x3e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Update|FALSE|BOOLEAN|0x3f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Final|FALSE|BOOLEAN|0x40 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384HashAll|FALSE|BOOLEAN|0x41 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384GetContextSize|FALSE|BOOLEAN|0x3f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Init|FALSE|BOOLEAN|0x40 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Duplicate|FALSE|BOOLEAN|0x41 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Update|FALSE|BOOLEAN|0x42 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384Final|FALSE|BOOLEAN|0x43 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha384HashAll|FALSE|BOOLEAN|0x44 # SHA512 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512GetContextSize|FALSE|BOOLEAN|0x42 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Init|FALSE|BOOLEAN|0x43 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Duplicate|FALSE|BOOLEAN|0x44 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Update|FALSE|BOOLEAN|0x45 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Final|FALSE|BOOLEAN|0x46 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512HashAll|FALSE|BOOLEAN|0x47 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512GetContextSize|FALSE|BOOLEAN|0x45 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Init|FALSE|BOOLEAN|0x46 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Duplicate|FALSE|BOOLEAN|0x47 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Update|FALSE|BOOLEAN|0x48 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512Final|FALSE|BOOLEAN|0x49 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSha512HashAll|FALSE|BOOLEAN|0x4a # PARALLELHASH256 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceParallelHash256HashAll|FALSE|BOOLEAN|0x48 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceParallelHash256HashAll|FALSE|BOOLEAN|0x4b # AEADAESGCM - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAeadAesGcmEncrypt|FALSE|BOOLEAN|0x49 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAeadAesGcmDecrypt|FALSE|BOOLEAN|0x4a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAeadAesGcmEncrypt|FALSE|BOOLEAN|0x4c + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAeadAesGcmDecrypt|FALSE|BOOLEAN|0x4d # X509 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetSubjectName|FALSE|BOOLEAN|0x4b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetCommonName|FALSE|BOOLEAN|0x4c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetOrganizationName|FALSE|BOOLEAN|0x4d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509VerifyCert|FALSE|BOOLEAN|0x4e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509ConstructCertificate|FALSE|BOOLEAN|0x4f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509ConstructCertificateStackV|FALSE|BOOLEAN|0x50 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509ConstructCertificateStack|FALSE|BOOLEAN|0x51 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509Free|FALSE|BOOLEAN|0x52 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509StackFree|FALSE|BOOLEAN|0x53 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetTBSCert|FALSE|BOOLEAN|0x54 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetVersion|FALSE|BOOLEAN|0x55 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetSerialNumber|FALSE|BOOLEAN|0x56 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetIssuerName|FALSE|BOOLEAN|0x57 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetSignatureAlgorithm|FALSE|BOOLEAN|0x58 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetExtensionData|FALSE|BOOLEAN|0x59 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetValidity|FALSE|BOOLEAN|0x5a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509FormatDateTime|FALSE|BOOLEAN|0x5b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetKeyUsage|FALSE|BOOLEAN|0x5c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetExtendedKeyUsage|FALSE|BOOLEAN|0x5d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509VerifyCertChain|FALSE|BOOLEAN|0x5e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetCertFromCertChain|FALSE|BOOLEAN|0x5f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetExtendedBasicConstraints|FALSE|BOOLEAN|0x60 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetSubjectName|FALSE|BOOLEAN|0x4e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetCommonName|FALSE|BOOLEAN|0x4f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetOrganizationName|FALSE|BOOLEAN|0x50 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509VerifyCert|FALSE|BOOLEAN|0x51 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509ConstructCertificate|FALSE|BOOLEAN|0x52 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509ConstructCertificateStackV|FALSE|BOOLEAN|0x53 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509ConstructCertificateStack|FALSE|BOOLEAN|0x54 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509Free|FALSE|BOOLEAN|0x55 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509StackFree|FALSE|BOOLEAN|0x56 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetTBSCert|FALSE|BOOLEAN|0x57 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetVersion|FALSE|BOOLEAN|0x58 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetSerialNumber|FALSE|BOOLEAN|0x59 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetIssuerName|FALSE|BOOLEAN|0x5a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetSignatureAlgorithm|FALSE|BOOLEAN|0x5b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetExtensionData|FALSE|BOOLEAN|0x5c + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetValidity|FALSE|BOOLEAN|0x5d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509FormatDateTime|FALSE|BOOLEAN|0x5e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetKeyUsage|FALSE|BOOLEAN|0x5f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetExtendedKeyUsage|FALSE|BOOLEAN|0x60 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509VerifyCertChain|FALSE|BOOLEAN|0x61 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetCertFromCertChain|FALSE|BOOLEAN|0x62 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceX509GetExtendedBasicConstraints|FALSE|BOOLEAN|0x63 # ASN1 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAsn1GetTag|FALSE|BOOLEAN|0x61 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAsn1GetTag|FALSE|BOOLEAN|0x64 # BIGNUM - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumInit|FALSE|BOOLEAN|0x62 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumFromBin|FALSE|BOOLEAN|0x63 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumToBin|FALSE|BOOLEAN|0x64 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumFree|FALSE|BOOLEAN|0x65 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumAdd|FALSE|BOOLEAN|0x66 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumSub|FALSE|BOOLEAN|0x67 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumMod|FALSE|BOOLEAN|0x68 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumExpMod|FALSE|BOOLEAN|0x69 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumInverseMod|FALSE|BOOLEAN|0x6a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumDiv|FALSE|BOOLEAN|0x6b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumMulMod|FALSE|BOOLEAN|0x6c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumCmp|FALSE|BOOLEAN|0x6d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumBits|FALSE|BOOLEAN|0x6e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumBytes|FALSE|BOOLEAN|0x6f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumIsWord|FALSE|BOOLEAN|0x70 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumIsOdd|FALSE|BOOLEAN|0x71 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumCopy|FALSE|BOOLEAN|0x72 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumRShift|FALSE|BOOLEAN|0x73 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumConstTime|FALSE|BOOLEAN|0x74 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumSqrMod|FALSE|BOOLEAN|0x75 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumNewContext|FALSE|BOOLEAN|0x76 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumContextFree|FALSE|BOOLEAN|0x77 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumSetUint|FALSE|BOOLEAN|0x78 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumAddMod|FALSE|BOOLEAN|0x79 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumInit|FALSE|BOOLEAN|0x65 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumFromBin|FALSE|BOOLEAN|0x66 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumToBin|FALSE|BOOLEAN|0x67 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumFree|FALSE|BOOLEAN|0x68 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumAdd|FALSE|BOOLEAN|0x69 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumSub|FALSE|BOOLEAN|0x6a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumMod|FALSE|BOOLEAN|0x6b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumExpMod|FALSE|BOOLEAN|0x6c + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumInverseMod|FALSE|BOOLEAN|0x6d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumDiv|FALSE|BOOLEAN|0x6e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumMulMod|FALSE|BOOLEAN|0x6f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumCmp|FALSE|BOOLEAN|0x70 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumBits|FALSE|BOOLEAN|0x71 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumBytes|FALSE|BOOLEAN|0x72 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumIsWord|FALSE|BOOLEAN|0x73 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumIsOdd|FALSE|BOOLEAN|0x74 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumCopy|FALSE|BOOLEAN|0x75 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumRShift|FALSE|BOOLEAN|0x76 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumConstTime|FALSE|BOOLEAN|0x77 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumSqrMod|FALSE|BOOLEAN|0x78 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumNewContext|FALSE|BOOLEAN|0x79 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumContextFree|FALSE|BOOLEAN|0x7a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumSetUint|FALSE|BOOLEAN|0x7b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceBigNumAddMod|FALSE|BOOLEAN|0x7c # TDES # AES - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesGetContextSize|FALSE|BOOLEAN|0x7a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesInit|FALSE|BOOLEAN|0x7b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesCbcEncrypt|FALSE|BOOLEAN|0x7c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesCbcDecrypt|FALSE|BOOLEAN|0x7d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesGetContextSize|FALSE|BOOLEAN|0x7d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesInit|FALSE|BOOLEAN|0x7e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesCbcEncrypt|FALSE|BOOLEAN|0x7f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceAesCbcDecrypt|FALSE|BOOLEAN|0x80 # ARC4 # SM3 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3GetContextSize|FALSE|BOOLEAN|0x7e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Init|FALSE|BOOLEAN|0x7f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Duplicate|FALSE|BOOLEAN|0x80 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Update|FALSE|BOOLEAN|0x81 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Final|FALSE|BOOLEAN|0x82 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3HashAll|FALSE|BOOLEAN|0x83 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3GetContextSize|FALSE|BOOLEAN|0x81 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Init|FALSE|BOOLEAN|0x82 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Duplicate|FALSE|BOOLEAN|0x83 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Update|FALSE|BOOLEAN|0x84 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3Final|FALSE|BOOLEAN|0x85 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceSm3HashAll|FALSE|BOOLEAN|0x86 # HKDF - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha256ExtractAndExpand|FALSE|BOOLEAN|0x84 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha256Extract|FALSE|BOOLEAN|0x85 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha256Expand|FALSE|BOOLEAN|0x86 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha384ExtractAndExpand|FALSE|BOOLEAN|0x87 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha384Extract|FALSE|BOOLEAN|0x88 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha384Expand|FALSE|BOOLEAN|0x89 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha256ExtractAndExpand|FALSE|BOOLEAN|0x87 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha256Extract|FALSE|BOOLEAN|0x88 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha256Expand|FALSE|BOOLEAN|0x89 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha384ExtractAndExpand|FALSE|BOOLEAN|0x8a + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha384Extract|FALSE|BOOLEAN|0x8b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceHkdfSha384Expand|FALSE|BOOLEAN|0x8c # TLS - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsInitialize|FALSE|BOOLEAN|0x8a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtxFree|FALSE|BOOLEAN|0x8b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtxNew|FALSE|BOOLEAN|0x8c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsFree|FALSE|BOOLEAN|0x8d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsNew|FALSE|BOOLEAN|0x8e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsInHandshake|FALSE|BOOLEAN|0x8f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsDoHandshake|FALSE|BOOLEAN|0x90 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsHandleAlert|FALSE|BOOLEAN|0x91 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCloseNotify|FALSE|BOOLEAN|0x92 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtrlTrafficOut|FALSE|BOOLEAN|0x93 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtrlTrafficIn|FALSE|BOOLEAN|0x94 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsRead|FALSE|BOOLEAN|0x95 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsWrite|FALSE|BOOLEAN|0x96 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsShutdown|FALSE|BOOLEAN|0x97 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsInitialize|FALSE|BOOLEAN|0x8d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtxFree|FALSE|BOOLEAN|0x8e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtxNew|FALSE|BOOLEAN|0x8f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsFree|FALSE|BOOLEAN|0x90 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsNew|FALSE|BOOLEAN|0x91 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsInHandshake|FALSE|BOOLEAN|0x92 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsDoHandshake|FALSE|BOOLEAN|0x93 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsHandleAlert|FALSE|BOOLEAN|0x94 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCloseNotify|FALSE|BOOLEAN|0x95 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtrlTrafficOut|FALSE|BOOLEAN|0x96 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsCtrlTrafficIn|FALSE|BOOLEAN|0x97 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsRead|FALSE|BOOLEAN|0x98 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsWrite|FALSE|BOOLEAN|0x99 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsShutdown|FALSE|BOOLEAN|0x9a # TLSSET - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetVersion|FALSE|BOOLEAN|0x98 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetConnectionEnd|FALSE|BOOLEAN|0x99 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCipherList|FALSE|BOOLEAN|0x9a - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCompressionMethod|FALSE|BOOLEAN|0x9b - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetVerify|FALSE|BOOLEAN|0x9c - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetVerifyHost|FALSE|BOOLEAN|0x9d - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetSessionId|FALSE|BOOLEAN|0x9e - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCaCertificate|FALSE|BOOLEAN|0x9f - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetHostPublicCert|FALSE|BOOLEAN|0xa0 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetHostPrivateKeyEx|FALSE|BOOLEAN|0xa1 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetHostPrivateKey|FALSE|BOOLEAN|0xa2 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCertRevocationList|FALSE|BOOLEAN|0xa3 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetSignatureAlgoList|FALSE|BOOLEAN|0xa4 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetEcCurve|FALSE|BOOLEAN|0xa5 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetVersion|FALSE|BOOLEAN|0x9b + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetConnectionEnd|FALSE|BOOLEAN|0x9c + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCipherList|FALSE|BOOLEAN|0x9d + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCompressionMethod|FALSE|BOOLEAN|0x9e + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetVerify|FALSE|BOOLEAN|0x9f + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetVerifyHost|FALSE|BOOLEAN|0xa0 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetSessionId|FALSE|BOOLEAN|0xa1 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCaCertificate|FALSE|BOOLEAN|0xa2 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetHostPublicCert|FALSE|BOOLEAN|0xa3 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetHostPrivateKeyEx|FALSE|BOOLEAN|0xa4 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetHostPrivateKey|FALSE|BOOLEAN|0xa5 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetCertRevocationList|FALSE|BOOLEAN|0xa6 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetSignatureAlgoList|FALSE|BOOLEAN|0xa7 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsSetEcCurve|FALSE|BOOLEAN|0xa8 # TLSGET - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetVersion|FALSE|BOOLEAN|0xa6 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetConnectionEnd|FALSE|BOOLEAN|0xa7 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCurrentCipher|FALSE|BOOLEAN|0xa8 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCurrentCompressionId|FALSE|BOOLEAN|0xa9 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetVerify|FALSE|BOOLEAN|0xaa - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetSessionId|FALSE|BOOLEAN|0xab - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetClientRandom|FALSE|BOOLEAN|0xac - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetServerRandom|FALSE|BOOLEAN|0xad - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetKeyMaterial|FALSE|BOOLEAN|0xae - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCaCertificate|FALSE|BOOLEAN|0xaf - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetHostPublicCert|FALSE|BOOLEAN|0xb0 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetHostPrivateKey|FALSE|BOOLEAN|0xb1 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCertRevocationList|FALSE|BOOLEAN|0xb2 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetExportKey|FALSE|BOOLEAN|0xb3 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetVersion|FALSE|BOOLEAN|0xa9 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetConnectionEnd|FALSE|BOOLEAN|0xaa + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCurrentCipher|FALSE|BOOLEAN|0xab + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCurrentCompressionId|FALSE|BOOLEAN|0xac + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetVerify|FALSE|BOOLEAN|0xad + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetSessionId|FALSE|BOOLEAN|0xae + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetClientRandom|FALSE|BOOLEAN|0xaf + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetServerRandom|FALSE|BOOLEAN|0xb0 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetKeyMaterial|FALSE|BOOLEAN|0xb1 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCaCertificate|FALSE|BOOLEAN|0xb2 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetHostPublicCert|FALSE|BOOLEAN|0xb3 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetHostPrivateKey|FALSE|BOOLEAN|0xb4 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetCertRevocationList|FALSE|BOOLEAN|0xb5 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceTlsGetExportKey|FALSE|BOOLEAN|0xb6 # EC - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupInit|FALSE|BOOLEAN|0xb4 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupGetCurve|FALSE|BOOLEAN|0xb5 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupGetOrder|FALSE|BOOLEAN|0xb6 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupFree|FALSE|BOOLEAN|0xb7 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointInit|FALSE|BOOLEAN|0xb8 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointDeInit|FALSE|BOOLEAN|0xb9 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointGetAffineCoordinates|FALSE|BOOLEAN|0xba - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointSetAffineCoordinates|FALSE|BOOLEAN|0xbb - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointAdd|FALSE|BOOLEAN|0xbc - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointMul|FALSE|BOOLEAN|0xbd - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointInvert|FALSE|BOOLEAN|0xbe - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointIsOnCurve|FALSE|BOOLEAN|0xbf - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointIsAtInfinity|FALSE|BOOLEAN|0xc0 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointEqual|FALSE|BOOLEAN|0xc1 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointSetCompressedCoordinates|FALSE|BOOLEAN|0xc2 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcNewByNid|FALSE|BOOLEAN|0xc3 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcFree|FALSE|BOOLEAN|0xc4 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGenerateKey|FALSE|BOOLEAN|0xc5 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGetPubKey|FALSE|BOOLEAN|0xc6 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcDhComputeKey|FALSE|BOOLEAN|0xc7 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGetPrivateKeyFromPem|FALSE|BOOLEAN|0xc8 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGetPublicKeyFromX509|FALSE|BOOLEAN|0xc9 - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcDsaSign|FALSE|BOOLEAN|0xca - gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcDsaVerify|FALSE|BOOLEAN|0xcb + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupInit|FALSE|BOOLEAN|0xb7 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupGetCurve|FALSE|BOOLEAN|0xb8 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupGetOrder|FALSE|BOOLEAN|0xb9 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGroupFree|FALSE|BOOLEAN|0xba + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointInit|FALSE|BOOLEAN|0xbb + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointDeInit|FALSE|BOOLEAN|0xbc + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointGetAffineCoordinates|FALSE|BOOLEAN|0xbd + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointSetAffineCoordinates|FALSE|BOOLEAN|0xbe + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointAdd|FALSE|BOOLEAN|0xbf + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointMul|FALSE|BOOLEAN|0xc0 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointInvert|FALSE|BOOLEAN|0xc1 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointIsOnCurve|FALSE|BOOLEAN|0xc2 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointIsAtInfinity|FALSE|BOOLEAN|0xc3 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointEqual|FALSE|BOOLEAN|0xc4 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcPointSetCompressedCoordinates|FALSE|BOOLEAN|0xc5 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcNewByNid|FALSE|BOOLEAN|0xc6 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcFree|FALSE|BOOLEAN|0xc7 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGenerateKey|FALSE|BOOLEAN|0xc8 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGetPubKey|FALSE|BOOLEAN|0xc9 + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcDhComputeKey|FALSE|BOOLEAN|0xca + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGetPrivateKeyFromPem|FALSE|BOOLEAN|0xcb + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcGetPublicKeyFromX509|FALSE|BOOLEAN|0xcc + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcDsaSign|FALSE|BOOLEAN|0xcd + gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceEcDsaVerify|FALSE|BOOLEAN|0xce # AUTOGEN ENDS # **************************************************************************** # MU_CHANGE [END] diff --git a/CryptoPkg/Include/Protocol/Crypto.h b/CryptoPkg/Include/Protocol/Crypto.h index 12ea79e88b0..31c5decff2a 100644 --- a/CryptoPkg/Include/Protocol/Crypto.h +++ b/CryptoPkg/Include/Protocol/Crypto.h @@ -20,7 +20,7 @@ /// the EDK II Crypto Protocol is extended, this version define must be /// increased. /// -#define EDKII_CRYPTO_VERSION 16 // MU_CHANGE +#define EDKII_CRYPTO_VERSION 17 // MU_CHANGE /// /// EDK II Crypto Protocol forward declaration @@ -41,10 +41,10 @@ UINTN // MU_CHANGE [BEGIN] // **************************************************************************** -// AUTOGENERATED BY CryptoPkg\Driver\Packaging\generate_cryptodriver.py +// AUTOGENERATED BY CryptoBinPkg\Driver\Packaging\generate_cryptodriver.py // AUTOGENED AS temp_Crypto.h // DO NOT MODIFY -// GENERATED ON: 2024-01-30 22:20:49.549918 +// GENERATED ON: 2024-03-08 19:11:45.573512 // ============================================================================= // HMACSHA256 functions @@ -410,6 +410,35 @@ BOOLEAN OUT UINTN *EncryptedDataSize ); +/** + Decrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the + decrypted message in a newly allocated buffer. + Things that can cause a failure include: + - Fail to parse private key. + - Fail to allocate an intermediate buffer. + - Null pointer provided for a non-optional parameter. + @param[in] PrivateKey A pointer to the DER-encoded private key. + @param[in] PrivateKeySize Size of the private key buffer. + @param[in] EncryptedData Data to be decrypted. + @param[in] EncryptedDataSize Size of the encrypted buffer. + @param[out] OutData Pointer to an allocated buffer containing the encrypted + message. + @param[out] OutDataSize Size of the encrypted message buffer. + @retval TRUE Encryption was successful. + @retval FALSE Encryption failed. +**/ +// FROM BaseCryptLib.h:2211 +typedef +BOOLEAN +(EFIAPI *EDKII_CRYPTO_PKCS1V2_DECRYPT)( + IN CONST UINT8 *PrivateKey, + IN UINTN PrivateKeySize, + IN UINT8 *EncryptedData, + IN UINTN EncryptedDataSize, + OUT UINT8 **OutData, + OUT UINTN *OutDataSize + ); + /** Get the signer's certificates from PKCS#7 signed data as described in "PKCS #7: Cryptographic Message Syntax Standard". The input signed data could be wrapped @@ -432,7 +461,7 @@ BOOLEAN @retval FALSE Error occurs during the operation. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2207 +// FROM BaseCryptLib.h:2309 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_PKCS7_GET_SIGNERS)( @@ -449,7 +478,7 @@ BOOLEAN If this interface is not supported, then ASSERT(). @param[in] Certs Pointer to the certificates to be freed. **/ -// FROM BaseCryptLib.h:2226 +// FROM BaseCryptLib.h:2328 typedef VOID (EFIAPI *EDKII_CRYPTO_PKCS7_FREE_SIGNERS)( @@ -475,7 +504,7 @@ VOID @retval TRUE The operation is finished successfully. @retval FALSE Error occurs during the operation. **/ -// FROM BaseCryptLib.h:2254 +// FROM BaseCryptLib.h:2356 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_PKCS7_GET_CERTIFICATES_LIST)( @@ -511,7 +540,7 @@ BOOLEAN @retval FALSE PKCS#7 data signing failed. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2293 +// FROM BaseCryptLib.h:2395 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_PKCS7_SIGN)( @@ -545,7 +574,7 @@ BOOLEAN @retval FALSE Invalid PKCS#7 signed data. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2332 +// FROM BaseCryptLib.h:2434 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_PKCS7_VERIFY)( @@ -585,7 +614,7 @@ BOOLEAN @retval EFI_INVALID_PARAMETER A parameter was invalid. @retval EFI_NOT_FOUND One or more EKU's were not found in the signature. **/ -// FROM BaseCryptLib.h:2375 +// FROM BaseCryptLib.h:2477 typedef RETURN_STATUS (EFIAPI *EDKII_CRYPTO_VERIFY_EKUS_IN_PKCS7_SIGNATURE)( @@ -611,7 +640,7 @@ RETURN_STATUS @retval TRUE The P7Data was correctly formatted for processing. @retval FALSE The P7Data was not correctly formatted for processing. **/ -// FROM BaseCryptLib.h:2405 +// FROM BaseCryptLib.h:2507 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_PKCS7_GET_ATTACHED_CONTENT)( @@ -641,7 +670,7 @@ BOOLEAN @retval FALSE Invalid Authenticode Signature. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2438 +// FROM BaseCryptLib.h:2540 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_AUTHENTICODE_VERIFY)( @@ -669,7 +698,7 @@ BOOLEAN @retval TRUE The specified Authenticode includes a valid RFC3161 Timestamp CounterSignature. @retval FALSE No valid RFC3161 Timestamp CounterSignature in the specified Authenticode data. **/ -// FROM BaseCryptLib.h:2469 +// FROM BaseCryptLib.h:2571 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_IMAGE_TIMESTAMP_VERIFY)( @@ -690,7 +719,7 @@ BOOLEAN If the allocations fails, DhNew() returns NULL. If the interface is not supported, DhNew() returns NULL. **/ -// FROM BaseCryptLib.h:2865 +// FROM BaseCryptLib.h:2967 typedef VOID * (EFIAPI *EDKII_CRYPTO_DH_NEW)( @@ -702,7 +731,7 @@ VOID * If the interface is not supported, then ASSERT(). @param[in] DhContext Pointer to the DH context to be released. **/ -// FROM BaseCryptLib.h:2879 +// FROM BaseCryptLib.h:2981 typedef VOID (EFIAPI *EDKII_CRYPTO_DH_FREE)( @@ -727,7 +756,7 @@ VOID @retval FALSE PRNG fails to generate random prime number with PrimeLength. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2909 +// FROM BaseCryptLib.h:3011 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_DH_GENERATE_PARAMETER)( @@ -755,7 +784,7 @@ BOOLEAN @retval FALSE Value of Prime is not a safe prime number. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2941 +// FROM BaseCryptLib.h:3043 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_DH_SET_PARAMETER)( @@ -784,7 +813,7 @@ BOOLEAN @retval FALSE PublicKeySize is not large enough. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2974 +// FROM BaseCryptLib.h:3076 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_DH_GENERATE_KEY)( @@ -814,7 +843,7 @@ BOOLEAN @retval FALSE KeySize is not large enough. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:3008 +// FROM BaseCryptLib.h:3110 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_DH_COMPUTE_KEY)( @@ -843,7 +872,7 @@ BOOLEAN @retval FALSE Pseudorandom number generator does not have enough entropy for random generation. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:3040 +// FROM BaseCryptLib.h:3142 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_RANDOM_SEED)( @@ -861,7 +890,7 @@ BOOLEAN @retval FALSE Pseudorandom number generator fails to generate due to lack of entropy. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:3061 +// FROM BaseCryptLib.h:3163 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_RANDOM_BYTES)( @@ -1182,6 +1211,70 @@ BOOLEAN OUT VOID **RsaContext ); +/** + Encrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the + encrypted message in a newly allocated buffer. + Things that can cause a failure include: + - X509 key size does not match any known key size. + - Fail to allocate an intermediate buffer. + - Null pointer provided for a non-optional parameter. + - Data size is too large for the provided key size (max size is a function of key size + and hash digest size). + @param[in] RsaContext A pointer to an RSA context created by RsaNew() and + provisioned with a public key using RsaSetKey(). + @param[in] InData Data to be encrypted. + @param[in] InDataSize Size of the data buffer. + @param[in] PrngSeed [Optional] If provided, a pointer to a random seed buffer + to be used when initializing the PRNG. NULL otherwise. + @param[in] PrngSeedSize [Optional] If provided, size of the random seed buffer. + 0 otherwise. + @param[out] EncryptedData Pointer to an allocated buffer containing the encrypted + message. + @param[out] EncryptedDataSize Size of the encrypted message buffer. + @retval TRUE Encryption was successful. + @retval FALSE Encryption failed. +**/ +// FROM BaseCryptLib.h:2178 +typedef +BOOLEAN +(EFIAPI *EDKII_CRYPTO_RSA_OAEP_ENCRYPT)( + IN VOID *RsaContext, + IN UINT8 *InData, + IN UINTN InDataSize, + IN CONST UINT8 *PrngSeed OPTIONAL, + IN UINTN PrngSeedSize OPTIONAL, + OUT UINT8 **EncryptedData, + OUT UINTN *EncryptedDataSize + ); + +/** + Decrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the + decrypted message in a newly allocated buffer. + Things that can cause a failure include: + - Fail to parse private key. + - Fail to allocate an intermediate buffer. + - Null pointer provided for a non-optional parameter. + @param[in] RsaContext A pointer to an RSA context created by RsaNew() and + provisioned with a private key using RsaSetKey(). + @param[in] EncryptedData Data to be decrypted. + @param[in] EncryptedDataSize Size of the encrypted buffer. + @param[out] OutData Pointer to an allocated buffer containing the encrypted + message. + @param[out] OutDataSize Size of the encrypted message buffer. + @retval TRUE Encryption was successful. + @retval FALSE Encryption failed. +**/ +// FROM BaseCryptLib.h:2243 +typedef +BOOLEAN +(EFIAPI *EDKII_CRYPTO_RSA_OAEP_DECRYPT)( + IN VOID *RsaContext, + IN UINT8 *EncryptedData, + IN UINTN EncryptedDataSize, + OUT UINT8 **OutData, + OUT UINTN *OutDataSize + ); + // ============================================================================= // SHA1 functions // ============================================================================= @@ -2010,7 +2103,7 @@ BOOLEAN @retval FALSE If Cert is NULL or CertSize is Zero. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2495 +// FROM BaseCryptLib.h:2597 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_VERSION)( @@ -2039,7 +2132,7 @@ BOOLEAN SerialNumberSize parameter. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2526 +// FROM BaseCryptLib.h:2628 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_SERIAL_NUMBER)( @@ -2064,7 +2157,7 @@ BOOLEAN The CertIssuerSize will be updated with the required size. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2554 +// FROM BaseCryptLib.h:2656 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_ISSUER_NAME)( @@ -2090,7 +2183,7 @@ BOOLEAN is returned in the OidSize. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2581 +// FROM BaseCryptLib.h:2683 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_SIGNATURE_ALGORITHM)( @@ -2118,7 +2211,7 @@ BOOLEAN is returned in the ExtensionDataSize parameter. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2610 +// FROM BaseCryptLib.h:2712 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_EXTENSION_DATA)( @@ -2147,7 +2240,7 @@ BOOLEAN @retval FALSE Invalid certificate, or Validity retrieve failed. @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2642 +// FROM BaseCryptLib.h:2744 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_VALIDITY)( @@ -2179,7 +2272,7 @@ BOOLEAN DateTimeSize parameter. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2676 +// FROM BaseCryptLib.h:2778 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_FORMAT_DATE_TIME)( @@ -2197,7 +2290,7 @@ BOOLEAN @retval FALSE Invalid certificate, or Usage is NULL @retval FALSE This interface is not supported. **/ -// FROM BaseCryptLib.h:2718 +// FROM BaseCryptLib.h:2820 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_KEY_USAGE)( @@ -2221,7 +2314,7 @@ BOOLEAN is returned in the UsageSize parameter. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2743 +// FROM BaseCryptLib.h:2845 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_EXTENDED_KEY_USAGE)( @@ -2245,7 +2338,7 @@ BOOLEAN @retval FALSE Invalid certificate or the certificate was not issued by the given trusted CA. **/ -// FROM BaseCryptLib.h:2768 +// FROM BaseCryptLib.h:2870 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_VERIFY_CERT_CHAIN)( @@ -2270,7 +2363,7 @@ BOOLEAN @retval TRUE Success. @retval FALSE Failed to get certificate from certificate chain. **/ -// FROM BaseCryptLib.h:2796 +// FROM BaseCryptLib.h:2898 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_CERT_FROM_CERT_CHAIN)( @@ -2297,7 +2390,7 @@ BOOLEAN @retval FALSE If no Extension entry match oid. @retval FALSE The operation is not supported. **/ -// FROM BaseCryptLib.h:2844 +// FROM BaseCryptLib.h:2946 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_X509_GET_EXTENDED_BASIC_CONSTRAINTS)( @@ -2320,7 +2413,7 @@ BOOLEAN @retval TRUE Get tag successful @retval FALSe Failed to get tag or tag not match **/ -// FROM BaseCryptLib.h:2817 +// FROM BaseCryptLib.h:2919 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_ASN1_GET_TAG)( @@ -2338,7 +2431,7 @@ BOOLEAN Allocate new Big Number. @retval New BigNum opaque structure or NULL on failure. **/ -// FROM BaseCryptLib.h:3239 +// FROM BaseCryptLib.h:3341 typedef VOID * (EFIAPI *EDKII_CRYPTO_BIG_NUM_INIT)( @@ -2351,7 +2444,7 @@ VOID * @param[in] Len Buffer length. @retval New BigNum opaque structure or NULL on failure. **/ -// FROM BaseCryptLib.h:3253 +// FROM BaseCryptLib.h:3355 typedef VOID * (EFIAPI *EDKII_CRYPTO_BIG_NUM_FROM_BIN)( @@ -2366,7 +2459,7 @@ VOID * @param[out] Buf Output buffer. @retval The length of the big-endian number placed at Buf or -1 on error. **/ -// FROM BaseCryptLib.h:3269 +// FROM BaseCryptLib.h:3371 typedef INTN (EFIAPI *EDKII_CRYPTO_BIG_NUM_TO_BIN)( @@ -2379,7 +2472,7 @@ INTN @param[in] Bn Big number to free. @param[in] Clear TRUE if the buffer should be cleared. **/ -// FROM BaseCryptLib.h:3282 +// FROM BaseCryptLib.h:3384 typedef VOID (EFIAPI *EDKII_CRYPTO_BIG_NUM_FREE)( @@ -2397,7 +2490,7 @@ VOID @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3301 +// FROM BaseCryptLib.h:3403 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_ADD)( @@ -2416,7 +2509,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3321 +// FROM BaseCryptLib.h:3423 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_SUB)( @@ -2435,7 +2528,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3341 +// FROM BaseCryptLib.h:3443 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_MOD)( @@ -2455,7 +2548,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3362 +// FROM BaseCryptLib.h:3464 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_EXP_MOD)( @@ -2475,7 +2568,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3383 +// FROM BaseCryptLib.h:3485 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_INVERSE_MOD)( @@ -2494,7 +2587,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3403 +// FROM BaseCryptLib.h:3505 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_DIV)( @@ -2514,7 +2607,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3424 +// FROM BaseCryptLib.h:3526 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_MUL_MOD)( @@ -2532,7 +2625,7 @@ BOOLEAN @retval 1 BnA > BnB. @retval -1 BnA < BnB. **/ -// FROM BaseCryptLib.h:3443 +// FROM BaseCryptLib.h:3545 typedef INTN (EFIAPI *EDKII_CRYPTO_BIG_NUM_CMP)( @@ -2545,7 +2638,7 @@ INTN @param[in] Bn Big number. @retval Number of bits. **/ -// FROM BaseCryptLib.h:3458 +// FROM BaseCryptLib.h:3560 typedef UINTN (EFIAPI *EDKII_CRYPTO_BIG_NUM_BITS)( @@ -2557,7 +2650,7 @@ UINTN @param[in] Bn Big number. @retval Number of bytes. **/ -// FROM BaseCryptLib.h:3471 +// FROM BaseCryptLib.h:3573 typedef UINTN (EFIAPI *EDKII_CRYPTO_BIG_NUM_BYTES)( @@ -2571,7 +2664,7 @@ UINTN @retval TRUE iff Bn == Num. @retval FALSE otherwise. **/ -// FROM BaseCryptLib.h:3486 +// FROM BaseCryptLib.h:3588 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_IS_WORD)( @@ -2585,7 +2678,7 @@ BOOLEAN @retval TRUE Bn is odd (Bn % 2 == 1). @retval FALSE otherwise. **/ -// FROM BaseCryptLib.h:3501 +// FROM BaseCryptLib.h:3603 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_IS_ODD)( @@ -2599,7 +2692,7 @@ BOOLEAN @retval BnDst on success. @retval NULL otherwise. **/ -// FROM BaseCryptLib.h:3516 +// FROM BaseCryptLib.h:3618 typedef VOID * (EFIAPI *EDKII_CRYPTO_BIG_NUM_COPY)( @@ -2617,7 +2710,7 @@ VOID * @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3547 +// FROM BaseCryptLib.h:3649 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_RSHIFT)( @@ -2632,7 +2725,7 @@ BOOLEAN performed on the given Big number. @param[in] Bn Big number. **/ -// FROM BaseCryptLib.h:3562 +// FROM BaseCryptLib.h:3664 typedef VOID (EFIAPI *EDKII_CRYPTO_BIG_NUM_CONST_TIME)( @@ -2649,7 +2742,7 @@ VOID @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3580 +// FROM BaseCryptLib.h:3682 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_SQR_MOD)( @@ -2664,7 +2757,7 @@ BOOLEAN needed to optimize calculations and expensive allocations. @retval Big Number context struct or NULL on failure. **/ -// FROM BaseCryptLib.h:3595 +// FROM BaseCryptLib.h:3697 typedef VOID * (EFIAPI *EDKII_CRYPTO_BIG_NUM_NEW_CONTEXT)( @@ -2675,7 +2768,7 @@ VOID * Free Big Number context that was allocated with BigNumNewContext(). @param[in] BnCtx Big number context to free. **/ -// FROM BaseCryptLib.h:3606 +// FROM BaseCryptLib.h:3708 typedef VOID (EFIAPI *EDKII_CRYPTO_BIG_NUM_CONTEXT_FREE)( @@ -2689,7 +2782,7 @@ VOID @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3621 +// FROM BaseCryptLib.h:3723 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_SET_UINT)( @@ -2706,7 +2799,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3639 +// FROM BaseCryptLib.h:3741 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_BIG_NUM_ADD_MOD)( @@ -2968,7 +3061,7 @@ BOOLEAN @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// FROM BaseCryptLib.h:3088 +// FROM BaseCryptLib.h:3190 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_HKDF_SHA256_EXTRACT_AND_EXPAND)( @@ -2993,7 +3086,7 @@ BOOLEAN @retval true Hkdf generated successfully. @retval false Hkdf generation failed. **/ -// FROM BaseCryptLib.h:3115 +// FROM BaseCryptLib.h:3217 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_HKDF_SHA256_EXTRACT)( @@ -3016,7 +3109,7 @@ BOOLEAN @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// FROM BaseCryptLib.h:3140 +// FROM BaseCryptLib.h:3242 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_HKDF_SHA256_EXPAND)( @@ -3041,7 +3134,7 @@ BOOLEAN @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// FROM BaseCryptLib.h:3167 +// FROM BaseCryptLib.h:3269 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_HKDF_SHA384_EXTRACT_AND_EXPAND)( @@ -3066,7 +3159,7 @@ BOOLEAN @retval true Hkdf generated successfully. @retval false Hkdf generation failed. **/ -// FROM BaseCryptLib.h:3194 +// FROM BaseCryptLib.h:3296 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_HKDF_SHA384_EXTRACT)( @@ -3089,7 +3182,7 @@ BOOLEAN @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// FROM BaseCryptLib.h:3219 +// FROM BaseCryptLib.h:3321 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_HKDF_SHA384_EXPAND)( @@ -3932,7 +4025,7 @@ EFI_STATUS @retval EcGroup object On success. @retval NULL On failure. **/ -// FROM BaseCryptLib.h:3663 +// FROM BaseCryptLib.h:3765 typedef VOID * (EFIAPI *EDKII_CRYPTO_EC_GROUP_INIT)( @@ -3952,7 +4045,7 @@ VOID * @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3684 +// FROM BaseCryptLib.h:3786 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_GROUP_GET_CURVE)( @@ -3973,7 +4066,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3706 +// FROM BaseCryptLib.h:3808 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_GROUP_GET_ORDER)( @@ -3985,7 +4078,7 @@ BOOLEAN Free previously allocated EC group object using EcGroupInit(). @param[in] EcGroup EC group object to free. **/ -// FROM BaseCryptLib.h:3718 +// FROM BaseCryptLib.h:3820 typedef VOID (EFIAPI *EDKII_CRYPTO_EC_GROUP_FREE)( @@ -3999,7 +4092,7 @@ VOID @retval EC Point object On success. @retval NULL On failure. **/ -// FROM BaseCryptLib.h:3733 +// FROM BaseCryptLib.h:3835 typedef VOID * (EFIAPI *EDKII_CRYPTO_EC_POINT_INIT)( @@ -4011,7 +4104,7 @@ VOID * @param[in] EcPoint EC Point to free. @param[in] Clear TRUE iff the memory should be cleared. **/ -// FROM BaseCryptLib.h:3745 +// FROM BaseCryptLib.h:3847 typedef VOID (EFIAPI *EDKII_CRYPTO_EC_POINT_DE_INIT)( @@ -4032,7 +4125,7 @@ VOID @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3767 +// FROM BaseCryptLib.h:3869 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_GET_AFFINE_COORDINATES)( @@ -4053,7 +4146,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3789 +// FROM BaseCryptLib.h:3891 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_SET_AFFINE_COORDINATES)( @@ -4075,7 +4168,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3812 +// FROM BaseCryptLib.h:3914 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_ADD)( @@ -4097,7 +4190,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3835 +// FROM BaseCryptLib.h:3937 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_MUL)( @@ -4116,7 +4209,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3855 +// FROM BaseCryptLib.h:3957 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_INVERT)( @@ -4133,7 +4226,7 @@ BOOLEAN @retval TRUE On curve. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3873 +// FROM BaseCryptLib.h:3975 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_IS_ON_CURVE)( @@ -4149,7 +4242,7 @@ BOOLEAN @retval TRUE At infinity. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3890 +// FROM BaseCryptLib.h:3992 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_IS_AT_INFINITY)( @@ -4166,7 +4259,7 @@ BOOLEAN @retval TRUE A == B. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3908 +// FROM BaseCryptLib.h:4010 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_EQUAL)( @@ -4191,7 +4284,7 @@ BOOLEAN @retval TRUE On success. @retval FALSE Otherwise. **/ -// FROM BaseCryptLib.h:3934 +// FROM BaseCryptLib.h:4036 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_POINT_SET_COMPRESSED_COORDINATES)( @@ -4209,7 +4302,7 @@ BOOLEAN @return Pointer to the Elliptic Curve Context that has been initialized. If the allocations fails, EcNewByNid() returns NULL. **/ -// FROM BaseCryptLib.h:3956 +// FROM BaseCryptLib.h:4058 typedef VOID * (EFIAPI *EDKII_CRYPTO_EC_NEW_BY_NID)( @@ -4220,7 +4313,7 @@ VOID * Release the specified EC context. @param[in] EcContext Pointer to the EC context to be released. **/ -// FROM BaseCryptLib.h:3967 +// FROM BaseCryptLib.h:4069 typedef VOID (EFIAPI *EDKII_CRYPTO_EC_FREE)( @@ -4253,7 +4346,7 @@ VOID @retval FALSE EC public X,Y generation failed. @retval FALSE PublicKeySize is not large enough. **/ -// FROM BaseCryptLib.h:3999 +// FROM BaseCryptLib.h:4101 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_GENERATE_KEY)( @@ -4276,7 +4369,7 @@ BOOLEAN @retval TRUE EC key component was retrieved successfully. @retval FALSE Invalid EC key component. **/ -// FROM BaseCryptLib.h:4021 +// FROM BaseCryptLib.h:4123 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_GET_PUB_KEY)( @@ -4310,7 +4403,7 @@ BOOLEAN @retval FALSE EC exchanged key generation failed. @retval FALSE KeySize is not large enough. **/ -// FROM BaseCryptLib.h:4054 +// FROM BaseCryptLib.h:4156 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_DH_COMPUTE_KEY)( @@ -4335,7 +4428,7 @@ BOOLEAN @retval TRUE EC Private Key was retrieved successfully. @retval FALSE Invalid PEM key data or incorrect password. **/ -// FROM BaseCryptLib.h:4082 +// FROM BaseCryptLib.h:4184 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_GET_PRIVATE_KEY_FROM_PEM)( @@ -4357,7 +4450,7 @@ BOOLEAN @retval TRUE EC Public Key was retrieved successfully. @retval FALSE Fail to retrieve EC public key from X509 certificate. **/ -// FROM BaseCryptLib.h:4107 +// FROM BaseCryptLib.h:4209 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_GET_PUBLIC_KEY_FROM_X509)( @@ -4389,7 +4482,7 @@ BOOLEAN @retval FALSE Signature generation failed. @retval FALSE SigSize is too small. **/ -// FROM BaseCryptLib.h:4144 +// FROM BaseCryptLib.h:4246 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_DSA_SIGN)( @@ -4419,7 +4512,7 @@ BOOLEAN @retval TRUE Valid signature encoded in EC-DSA. @retval FALSE Invalid signature or invalid EC context. **/ -// FROM BaseCryptLib.h:4178 +// FROM BaseCryptLib.h:4280 typedef BOOLEAN (EFIAPI *EDKII_CRYPTO_EC_DSA_VERIFY)( @@ -4456,6 +4549,7 @@ struct _EDKII_CRYPTO_PROTOCOL { // PKCS EDKII_CRYPTO_PKCS5_HASH_PASSWORD Pkcs5HashPassword; EDKII_CRYPTO_PKCS1V2_ENCRYPT Pkcs1v2Encrypt; + EDKII_CRYPTO_PKCS1V2_DECRYPT Pkcs1v2Decrypt; EDKII_CRYPTO_PKCS7_GET_SIGNERS Pkcs7GetSigners; EDKII_CRYPTO_PKCS7_FREE_SIGNERS Pkcs7FreeSigners; EDKII_CRYPTO_PKCS7_GET_CERTIFICATES_LIST Pkcs7GetCertificatesList; @@ -4488,6 +4582,8 @@ struct _EDKII_CRYPTO_PROTOCOL { EDKII_CRYPTO_RSA_PSS_VERIFY RsaPssVerify; EDKII_CRYPTO_RSA_GET_PRIVATE_KEY_FROM_PEM RsaGetPrivateKeyFromPem; EDKII_CRYPTO_RSA_GET_PUBLIC_KEY_FROM_X509 RsaGetPublicKeyFromX509; + EDKII_CRYPTO_RSA_OAEP_ENCRYPT RsaOaepEncrypt; + EDKII_CRYPTO_RSA_OAEP_DECRYPT RsaOaepDecrypt; // SHA1 EDKII_CRYPTO_SHA1_GET_CONTEXT_SIZE Sha1GetContextSize; EDKII_CRYPTO_SHA1_INIT Sha1Init; diff --git a/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/CryptLib.c b/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/CryptLib.c index 9d832c53f24..43c62109dfb 100644 --- a/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/CryptLib.c +++ b/CryptoPkg/Library/BaseCryptLibOnProtocolPpi/CryptLib.c @@ -97,10 +97,10 @@ CryptoServiceNotAvailable ( // MU_CHANGE [BEGIN] // **************************************************************************** -// AUTOGENERATED BY CryptoPkg\Driver\Packaging\generate_cryptodriver.py +// AUTOGENERATED BY CryptoBinPkg\Driver\Packaging\generate_cryptodriver.py // AUTOGENED AS temp_CryptLib.c // DO NOT MODIFY -// GENERATED ON: 2024-01-30 22:20:49.610589 +// GENERATED ON: 2024-03-08 19:11:45.650770 // ============================================================================= // HMACSHA256 functions @@ -514,6 +514,38 @@ Pkcs1v2Encrypt ( CALL_CRYPTO_SERVICE (Pkcs1v2Encrypt, (PublicKey, PublicKeySize, InData, InDataSize, PrngSeed, PrngSeedSize, EncryptedData, EncryptedDataSize), FALSE); } +/** + Decrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the + decrypted message in a newly allocated buffer. + Things that can cause a failure include: + - Fail to parse private key. + - Fail to allocate an intermediate buffer. + - Null pointer provided for a non-optional parameter. + @param[in] PrivateKey A pointer to the DER-encoded private key. + @param[in] PrivateKeySize Size of the private key buffer. + @param[in] EncryptedData Data to be decrypted. + @param[in] EncryptedDataSize Size of the encrypted buffer. + @param[out] OutData Pointer to an allocated buffer containing the encrypted + message. + @param[out] OutDataSize Size of the encrypted message buffer. + @retval TRUE Encryption was successful. + @retval FALSE Encryption failed. +**/ +// See BaseCryptLib.h:2211 +BOOLEAN +EFIAPI +Pkcs1v2Decrypt ( + IN CONST UINT8 *PrivateKey, + IN UINTN PrivateKeySize, + IN UINT8 *EncryptedData, + IN UINTN EncryptedDataSize, + OUT UINT8 **OutData, + OUT UINTN *OutDataSize + ) +{ + CALL_CRYPTO_SERVICE (Pkcs1v2Decrypt, (PrivateKey, PrivateKeySize, EncryptedData, EncryptedDataSize, OutData, OutDataSize), FALSE); +} + /** Get the signer's certificates from PKCS#7 signed data as described in "PKCS #7: Cryptographic Message Syntax Standard". The input signed data could be wrapped @@ -536,7 +568,7 @@ Pkcs1v2Encrypt ( @retval FALSE Error occurs during the operation. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2207 +// See BaseCryptLib.h:2309 BOOLEAN EFIAPI Pkcs7GetSigners ( @@ -556,7 +588,7 @@ Pkcs7GetSigners ( If this interface is not supported, then ASSERT(). @param[in] Certs Pointer to the certificates to be freed. **/ -// See BaseCryptLib.h:2226 +// See BaseCryptLib.h:2328 VOID EFIAPI Pkcs7FreeSigners ( @@ -585,7 +617,7 @@ Pkcs7FreeSigners ( @retval TRUE The operation is finished successfully. @retval FALSE Error occurs during the operation. **/ -// See BaseCryptLib.h:2254 +// See BaseCryptLib.h:2356 BOOLEAN EFIAPI Pkcs7GetCertificatesList ( @@ -624,7 +656,7 @@ Pkcs7GetCertificatesList ( @retval FALSE PKCS#7 data signing failed. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2293 +// See BaseCryptLib.h:2395 BOOLEAN EFIAPI Pkcs7Sign ( @@ -661,7 +693,7 @@ Pkcs7Sign ( @retval FALSE Invalid PKCS#7 signed data. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2332 +// See BaseCryptLib.h:2434 BOOLEAN EFIAPI Pkcs7Verify ( @@ -704,7 +736,7 @@ Pkcs7Verify ( @retval EFI_INVALID_PARAMETER A parameter was invalid. @retval EFI_NOT_FOUND One or more EKU's were not found in the signature. **/ -// See BaseCryptLib.h:2375 +// See BaseCryptLib.h:2477 RETURN_STATUS EFIAPI VerifyEKUsInPkcs7Signature ( @@ -733,7 +765,7 @@ VerifyEKUsInPkcs7Signature ( @retval TRUE The P7Data was correctly formatted for processing. @retval FALSE The P7Data was not correctly formatted for processing. **/ -// See BaseCryptLib.h:2405 +// See BaseCryptLib.h:2507 BOOLEAN EFIAPI Pkcs7GetAttachedContent ( @@ -766,7 +798,7 @@ Pkcs7GetAttachedContent ( @retval FALSE Invalid Authenticode Signature. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2438 +// See BaseCryptLib.h:2540 BOOLEAN EFIAPI AuthenticodeVerify ( @@ -797,7 +829,7 @@ AuthenticodeVerify ( @retval TRUE The specified Authenticode includes a valid RFC3161 Timestamp CounterSignature. @retval FALSE No valid RFC3161 Timestamp CounterSignature in the specified Authenticode data. **/ -// See BaseCryptLib.h:2469 +// See BaseCryptLib.h:2571 BOOLEAN EFIAPI ImageTimestampVerify ( @@ -821,7 +853,7 @@ ImageTimestampVerify ( If the allocations fails, DhNew() returns NULL. If the interface is not supported, DhNew() returns NULL. **/ -// See BaseCryptLib.h:2865 +// See BaseCryptLib.h:2967 VOID * EFIAPI DhNew ( @@ -836,7 +868,7 @@ DhNew ( If the interface is not supported, then ASSERT(). @param[in] DhContext Pointer to the DH context to be released. **/ -// See BaseCryptLib.h:2879 +// See BaseCryptLib.h:2981 VOID EFIAPI DhFree ( @@ -864,7 +896,7 @@ DhFree ( @retval FALSE PRNG fails to generate random prime number with PrimeLength. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2909 +// See BaseCryptLib.h:3011 BOOLEAN EFIAPI DhGenerateParameter ( @@ -895,7 +927,7 @@ DhGenerateParameter ( @retval FALSE Value of Prime is not a safe prime number. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2941 +// See BaseCryptLib.h:3043 BOOLEAN EFIAPI DhSetParameter ( @@ -927,7 +959,7 @@ DhSetParameter ( @retval FALSE PublicKeySize is not large enough. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2974 +// See BaseCryptLib.h:3076 BOOLEAN EFIAPI DhGenerateKey ( @@ -960,7 +992,7 @@ DhGenerateKey ( @retval FALSE KeySize is not large enough. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:3008 +// See BaseCryptLib.h:3110 BOOLEAN EFIAPI DhComputeKey ( @@ -992,7 +1024,7 @@ DhComputeKey ( @retval FALSE Pseudorandom number generator does not have enough entropy for random generation. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:3040 +// See BaseCryptLib.h:3142 BOOLEAN EFIAPI RandomSeed ( @@ -1013,7 +1045,7 @@ RandomSeed ( @retval FALSE Pseudorandom number generator fails to generate due to lack of entropy. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:3061 +// See BaseCryptLib.h:3163 BOOLEAN EFIAPI RandomBytes ( @@ -1373,6 +1405,76 @@ RsaGetPublicKeyFromX509 ( CALL_CRYPTO_SERVICE (RsaGetPublicKeyFromX509, (Cert, CertSize, RsaContext), FALSE); } +/** + Encrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the + encrypted message in a newly allocated buffer. + Things that can cause a failure include: + - X509 key size does not match any known key size. + - Fail to allocate an intermediate buffer. + - Null pointer provided for a non-optional parameter. + - Data size is too large for the provided key size (max size is a function of key size + and hash digest size). + @param[in] RsaContext A pointer to an RSA context created by RsaNew() and + provisioned with a public key using RsaSetKey(). + @param[in] InData Data to be encrypted. + @param[in] InDataSize Size of the data buffer. + @param[in] PrngSeed [Optional] If provided, a pointer to a random seed buffer + to be used when initializing the PRNG. NULL otherwise. + @param[in] PrngSeedSize [Optional] If provided, size of the random seed buffer. + 0 otherwise. + @param[out] EncryptedData Pointer to an allocated buffer containing the encrypted + message. + @param[out] EncryptedDataSize Size of the encrypted message buffer. + @retval TRUE Encryption was successful. + @retval FALSE Encryption failed. +**/ +// See BaseCryptLib.h:2178 +BOOLEAN +EFIAPI +RsaOaepEncrypt ( + IN VOID *RsaContext, + IN UINT8 *InData, + IN UINTN InDataSize, + IN CONST UINT8 *PrngSeed OPTIONAL, + IN UINTN PrngSeedSize OPTIONAL, + OUT UINT8 **EncryptedData, + OUT UINTN *EncryptedDataSize + ) +{ + CALL_CRYPTO_SERVICE (RsaOaepEncrypt, (RsaContext, InData, InDataSize, PrngSeed, PrngSeedSize, EncryptedData, EncryptedDataSize), FALSE); +} + +/** + Decrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the + decrypted message in a newly allocated buffer. + Things that can cause a failure include: + - Fail to parse private key. + - Fail to allocate an intermediate buffer. + - Null pointer provided for a non-optional parameter. + @param[in] RsaContext A pointer to an RSA context created by RsaNew() and + provisioned with a private key using RsaSetKey(). + @param[in] EncryptedData Data to be decrypted. + @param[in] EncryptedDataSize Size of the encrypted buffer. + @param[out] OutData Pointer to an allocated buffer containing the encrypted + message. + @param[out] OutDataSize Size of the encrypted message buffer. + @retval TRUE Encryption was successful. + @retval FALSE Encryption failed. +**/ +// See BaseCryptLib.h:2243 +BOOLEAN +EFIAPI +RsaOaepDecrypt ( + IN VOID *RsaContext, + IN UINT8 *EncryptedData, + IN UINTN EncryptedDataSize, + OUT UINT8 **OutData, + OUT UINTN *OutDataSize + ) +{ + CALL_CRYPTO_SERVICE (RsaOaepDecrypt, (RsaContext, EncryptedData, EncryptedDataSize, OutData, OutDataSize), FALSE); +} + // ============================================================================= // SHA1 functions // ============================================================================= @@ -2318,7 +2420,7 @@ X509GetTBSCert ( @retval FALSE If Cert is NULL or CertSize is Zero. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2495 +// See BaseCryptLib.h:2597 BOOLEAN EFIAPI X509GetVersion ( @@ -2350,7 +2452,7 @@ X509GetVersion ( SerialNumberSize parameter. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2526 +// See BaseCryptLib.h:2628 BOOLEAN EFIAPI X509GetSerialNumber ( @@ -2378,7 +2480,7 @@ X509GetSerialNumber ( The CertIssuerSize will be updated with the required size. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2554 +// See BaseCryptLib.h:2656 BOOLEAN EFIAPI X509GetIssuerName ( @@ -2407,7 +2509,7 @@ X509GetIssuerName ( is returned in the OidSize. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2581 +// See BaseCryptLib.h:2683 BOOLEAN EFIAPI X509GetSignatureAlgorithm ( @@ -2438,7 +2540,7 @@ X509GetSignatureAlgorithm ( is returned in the ExtensionDataSize parameter. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2610 +// See BaseCryptLib.h:2712 BOOLEAN EFIAPI X509GetExtensionData ( @@ -2470,7 +2572,7 @@ X509GetExtensionData ( @retval FALSE Invalid certificate, or Validity retrieve failed. @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2642 +// See BaseCryptLib.h:2744 BOOLEAN EFIAPI X509GetValidity ( @@ -2505,7 +2607,7 @@ X509GetValidity ( DateTimeSize parameter. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2676 +// See BaseCryptLib.h:2778 BOOLEAN EFIAPI X509FormatDateTime ( @@ -2526,7 +2628,7 @@ X509FormatDateTime ( @retval FALSE Invalid certificate, or Usage is NULL @retval FALSE This interface is not supported. **/ -// See BaseCryptLib.h:2718 +// See BaseCryptLib.h:2820 BOOLEAN EFIAPI X509GetKeyUsage ( @@ -2553,7 +2655,7 @@ X509GetKeyUsage ( is returned in the UsageSize parameter. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2743 +// See BaseCryptLib.h:2845 BOOLEAN EFIAPI X509GetExtendedKeyUsage ( @@ -2580,7 +2682,7 @@ X509GetExtendedKeyUsage ( @retval FALSE Invalid certificate or the certificate was not issued by the given trusted CA. **/ -// See BaseCryptLib.h:2768 +// See BaseCryptLib.h:2870 BOOLEAN EFIAPI X509VerifyCertChain ( @@ -2608,7 +2710,7 @@ X509VerifyCertChain ( @retval TRUE Success. @retval FALSE Failed to get certificate from certificate chain. **/ -// See BaseCryptLib.h:2796 +// See BaseCryptLib.h:2898 BOOLEAN EFIAPI X509GetCertFromCertChain ( @@ -2638,7 +2740,7 @@ X509GetCertFromCertChain ( @retval FALSE If no Extension entry match oid. @retval FALSE The operation is not supported. **/ -// See BaseCryptLib.h:2844 +// See BaseCryptLib.h:2946 BOOLEAN EFIAPI X509GetExtendedBasicConstraints ( @@ -2664,7 +2766,7 @@ X509GetExtendedBasicConstraints ( @retval TRUE Get tag successful @retval FALSe Failed to get tag or tag not match **/ -// See BaseCryptLib.h:2817 +// See BaseCryptLib.h:2919 BOOLEAN EFIAPI Asn1GetTag ( @@ -2685,7 +2787,7 @@ Asn1GetTag ( Allocate new Big Number. @retval New BigNum opaque structure or NULL on failure. **/ -// See BaseCryptLib.h:3239 +// See BaseCryptLib.h:3341 VOID * EFIAPI BigNumInit ( @@ -2701,7 +2803,7 @@ BigNumInit ( @param[in] Len Buffer length. @retval New BigNum opaque structure or NULL on failure. **/ -// See BaseCryptLib.h:3253 +// See BaseCryptLib.h:3355 VOID * EFIAPI BigNumFromBin ( @@ -2719,7 +2821,7 @@ BigNumFromBin ( @param[out] Buf Output buffer. @retval The length of the big-endian number placed at Buf or -1 on error. **/ -// See BaseCryptLib.h:3269 +// See BaseCryptLib.h:3371 INTN EFIAPI BigNumToBin ( @@ -2735,7 +2837,7 @@ BigNumToBin ( @param[in] Bn Big number to free. @param[in] Clear TRUE if the buffer should be cleared. **/ -// See BaseCryptLib.h:3282 +// See BaseCryptLib.h:3384 VOID EFIAPI BigNumFree ( @@ -2756,7 +2858,7 @@ BigNumFree ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3301 +// See BaseCryptLib.h:3403 BOOLEAN EFIAPI BigNumAdd ( @@ -2778,7 +2880,7 @@ BigNumAdd ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3321 +// See BaseCryptLib.h:3423 BOOLEAN EFIAPI BigNumSub ( @@ -2800,7 +2902,7 @@ BigNumSub ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3341 +// See BaseCryptLib.h:3443 BOOLEAN EFIAPI BigNumMod ( @@ -2823,7 +2925,7 @@ BigNumMod ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3362 +// See BaseCryptLib.h:3464 BOOLEAN EFIAPI BigNumExpMod ( @@ -2846,7 +2948,7 @@ BigNumExpMod ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3383 +// See BaseCryptLib.h:3485 BOOLEAN EFIAPI BigNumInverseMod ( @@ -2868,7 +2970,7 @@ BigNumInverseMod ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3403 +// See BaseCryptLib.h:3505 BOOLEAN EFIAPI BigNumDiv ( @@ -2891,7 +2993,7 @@ BigNumDiv ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3424 +// See BaseCryptLib.h:3526 BOOLEAN EFIAPI BigNumMulMod ( @@ -2912,7 +3014,7 @@ BigNumMulMod ( @retval 1 BnA > BnB. @retval -1 BnA < BnB. **/ -// See BaseCryptLib.h:3443 +// See BaseCryptLib.h:3545 INTN EFIAPI BigNumCmp ( @@ -2928,7 +3030,7 @@ BigNumCmp ( @param[in] Bn Big number. @retval Number of bits. **/ -// See BaseCryptLib.h:3458 +// See BaseCryptLib.h:3560 UINTN EFIAPI BigNumBits ( @@ -2943,7 +3045,7 @@ BigNumBits ( @param[in] Bn Big number. @retval Number of bytes. **/ -// See BaseCryptLib.h:3471 +// See BaseCryptLib.h:3573 UINTN EFIAPI BigNumBytes ( @@ -2960,7 +3062,7 @@ BigNumBytes ( @retval TRUE iff Bn == Num. @retval FALSE otherwise. **/ -// See BaseCryptLib.h:3486 +// See BaseCryptLib.h:3588 BOOLEAN EFIAPI BigNumIsWord ( @@ -2977,7 +3079,7 @@ BigNumIsWord ( @retval TRUE Bn is odd (Bn % 2 == 1). @retval FALSE otherwise. **/ -// See BaseCryptLib.h:3501 +// See BaseCryptLib.h:3603 BOOLEAN EFIAPI BigNumIsOdd ( @@ -2994,7 +3096,7 @@ BigNumIsOdd ( @retval BnDst on success. @retval NULL otherwise. **/ -// See BaseCryptLib.h:3516 +// See BaseCryptLib.h:3618 VOID * EFIAPI BigNumCopy ( @@ -3015,7 +3117,7 @@ BigNumCopy ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3547 +// See BaseCryptLib.h:3649 BOOLEAN EFIAPI BigNumRShift ( @@ -3033,7 +3135,7 @@ BigNumRShift ( performed on the given Big number. @param[in] Bn Big number. **/ -// See BaseCryptLib.h:3562 +// See BaseCryptLib.h:3664 VOID EFIAPI BigNumConstTime ( @@ -3053,7 +3155,7 @@ BigNumConstTime ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3580 +// See BaseCryptLib.h:3682 BOOLEAN EFIAPI BigNumSqrMod ( @@ -3071,7 +3173,7 @@ BigNumSqrMod ( needed to optimize calculations and expensive allocations. @retval Big Number context struct or NULL on failure. **/ -// See BaseCryptLib.h:3595 +// See BaseCryptLib.h:3697 VOID * EFIAPI BigNumNewContext ( @@ -3085,7 +3187,7 @@ BigNumNewContext ( Free Big Number context that was allocated with BigNumNewContext(). @param[in] BnCtx Big number context to free. **/ -// See BaseCryptLib.h:3606 +// See BaseCryptLib.h:3708 VOID EFIAPI BigNumContextFree ( @@ -3102,7 +3204,7 @@ BigNumContextFree ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3621 +// See BaseCryptLib.h:3723 BOOLEAN EFIAPI BigNumSetUint ( @@ -3122,7 +3224,7 @@ BigNumSetUint ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3639 +// See BaseCryptLib.h:3741 BOOLEAN EFIAPI BigNumAddMod ( @@ -3417,7 +3519,7 @@ Sm3HashAll ( @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// See BaseCryptLib.h:3088 +// See BaseCryptLib.h:3190 BOOLEAN EFIAPI HkdfSha256ExtractAndExpand ( @@ -3445,7 +3547,7 @@ HkdfSha256ExtractAndExpand ( @retval true Hkdf generated successfully. @retval false Hkdf generation failed. **/ -// See BaseCryptLib.h:3115 +// See BaseCryptLib.h:3217 BOOLEAN EFIAPI HkdfSha256Extract ( @@ -3471,7 +3573,7 @@ HkdfSha256Extract ( @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// See BaseCryptLib.h:3140 +// See BaseCryptLib.h:3242 BOOLEAN EFIAPI HkdfSha256Expand ( @@ -3499,7 +3601,7 @@ HkdfSha256Expand ( @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// See BaseCryptLib.h:3167 +// See BaseCryptLib.h:3269 BOOLEAN EFIAPI HkdfSha384ExtractAndExpand ( @@ -3527,7 +3629,7 @@ HkdfSha384ExtractAndExpand ( @retval true Hkdf generated successfully. @retval false Hkdf generation failed. **/ -// See BaseCryptLib.h:3194 +// See BaseCryptLib.h:3296 BOOLEAN EFIAPI HkdfSha384Extract ( @@ -3553,7 +3655,7 @@ HkdfSha384Extract ( @retval TRUE Hkdf generated successfully. @retval FALSE Hkdf generation failed. **/ -// See BaseCryptLib.h:3219 +// See BaseCryptLib.h:3321 BOOLEAN EFIAPI HkdfSha384Expand ( @@ -4525,7 +4627,7 @@ TlsGetExportKey ( @retval EcGroup object On success. @retval NULL On failure. **/ -// See BaseCryptLib.h:3663 +// See BaseCryptLib.h:3765 VOID * EFIAPI EcGroupInit ( @@ -4548,7 +4650,7 @@ EcGroupInit ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3684 +// See BaseCryptLib.h:3786 BOOLEAN EFIAPI EcGroupGetCurve ( @@ -4572,7 +4674,7 @@ EcGroupGetCurve ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3706 +// See BaseCryptLib.h:3808 BOOLEAN EFIAPI EcGroupGetOrder ( @@ -4587,7 +4689,7 @@ EcGroupGetOrder ( Free previously allocated EC group object using EcGroupInit(). @param[in] EcGroup EC group object to free. **/ -// See BaseCryptLib.h:3718 +// See BaseCryptLib.h:3820 VOID EFIAPI EcGroupFree ( @@ -4604,7 +4706,7 @@ EcGroupFree ( @retval EC Point object On success. @retval NULL On failure. **/ -// See BaseCryptLib.h:3733 +// See BaseCryptLib.h:3835 VOID * EFIAPI EcPointInit ( @@ -4619,7 +4721,7 @@ EcPointInit ( @param[in] EcPoint EC Point to free. @param[in] Clear TRUE iff the memory should be cleared. **/ -// See BaseCryptLib.h:3745 +// See BaseCryptLib.h:3847 VOID EFIAPI EcPointDeInit ( @@ -4643,7 +4745,7 @@ EcPointDeInit ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3767 +// See BaseCryptLib.h:3869 BOOLEAN EFIAPI EcPointGetAffineCoordinates ( @@ -4667,7 +4769,7 @@ EcPointGetAffineCoordinates ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3789 +// See BaseCryptLib.h:3891 BOOLEAN EFIAPI EcPointSetAffineCoordinates ( @@ -4692,7 +4794,7 @@ EcPointSetAffineCoordinates ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3812 +// See BaseCryptLib.h:3914 BOOLEAN EFIAPI EcPointAdd ( @@ -4717,7 +4819,7 @@ EcPointAdd ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3835 +// See BaseCryptLib.h:3937 BOOLEAN EFIAPI EcPointMul ( @@ -4739,7 +4841,7 @@ EcPointMul ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3855 +// See BaseCryptLib.h:3957 BOOLEAN EFIAPI EcPointInvert ( @@ -4759,7 +4861,7 @@ EcPointInvert ( @retval TRUE On curve. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3873 +// See BaseCryptLib.h:3975 BOOLEAN EFIAPI EcPointIsOnCurve ( @@ -4778,7 +4880,7 @@ EcPointIsOnCurve ( @retval TRUE At infinity. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3890 +// See BaseCryptLib.h:3992 BOOLEAN EFIAPI EcPointIsAtInfinity ( @@ -4798,7 +4900,7 @@ EcPointIsAtInfinity ( @retval TRUE A == B. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3908 +// See BaseCryptLib.h:4010 BOOLEAN EFIAPI EcPointEqual ( @@ -4826,7 +4928,7 @@ EcPointEqual ( @retval TRUE On success. @retval FALSE Otherwise. **/ -// See BaseCryptLib.h:3934 +// See BaseCryptLib.h:4036 BOOLEAN EFIAPI EcPointSetCompressedCoordinates ( @@ -4847,7 +4949,7 @@ EcPointSetCompressedCoordinates ( @return Pointer to the Elliptic Curve Context that has been initialized. If the allocations fails, EcNewByNid() returns NULL. **/ -// See BaseCryptLib.h:3956 +// See BaseCryptLib.h:4058 VOID * EFIAPI EcNewByNid ( @@ -4861,7 +4963,7 @@ EcNewByNid ( Release the specified EC context. @param[in] EcContext Pointer to the EC context to be released. **/ -// See BaseCryptLib.h:3967 +// See BaseCryptLib.h:4069 VOID EFIAPI EcFree ( @@ -4897,7 +4999,7 @@ EcFree ( @retval FALSE EC public X,Y generation failed. @retval FALSE PublicKeySize is not large enough. **/ -// See BaseCryptLib.h:3999 +// See BaseCryptLib.h:4101 BOOLEAN EFIAPI EcGenerateKey ( @@ -4923,7 +5025,7 @@ EcGenerateKey ( @retval TRUE EC key component was retrieved successfully. @retval FALSE Invalid EC key component. **/ -// See BaseCryptLib.h:4021 +// See BaseCryptLib.h:4123 BOOLEAN EFIAPI EcGetPubKey ( @@ -4960,7 +5062,7 @@ EcGetPubKey ( @retval FALSE EC exchanged key generation failed. @retval FALSE KeySize is not large enough. **/ -// See BaseCryptLib.h:4054 +// See BaseCryptLib.h:4156 BOOLEAN EFIAPI EcDhComputeKey ( @@ -4988,7 +5090,7 @@ EcDhComputeKey ( @retval TRUE EC Private Key was retrieved successfully. @retval FALSE Invalid PEM key data or incorrect password. **/ -// See BaseCryptLib.h:4082 +// See BaseCryptLib.h:4184 BOOLEAN EFIAPI EcGetPrivateKeyFromPem ( @@ -5013,7 +5115,7 @@ EcGetPrivateKeyFromPem ( @retval TRUE EC Public Key was retrieved successfully. @retval FALSE Fail to retrieve EC public key from X509 certificate. **/ -// See BaseCryptLib.h:4107 +// See BaseCryptLib.h:4209 BOOLEAN EFIAPI EcGetPublicKeyFromX509 ( @@ -5048,7 +5150,7 @@ EcGetPublicKeyFromX509 ( @retval FALSE Signature generation failed. @retval FALSE SigSize is too small. **/ -// See BaseCryptLib.h:4144 +// See BaseCryptLib.h:4246 BOOLEAN EFIAPI EcDsaSign ( @@ -5081,7 +5183,7 @@ EcDsaSign ( @retval TRUE Valid signature encoded in EC-DSA. @retval FALSE Invalid signature or invalid EC context. **/ -// See BaseCryptLib.h:4178 +// See BaseCryptLib.h:4280 BOOLEAN EFIAPI EcDsaVerify (