2 Defines the PCD_CRYPTO_SERVICE_FAMILY_ENABLE structure associated with
3 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable that is used
4 to enable/disable crypto services at either the family scope or the
5 individual service scope. Platforms can minimize the number of enabled
6 services to reduce size.
8 The following services have been deprecated and must never be enabled.
9 The associated fields in this data structure are never removed or replaced
10 to preseve the binary layout of the data structure. New services are
11 always added to the end of the data structure.
18 * Aes.Services.EcbEncrypt service
19 * Aes.Services.EcbDecrypt service
21 Is is recommended that the following services always be disabled and may
22 be deprecated in the future.
25 Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.<BR>
26 SPDX-License-Identifier: BSD-2-Clause-Patent
30 #ifndef __PCD_CRYPTO_SERVICE_FAMILY_ENABLE_H__
31 #define __PCD_CRYPTO_SERVICE_FAMILY_ENABLE_H__
34 /// Define used to enable all the crypto services in a family
36 #define PCD_CRYPTO_SERVICE_ENABLE_FAMILY 0xFFFFFFFF
39 /// PCD_CRYPTO_SERVICE_FAMILY_ENABLE structure. Each field in this structure
40 /// is associated with a service in the EDK II Crypto Protocol/PPI. This allows
41 /// each individual service to be enabled/disabled in a DSC file. Services are
42 /// also grouped into families. Unions are used to support enabling or
43 /// disabling an entire family in a single DSC statement.
48 UINT8 New
: 1; // Deprecated
49 UINT8 Free
: 1; // Deprecated
50 UINT8 SetKey
: 1; // Deprecated
51 UINT8 Duplicate
: 1; // Deprecated
52 UINT8 Update
: 1; // Deprecated
53 UINT8 Final
: 1; // Deprecated
55 UINT32 Family
; // Deprecated
59 UINT8 New
: 1; // Deprecated
60 UINT8 Free
: 1; // Deprecated
61 UINT8 SetKey
: 1; // Deprecated
62 UINT8 Duplicate
: 1; // Deprecated
63 UINT8 Update
: 1; // Deprecated
64 UINT8 Final
: 1; // Deprecated
66 UINT32 Family
; // Deprecated
94 UINT8 GetContextSize
: 1; // Deprecated
95 UINT8 Init
: 1; // Deprecated
96 UINT8 Duplicate
: 1; // Deprecated
97 UINT8 Update
: 1; // Deprecated
98 UINT8 Final
: 1; // Deprecated
99 UINT8 HashAll
: 1; // Deprecated
101 UINT32 Family
; // Deprecated
105 UINT8 GetContextSize
: 1; // Deprecated
106 UINT8 Init
: 1; // Deprecated
107 UINT8 Duplicate
: 1; // Deprecated
108 UINT8 Update
: 1; // Deprecated
109 UINT8 Final
: 1; // Deprecated
110 UINT8 HashAll
: 1; // Deprecated
116 UINT8 Pkcs1v2Encrypt
: 1;
117 UINT8 Pkcs5HashPassword
: 1;
118 UINT8 Pkcs7Verify
: 1;
119 UINT8 VerifyEKUsInPkcs7Signature
: 1;
120 UINT8 Pkcs7GetSigners
: 1;
121 UINT8 Pkcs7FreeSigners
: 1;
123 UINT8 Pkcs7GetAttachedContent
: 1;
124 UINT8 Pkcs7GetCertificatesList
: 1;
125 UINT8 AuthenticodeVerify
: 1;
126 UINT8 ImageTimestampVerify
: 1;
134 UINT8 GenerateParameter
: 1;
135 UINT8 SetParameter
: 1;
136 UINT8 GenerateKey
: 1;
137 UINT8 ComputeKey
: 1;
150 UINT8 VerifyPkcs1
: 1;
155 UINT8 GenerateKey
: 1;
158 UINT8 Pkcs1Verify
: 1;
159 UINT8 GetPrivateKeyFromPem
: 1;
160 UINT8 GetPublicKeyFromX509
: 1;
166 UINT8 GetContextSize
: 1; // Recommend disable
167 UINT8 Init
: 1; // Recommend disable
168 UINT8 Duplicate
: 1; // Recommend disable
169 UINT8 Update
: 1; // Recommend disable
170 UINT8 Final
: 1; // Recommend disable
171 UINT8 HashAll
: 1; // Recommend disable
173 UINT32 Family
; // Recommend disable
177 UINT8 GetContextSize
: 1;
188 UINT8 GetContextSize
: 1;
199 UINT8 GetContextSize
: 1;
210 UINT8 GetSubjectName
: 1;
211 UINT8 GetCommonName
: 1;
212 UINT8 GetOrganizationName
: 1;
213 UINT8 VerifyCert
: 1;
214 UINT8 ConstructCertificate
: 1;
215 UINT8 ConstructCertificateStack
: 1;
216 UINT8 ConstructCertificateStackV
: 1;
219 UINT8 GetTBSCert
: 1;
220 UINT8 GetVersion
: 1;
221 UINT8 GetSerialNumber
: 1;
222 UINT8 GetIssuerName
: 1;
223 UINT8 GetSignatureAlgorithm
: 1;
224 UINT8 GetExtensionData
: 1;
225 UINT8 GetExtendedKeyUsage
: 1;
226 UINT8 GetValidity
: 1;
227 UINT8 FormatDateTime
: 1;
228 UINT8 CompareDateTime
: 1;
229 UINT8 GetKeyUsage
: 1;
230 UINT8 VerifyCertChain
: 1;
231 UINT8 GetCertFromCertChain
: 1;
232 UINT8 Asn1GetTag
: 1;
233 UINT8 GetExtendedBasicConstraints
: 1;
239 UINT8 GetContextSize
: 1; // Deprecated
240 UINT8 Init
: 1; // Deprecated
241 UINT8 EcbEncrypt
: 1; // Deprecated
242 UINT8 EcbDecrypt
: 1; // Deprecated
243 UINT8 CbcEncrypt
: 1; // Deprecated
244 UINT8 CbcDecrypt
: 1; // Deprecated
246 UINT32 Family
; // Deprecated
250 UINT8 GetContextSize
: 1;
252 UINT8 EcbEncrypt
: 1; // Deprecated
253 UINT8 EcbDecrypt
: 1; // Deprecated
254 UINT8 CbcEncrypt
: 1;
255 UINT8 CbcDecrypt
: 1;
261 UINT8 GetContextSize
: 1; // Deprecated
262 UINT8 Init
: 1; // Deprecated
263 UINT8 Encrypt
: 1; // Deprecated
264 UINT8 Decrypt
: 1; // Deprecated
265 UINT8 Reset
: 1; // Deprecated
267 UINT32 Family
; // Deprecated
271 UINT8 GetContextSize
: 1;
282 UINT8 Sha256ExtractAndExpand
: 1;
283 UINT8 Sha256Extract
: 1;
284 UINT8 Sha256Expand
: 1;
285 UINT8 Sha384ExtractAndExpand
: 1;
286 UINT8 Sha384Extract
: 1;
287 UINT8 Sha384Expand
: 1;
293 UINT8 Initialize
: 1;
298 UINT8 InHandshake
: 1;
299 UINT8 DoHandshake
: 1;
300 UINT8 HandleAlert
: 1;
301 UINT8 CloseNotify
: 1;
302 UINT8 CtrlTrafficOut
: 1;
303 UINT8 CtrlTrafficIn
: 1;
313 UINT8 ConnectionEnd
: 1;
314 UINT8 CipherList
: 1;
315 UINT8 CompressionMethod
: 1;
317 UINT8 VerifyHost
: 1;
319 UINT8 CaCertificate
: 1;
320 UINT8 HostPublicCert
: 1;
321 UINT8 HostPrivateKey
: 1;
322 UINT8 CertRevocationList
: 1;
323 UINT8 HostPrivateKeyEx
: 1;
324 UINT8 SignatureAlgoList
: 1;
332 UINT8 ConnectionEnd
: 1;
333 UINT8 CurrentCipher
: 1;
334 UINT8 CurrentCompressionId
: 1;
337 UINT8 ClientRandom
: 1;
338 UINT8 ServerRandom
: 1;
339 UINT8 KeyMaterial
: 1;
340 UINT8 CaCertificate
: 1;
341 UINT8 HostPublicCert
: 1;
342 UINT8 HostPrivateKey
: 1;
343 UINT8 CertRevocationList
: 1;
378 UINT8 InverseMod
: 1;
391 UINT8 NewContext
: 1;
392 UINT8 ContextFree
: 1;
401 UINT8 GroupGetCurve
: 1;
402 UINT8 GroupGetOrder
: 1;
405 UINT8 PointDeInit
: 1;
406 UINT8 PointGetAffineCoordinates
: 1;
407 UINT8 PointSetAffineCoordinates
: 1;
410 UINT8 PointInvert
: 1;
411 UINT8 PointIsOnCurve
: 1;
412 UINT8 PointIsAtInfinity
: 1;
413 UINT8 PointEqual
: 1;
414 UINT8 PointSetCompressedCoordinates
: 1;
417 UINT8 GenerateKey
: 1;
419 UINT8 DhComputeKey
: 1;
420 UINT8 GetPublicKeyFromX509
: 1;
421 UINT8 GetPrivateKeyFromPem
: 1;
427 } PCD_CRYPTO_SERVICE_FAMILY_ENABLE
;