summaryrefslogtreecommitdiffstats
path: root/CryptoPkg/Include
diff options
context:
space:
mode:
Diffstat (limited to 'CryptoPkg/Include')
-rw-r--r--CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h293
1 files changed, 293 insertions, 0 deletions
diff --git a/CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h b/CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h
new file mode 100644
index 0000000000..44fb0262f4
--- /dev/null
+++ b/CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h
@@ -0,0 +1,293 @@
+/** @file
+ Defines the PCD_CRYPTO_SERVICE_FAMILY_ENABLE structure associated with
+ gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.
+
+ Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __PCD_CRYPTO_SERVICE_FAMILY_ENABLE_H__
+#define __PCD_CRYPTO_SERVICE_FAMILY_ENABLE_H__
+
+///
+/// Define used to enable all the crypto services in a family
+///
+#define PCD_CRYPTO_SERVICE_ENABLE_FAMILY 0xFFFFFFFF
+
+///
+/// PCD_CRYPTO_SERVICE_FAMILY_ENABLE structure. Each field in this structure
+/// is associated with a service in the EDK II Crypto Protocol/PPI. This allows
+/// each individual service to be enabled/disabled in a DSC file. Services are
+/// also grouped into families. Unions are used to support enabling or
+/// disabling an entire family in a single DSC statement.
+///
+typedef struct {
+ union {
+ struct {
+ UINT8 New:1;
+ UINT8 Free:1;
+ UINT8 SetKey:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ } Services;
+ UINT32 Family;
+ } HmacMd5;
+ union {
+ struct {
+ UINT8 New:1;
+ UINT8 Free:1;
+ UINT8 SetKey:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ } Services;
+ UINT32 Family;
+ } HmacSha1;
+ union {
+ struct {
+ UINT8 New:1;
+ UINT8 Free:1;
+ UINT8 SetKey:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ } Services;
+ UINT32 Family;
+ } HmacSha256;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Md4;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Md5;
+ union {
+ struct {
+ UINT8 Pkcs1v2Encrypt:1;
+ UINT8 Pkcs5HashPassword:1;
+ UINT8 Pkcs7Verify:1;
+ UINT8 VerifyEKUsInPkcs7Signature:1;
+ UINT8 Pkcs7GetSigners:1;
+ UINT8 Pkcs7FreeSigners:1;
+ UINT8 Pkcs7Sign:1;
+ UINT8 Pkcs7GetAttachedContent:1;
+ UINT8 Pkcs7GetCertificatesList:1;
+ UINT8 AuthenticodeVerify:1;
+ UINT8 ImageTimestampVerify:1;
+ } Services;
+ UINT32 Family;
+ } Pkcs;
+ union {
+ struct {
+ UINT8 New:1;
+ UINT8 Free:1;
+ UINT8 GenerateParameter:1;
+ UINT8 SetParameter:1;
+ UINT8 GenerateKey:1;
+ UINT8 ComputeKey:1;
+ } Services;
+ UINT32 Family;
+ } Dh;
+ union {
+ struct {
+ UINT8 Seed:1;
+ UINT8 Bytes:1;
+ } Services;
+ UINT32 Family;
+ } Random;
+ union {
+ struct {
+ UINT8 VerifyPkcs1:1;
+ UINT8 New:1;
+ UINT8 Free:1;
+ UINT8 SetKey:1;
+ UINT8 GetKey:1;
+ UINT8 GenerateKey:1;
+ UINT8 CheckKey:1;
+ UINT8 Pkcs1Sign:1;
+ UINT8 Pkcs1Verify:1;
+ UINT8 GetPrivateKeyFromPem:1;
+ UINT8 GetPublicKeyFromX509:1;
+ } Services;
+ UINT32 Family;
+ } Rsa;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Sha1;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Sha256;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Sha384;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Sha512;
+ union {
+ struct {
+ UINT8 GetSubjectName:1;
+ UINT8 GetCommonName:1;
+ UINT8 GetOrganizationName:1;
+ UINT8 VerifyCert:1;
+ UINT8 ConstructCertificate:1;
+ UINT8 ConstructCertificateStack:1;
+ UINT8 ConstructCertificateStackV:1;
+ UINT8 Free:1;
+ UINT8 StackFree:1;
+ UINT8 GetTBSCert:1;
+ } Services;
+ UINT32 Family;
+ } X509;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 EcbEncrypt:1;
+ UINT8 EcbDecrypt:1;
+ UINT8 CbcEncrypt:1;
+ UINT8 CbcDecrypt:1;
+ } Services;
+ UINT32 Family;
+ } Tdes;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 EcbEncrypt:1;
+ UINT8 EcbDecrypt:1;
+ UINT8 CbcEncrypt:1;
+ UINT8 CbcDecrypt:1;
+ } Services;
+ UINT32 Family;
+ } Aes;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Encrypt:1;
+ UINT8 Decrypt:1;
+ UINT8 Reset:1;
+ } Services;
+ UINT32 Family;
+ } Arc4;
+ union {
+ struct {
+ UINT8 GetContextSize:1;
+ UINT8 Init:1;
+ UINT8 Duplicate:1;
+ UINT8 Update:1;
+ UINT8 Final:1;
+ UINT8 HashAll:1;
+ } Services;
+ UINT32 Family;
+ } Sm3;
+ union {
+ struct {
+ UINT8 Sha256ExtractAndExpand;
+ } Services;
+ UINT32 Family;
+ } Hkdf;
+ union {
+ struct {
+ UINT8 Initialize:1;
+ UINT8 CtxFree:1;
+ UINT8 CtxNew:1;
+ UINT8 Free:1;
+ UINT8 New:1;
+ UINT8 InHandshake:1;
+ UINT8 DoHandshake:1;
+ UINT8 HandleAlert:1;
+ UINT8 CloseNotify:1;
+ UINT8 CtrlTrafficOut:1;
+ UINT8 CtrlTrafficIn:1;
+ UINT8 Read:1;
+ UINT8 Write:1;
+ } Services;
+ UINT32 Family;
+ } Tls;
+ union {
+ struct {
+ UINT8 Version:1;
+ UINT8 ConnectionEnd:1;
+ UINT8 CipherList:1;
+ UINT8 CompressionMethod:1;
+ UINT8 Verify:1;
+ UINT8 VerifyHost:1;
+ UINT8 SessionId:1;
+ UINT8 CaCertificate:1;
+ UINT8 HostPublicCert:1;
+ UINT8 HostPrivateKey:1;
+ UINT8 CertRevocationList:1;
+ } Services;
+ UINT32 Family;
+ } TlsSet;
+ union {
+ struct {
+ UINT8 Version:1;
+ UINT8 ConnectionEnd:1;
+ UINT8 CurrentCipher:1;
+ UINT8 CurrentCompressionId:1;
+ UINT8 Verify:1;
+ UINT8 SessionId:1;
+ UINT8 ClientRandom:1;
+ UINT8 ServerRandom:1;
+ UINT8 KeyMaterial:1;
+ UINT8 CaCertificate:1;
+ UINT8 HostPublicCert:1;
+ UINT8 HostPrivateKey:1;
+ UINT8 CertRevocationList:1;
+ } Services;
+ UINT32 Family;
+ } TlsGet;
+} PCD_CRYPTO_SERVICE_FAMILY_ENABLE;
+
+#endif