A macro used to retrieve the FixedAtBuild PcdCryptoServiceFamilyEnable with a\r
typecast to its associcted structure type PCD_CRYPTO_SERVICE_FAMILY_ENABLE.\r
**/\r
-#define EDKII_CRYPTO_PCD ((const PCD_CRYPTO_SERVICE_FAMILY_ENABLE *) \\r
+#define EDKII_CRYPTO_PCD ((const PCD_CRYPTO_SERVICE_FAMILY_ENABLE *)\\r
(FixedPcdGetPtr (PcdCryptoServiceFamilyEnable)))\r
\r
/**\r
return EDKII_CRYPTO_VERSION;\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// One-Way Cryptographic Hash Primitives\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
MD4 is deprecated and unsupported any longer.\r
}\r
\r
#ifndef ENABLE_MD5_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.\r
\r
{\r
return BaseCryptLibServiceDeprecated ("Md5HashAll"), FALSE;\r
}\r
+\r
#else\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.\r
\r
{\r
return CALL_BASECRYPTLIB (Md5.Services.HashAll, Md5HashAll, (Data, DataSize, HashValue), FALSE);\r
}\r
+\r
#endif\r
\r
#ifdef DISABLE_SHA1_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
\r
{\r
return BaseCryptLibServiceDeprecated ("Sha1HashAll"), FALSE;\r
}\r
+\r
#else\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
\r
{\r
return CALL_BASECRYPTLIB (Sha1.Services.HashAll, Sha1HashAll, (Data, DataSize, HashValue), FALSE);\r
}\r
+\r
#endif\r
\r
/**\r
return CALL_BASECRYPTLIB (Sm3.Services.HashAll, Sm3HashAll, (Data, DataSize, HashValue), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// MAC (Message Authentication Code) Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
HMAC MD5 is deprecated and unsupported any longer.\r
return CALL_BASECRYPTLIB (HmacSha256.Services.Final, HmacSha256Final, (HmacSha256Context, HmacValue), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Symmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
TDES is deprecated and unsupported any longer.\r
return BaseCryptLibServiceDeprecated ("Arc4Reset"), FALSE;\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Asymmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and initializes one RSA context for subsequent use.\r
RETURN_STATUS\r
EFIAPI\r
CryptoServiceX509GetOrganizationName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- OUT CHAR8 *NameBuffer OPTIONAL,\r
- IN OUT UINTN *NameBufferSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ OUT CHAR8 *NameBuffer OPTIONAL,\r
+ IN OUT UINTN *NameBufferSize\r
)\r
{\r
return CALL_BASECRYPTLIB (X509.Services.GetOrganizationName, X509GetOrganizationName, (Cert, CertSize, NameBuffer, NameBufferSize), RETURN_UNSUPPORTED);\r
VOID\r
EFIAPI\r
CryptoServicePkcs7FreeSigners (\r
- IN UINT8 *Certs\r
+ IN UINT8 *Certs\r
)\r
{\r
CALL_VOID_BASECRYPTLIB (Pkcs.Services.Pkcs7FreeSigners, Pkcs7FreeSigners, (Certs));\r
return CALL_BASECRYPTLIB (Pkcs.Services.VerifyEKUsInPkcs7Signature, VerifyEKUsInPkcs7Signature, (Pkcs7Signature, SignatureSize, RequiredEKUs, RequiredEKUsSize, RequireAllPresent), FALSE);\r
}\r
\r
-\r
/**\r
Extracts the attached content from a PKCS#7 signed data if existed. The input signed\r
data could be wrapped in a ContentInfo structure.\r
return CALL_BASECRYPTLIB (Pkcs.Services.ImageTimestampVerify, ImageTimestampVerify, (AuthData, DataSize, TsaCert, CertSize, SigningTime), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// DH Key Exchange Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and Initializes one Diffie-Hellman Context for subsequent use.\r
return CALL_BASECRYPTLIB (Dh.Services.ComputeKey, DhComputeKey, (DhContext, PeerPublicKey, PeerPublicKeySize, Key, KeySize), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Pseudo-Random Generation Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Sets up the seed value for the pseudorandom number generator.\r
return CALL_BASECRYPTLIB (Random.Services.Bytes, RandomBytes, (Output, Size), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Key Derivation Function Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Derive key data using HMAC-SHA256 based KDF.\r
VOID\r
EFIAPI\r
CryptoServiceTlsCtxFree (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
CALL_VOID_BASECRYPTLIB (Tls.Services.CtxFree, TlsCtxFree, (TlsCtx));\r
VOID *\r
EFIAPI\r
CryptoServiceTlsCtxNew (\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.CtxNew, TlsCtxNew, (MajorVer, MinorVer), NULL);\r
VOID\r
EFIAPI\r
CryptoServiceTlsFree (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
CALL_VOID_BASECRYPTLIB (Tls.Services.Free, TlsFree, (Tls));\r
VOID *\r
EFIAPI\r
CryptoServiceTlsNew (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.New, TlsNew, (TlsCtx), NULL);\r
BOOLEAN\r
EFIAPI\r
CryptoServiceTlsInHandshake (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.InHandshake, TlsInHandshake, (Tls), FALSE);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsDoHandshake (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.DoHandshake, TlsDoHandshake, (Tls, BufferIn, BufferInSize, BufferOut, BufferOutSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsHandleAlert (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.HandleAlert, TlsHandleAlert, (Tls, BufferIn, BufferInSize, BufferOut, BufferOutSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsCloseNotify (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *Buffer,\r
- IN OUT UINTN *BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *Buffer,\r
+ IN OUT UINTN *BufferSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.CloseNotify, TlsCloseNotify, (Tls, Buffer, BufferSize), EFI_UNSUPPORTED);\r
INTN\r
EFIAPI\r
CryptoServiceTlsCtrlTrafficOut (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.CtrlTrafficOut, TlsCtrlTrafficOut, (Tls, Buffer, BufferSize), 0);\r
INTN\r
EFIAPI\r
CryptoServiceTlsCtrlTrafficIn (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.CtrlTrafficIn, TlsCtrlTrafficIn, (Tls, Buffer, BufferSize), 0);\r
INTN\r
EFIAPI\r
CryptoServiceTlsRead (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.Read, TlsRead, (Tls, Buffer, BufferSize), 0);\r
INTN\r
EFIAPI\r
CryptoServiceTlsWrite (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
return CALL_BASECRYPTLIB (Tls.Services.Write, TlsWrite, (Tls, Buffer, BufferSize), 0);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetVersion (\r
- IN VOID *Tls,\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN VOID *Tls,\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.Version, TlsSetVersion, (Tls, MajorVer, MinorVer), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetConnectionEnd (\r
- IN VOID *Tls,\r
- IN BOOLEAN IsServer\r
+ IN VOID *Tls,\r
+ IN BOOLEAN IsServer\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.ConnectionEnd, TlsSetConnectionEnd, (Tls, IsServer), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetCipherList (\r
- IN VOID *Tls,\r
- IN UINT16 *CipherId,\r
- IN UINTN CipherNum\r
+ IN VOID *Tls,\r
+ IN UINT16 *CipherId,\r
+ IN UINTN CipherNum\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.CipherList, TlsSetCipherList, (Tls, CipherId, CipherNum), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetCompressionMethod (\r
- IN UINT8 CompMethod\r
+ IN UINT8 CompMethod\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.CompressionMethod, TlsSetCompressionMethod, (CompMethod), EFI_UNSUPPORTED);\r
VOID\r
EFIAPI\r
CryptoServiceTlsSetVerify (\r
- IN VOID *Tls,\r
- IN UINT32 VerifyMode\r
+ IN VOID *Tls,\r
+ IN UINT32 VerifyMode\r
)\r
{\r
CALL_VOID_BASECRYPTLIB (TlsSet.Services.Verify, TlsSetVerify, (Tls, VerifyMode));\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetVerifyHost (\r
- IN VOID *Tls,\r
- IN UINT32 Flags,\r
- IN CHAR8 *HostName\r
+ IN VOID *Tls,\r
+ IN UINT32 Flags,\r
+ IN CHAR8 *HostName\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.VerifyHost, TlsSetVerifyHost, (Tls, Flags, HostName), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetSessionId (\r
- IN VOID *Tls,\r
- IN UINT8 *SessionId,\r
- IN UINT16 SessionIdLen\r
+ IN VOID *Tls,\r
+ IN UINT8 *SessionId,\r
+ IN UINT16 SessionIdLen\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.SessionId, TlsSetSessionId, (Tls, SessionId, SessionIdLen), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetCaCertificate (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.CaCertificate, TlsSetCaCertificate, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetHostPublicCert (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.HostPublicCert, TlsSetHostPublicCert, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetHostPrivateKey (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.HostPrivateKey, TlsSetHostPrivateKey, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsSetCertRevocationList (\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsSet.Services.CertRevocationList, TlsSetCertRevocationList, (Data, DataSize), EFI_UNSUPPORTED);\r
UINT16\r
EFIAPI\r
CryptoServiceTlsGetVersion (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.Version, TlsGetVersion, (Tls), 0);\r
UINT8\r
EFIAPI\r
CryptoServiceTlsGetConnectionEnd (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.ConnectionEnd, TlsGetConnectionEnd, (Tls), 0);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetCurrentCipher (\r
- IN VOID *Tls,\r
- IN OUT UINT16 *CipherId\r
+ IN VOID *Tls,\r
+ IN OUT UINT16 *CipherId\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.CurrentCipher, TlsGetCurrentCipher, (Tls, CipherId), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetCurrentCompressionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *CompressionId\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *CompressionId\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.CurrentCompressionId, TlsGetCurrentCompressionId, (Tls, CompressionId), EFI_UNSUPPORTED);\r
UINT32\r
EFIAPI\r
CryptoServiceTlsGetVerify (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.Verify, TlsGetVerify, (Tls), 0);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetSessionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *SessionId,\r
- IN OUT UINT16 *SessionIdLen\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *SessionId,\r
+ IN OUT UINT16 *SessionIdLen\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.SessionId, TlsGetSessionId, (Tls, SessionId, SessionIdLen), EFI_UNSUPPORTED);\r
VOID\r
EFIAPI\r
CryptoServiceTlsGetClientRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ClientRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ClientRandom\r
)\r
{\r
CALL_VOID_BASECRYPTLIB (TlsGet.Services.ClientRandom, TlsGetClientRandom, (Tls, ClientRandom));\r
VOID\r
EFIAPI\r
CryptoServiceTlsGetServerRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ServerRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ServerRandom\r
)\r
{\r
CALL_VOID_BASECRYPTLIB (TlsGet.Services.ServerRandom, TlsGetServerRandom, (Tls, ServerRandom));\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetKeyMaterial (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *KeyMaterial\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *KeyMaterial\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.KeyMaterial, TlsGetKeyMaterial, (Tls, KeyMaterial), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetCaCertificate (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.CaCertificate, TlsGetCaCertificate, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetHostPublicCert (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.HostPublicCert, TlsGetHostPublicCert, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetHostPrivateKey (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.HostPrivateKey, TlsGetHostPrivateKey, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
CryptoServiceTlsGetCertRevocationList (\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return CALL_BASECRYPTLIB (TlsGet.Services.CertRevocationList, TlsGetCertRevocationList, (Data, DataSize), EFI_UNSUPPORTED);\r
}\r
\r
-const EDKII_CRYPTO_PROTOCOL mEdkiiCrypto = {\r
+const EDKII_CRYPTO_PROTOCOL mEdkiiCrypto = {\r
/// Version\r
CryptoServiceGetCryptoVersion,\r
/// HMAC MD5 - deprecated and unsupported\r
DeprecatedCryptoServiceMd4Update,\r
DeprecatedCryptoServiceMd4Final,\r
DeprecatedCryptoServiceMd4HashAll,\r
-#ifndef ENABLE_MD5_DEPRECATED_INTERFACES\r
+ #ifndef ENABLE_MD5_DEPRECATED_INTERFACES\r
/// Md5 - deprecated and unsupported\r
DeprecatedCryptoServiceMd5GetContextSize,\r
DeprecatedCryptoServiceMd5Init,\r
DeprecatedCryptoServiceMd5Update,\r
DeprecatedCryptoServiceMd5Final,\r
DeprecatedCryptoServiceMd5HashAll,\r
-#else\r
+ #else\r
/// Md5\r
CryptoServiceMd5GetContextSize,\r
CryptoServiceMd5Init,\r
CryptoServiceMd5Update,\r
CryptoServiceMd5Final,\r
CryptoServiceMd5HashAll,\r
-#endif\r
+ #endif\r
/// Pkcs\r
CryptoServicePkcs1v2Encrypt,\r
CryptoServicePkcs5HashPassword,\r
CryptoServiceRsaPkcs1Verify,\r
CryptoServiceRsaGetPrivateKeyFromPem,\r
CryptoServiceRsaGetPublicKeyFromX509,\r
-#ifdef DISABLE_SHA1_DEPRECATED_INTERFACES\r
+ #ifdef DISABLE_SHA1_DEPRECATED_INTERFACES\r
/// Sha1 - deprecated and unsupported\r
DeprecatedCryptoServiceSha1GetContextSize,\r
DeprecatedCryptoServiceSha1Init,\r
DeprecatedCryptoServiceSha1Update,\r
DeprecatedCryptoServiceSha1Final,\r
DeprecatedCryptoServiceSha1HashAll,\r
-#else\r
+ #else\r
/// Sha1\r
CryptoServiceSha1GetContextSize,\r
CryptoServiceSha1Init,\r
CryptoServiceSha1Update,\r
CryptoServiceSha1Final,\r
CryptoServiceSha1HashAll,\r
-#endif\r
+ #endif\r
/// Sha256\r
CryptoServiceSha256GetContextSize,\r
CryptoServiceSha256Init,\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- return gBS->InstallMultipleProtocolInterfaces(\r
+ return gBS->InstallMultipleProtocolInterfaces (\r
&ImageHandle,\r
&gEdkiiCryptoProtocolGuid,\r
- (EDKII_CRYPTO_PROTOCOL *) &mEdkiiCrypto,\r
+ (EDKII_CRYPTO_PROTOCOL *)&mEdkiiCrypto,\r
NULL\r
);\r
}\r
CONST EFI_PEI_PPI_DESCRIPTOR mEdkiiCryptoPpiList = {\r
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
&gEdkiiCryptoPpiGuid,\r
- (EDKII_CRYPTO_PPI *) &mEdkiiCrypto\r
+ (EDKII_CRYPTO_PPI *)&mEdkiiCrypto\r
};\r
\r
/**\r
// always shadow this module in memory in Post-Mem.\r
//\r
Status = PeiServicesLocatePpi (\r
- &gEfiPeiMemoryDiscoveredPpiGuid,\r
- 0,\r
- NULL,\r
- (VOID **)&MemoryDiscoveredPpi\r
- );\r
+ &gEfiPeiMemoryDiscoveredPpiGuid,\r
+ 0,\r
+ NULL,\r
+ (VOID **)&MemoryDiscoveredPpi\r
+ );\r
if (Status == EFI_NOT_FOUND) {\r
//\r
// CryptoPei is dispatched before gEfiPeiMemoryDiscoveredPpiGuid\r
//\r
// CryptoPei was also dispatched before gEfiPeiMemoryDiscoveredPpiGuid\r
//\r
- DEBUG((DEBUG_INFO, "CryptoPeiEntry: ReInstall Post-Memmory Crypto PPI\n"));\r
+ DEBUG ((DEBUG_INFO, "CryptoPeiEntry: ReInstall Post-Memmory Crypto PPI\n"));\r
Status = PeiServicesReInstallPpi (\r
EdkiiCryptoPpiDescriptor,\r
&mEdkiiCryptoPpiList\r
&Handle,\r
&gEdkiiSmmCryptoProtocolGuid,\r
EFI_NATIVE_INTERFACE,\r
- (EDKII_CRYPTO_PROTOCOL *) &mEdkiiCrypto\r
+ (EDKII_CRYPTO_PROTOCOL *)&mEdkiiCrypto\r
);\r
}\r
///\r
/// MD5 digest size in bytes\r
///\r
-#define MD5_DIGEST_SIZE 16\r
+#define MD5_DIGEST_SIZE 16\r
\r
///\r
/// SHA-1 digest size in bytes.\r
///\r
-#define SHA1_DIGEST_SIZE 20\r
+#define SHA1_DIGEST_SIZE 20\r
\r
///\r
/// SHA-256 digest size in bytes\r
///\r
/// SM3 digest size in bytes\r
///\r
-#define SM3_256_DIGEST_SIZE 32\r
+#define SM3_256_DIGEST_SIZE 32\r
\r
///\r
/// TDES block size in bytes\r
///\r
-#define TDES_BLOCK_SIZE 8\r
+#define TDES_BLOCK_SIZE 8\r
\r
///\r
/// AES block size in bytes\r
///\r
-#define AES_BLOCK_SIZE 16\r
+#define AES_BLOCK_SIZE 16\r
\r
///\r
/// RSA Key Tags Definition used in RsaSetKey() function for key component identification.\r
RsaKeyQInv ///< The CRT coefficient (== 1/q mod p)\r
} RSA_KEY_TAG;\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// One-Way Cryptographic Hash Primitives\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
#ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.\r
\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
);\r
+\r
#endif\r
\r
#ifndef DISABLE_SHA1_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
);\r
+\r
#endif\r
\r
/**\r
OUT UINT8 *HashValue\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// MAC (Message Authentication Code) Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA256 use.\r
OUT UINT8 *HmacValue\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Symmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Retrieves the size, in bytes, of the context buffer required for AES operations.\r
OUT UINT8 *Output\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Asymmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and initializes one RSA context for subsequent use.\r
RETURN_STATUS\r
EFIAPI\r
X509GetOrganizationName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- OUT CHAR8 *NameBuffer OPTIONAL,\r
- IN OUT UINTN *NameBufferSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ OUT CHAR8 *NameBuffer OPTIONAL,\r
+ IN OUT UINTN *NameBufferSize\r
);\r
\r
/**\r
} EFI_CERT_DATA;\r
\r
typedef struct {\r
- UINT8 CertNumber; // Number of X.509 certificate.\r
- //EFI_CERT_DATA CertArray[]; // An array of X.509 certificate.\r
+ UINT8 CertNumber; // Number of X.509 certificate.\r
+ // EFI_CERT_DATA CertArray[]; // An array of X.509 certificate.\r
} EFI_CERT_STACK;\r
\r
#pragma pack()\r
VOID\r
EFIAPI\r
Pkcs7FreeSigners (\r
- IN UINT8 *Certs\r
+ IN UINT8 *Certs\r
);\r
\r
/**\r
OUT EFI_TIME *SigningTime\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// DH Key Exchange Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and Initializes one Diffie-Hellman Context for subsequent use.\r
IN OUT UINTN *KeySize\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Pseudo-Random Generation Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Sets up the seed value for the pseudorandom number generator.\r
IN UINTN Size\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Key Derivation Function Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Derive key data using HMAC-SHA256 based KDF.\r
#ifndef __HASH_API_LIB_H_\r
#define __HASH_API_LIB_H_\r
\r
-typedef VOID *HASH_API_CONTEXT;\r
+typedef VOID *HASH_API_CONTEXT;\r
\r
/**\r
Retrieves the size, in bytes, of the context buffer required for hash operations.\r
VOID\r
EFIAPI\r
TlsCtxFree (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
);\r
\r
/**\r
VOID *\r
EFIAPI\r
TlsCtxNew (\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
TlsFree (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
);\r
\r
/**\r
VOID *\r
EFIAPI\r
TlsNew (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
);\r
\r
/**\r
BOOLEAN\r
EFIAPI\r
TlsInHandshake (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsDoHandshake (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsHandleAlert (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsCloseNotify (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *Buffer,\r
- IN OUT UINTN *BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *Buffer,\r
+ IN OUT UINTN *BufferSize\r
);\r
\r
/**\r
INTN\r
EFIAPI\r
TlsCtrlTrafficOut (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
);\r
\r
/**\r
INTN\r
EFIAPI\r
TlsCtrlTrafficIn (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
);\r
\r
/**\r
INTN\r
EFIAPI\r
TlsRead (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
);\r
\r
/**\r
INTN\r
EFIAPI\r
TlsWrite (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetVersion (\r
- IN VOID *Tls,\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN VOID *Tls,\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetConnectionEnd (\r
- IN VOID *Tls,\r
- IN BOOLEAN IsServer\r
+ IN VOID *Tls,\r
+ IN BOOLEAN IsServer\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetCipherList (\r
- IN VOID *Tls,\r
- IN UINT16 *CipherId,\r
- IN UINTN CipherNum\r
+ IN VOID *Tls,\r
+ IN UINT16 *CipherId,\r
+ IN UINTN CipherNum\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetCompressionMethod (\r
- IN UINT8 CompMethod\r
+ IN UINT8 CompMethod\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
TlsSetVerify (\r
- IN VOID *Tls,\r
- IN UINT32 VerifyMode\r
+ IN VOID *Tls,\r
+ IN UINT32 VerifyMode\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetVerifyHost (\r
- IN VOID *Tls,\r
- IN UINT32 Flags,\r
- IN CHAR8 *HostName\r
+ IN VOID *Tls,\r
+ IN UINT32 Flags,\r
+ IN CHAR8 *HostName\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetSessionId (\r
- IN VOID *Tls,\r
- IN UINT8 *SessionId,\r
- IN UINT16 SessionIdLen\r
+ IN VOID *Tls,\r
+ IN UINT8 *SessionId,\r
+ IN UINT16 SessionIdLen\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetCaCertificate (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPublicCert (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPrivateKey (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetCertRevocationList (\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
);\r
\r
/**\r
UINT16\r
EFIAPI\r
TlsGetVersion (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
);\r
\r
/**\r
UINT8\r
EFIAPI\r
TlsGetConnectionEnd (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCipher (\r
- IN VOID *Tls,\r
- IN OUT UINT16 *CipherId\r
+ IN VOID *Tls,\r
+ IN OUT UINT16 *CipherId\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCompressionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *CompressionId\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *CompressionId\r
);\r
\r
/**\r
UINT32\r
EFIAPI\r
TlsGetVerify (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetSessionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *SessionId,\r
- IN OUT UINT16 *SessionIdLen\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *SessionId,\r
+ IN OUT UINT16 *SessionIdLen\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
TlsGetClientRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ClientRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ClientRandom\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
TlsGetServerRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ServerRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ServerRandom\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetKeyMaterial (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *KeyMaterial\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *KeyMaterial\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetCaCertificate (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPublicCert (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPrivateKey (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetCertRevocationList (\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
);\r
\r
#endif // __TLS_LIB_H__\r
typedef struct {\r
union {\r
struct {\r
- UINT8 New:1;\r
- UINT8 Free:1;\r
- UINT8 SetKey:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
+ UINT8 New : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 SetKey : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
} Services;\r
UINT32 Family;\r
} HmacMd5;\r
union {\r
struct {\r
- UINT8 New:1;\r
- UINT8 Free:1;\r
- UINT8 SetKey:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
+ UINT8 New : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 SetKey : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
} Services;\r
UINT32 Family;\r
} HmacSha1;\r
union {\r
struct {\r
- UINT8 New:1;\r
- UINT8 Free:1;\r
- UINT8 SetKey:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
+ UINT8 New : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 SetKey : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
} Services;\r
UINT32 Family;\r
} HmacSha256;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Md4;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Md5;\r
union {\r
struct {\r
- UINT8 Pkcs1v2Encrypt:1;\r
- UINT8 Pkcs5HashPassword:1;\r
- UINT8 Pkcs7Verify:1;\r
- UINT8 VerifyEKUsInPkcs7Signature:1;\r
- UINT8 Pkcs7GetSigners:1;\r
- UINT8 Pkcs7FreeSigners:1;\r
- UINT8 Pkcs7Sign:1;\r
- UINT8 Pkcs7GetAttachedContent:1;\r
- UINT8 Pkcs7GetCertificatesList:1;\r
- UINT8 AuthenticodeVerify:1;\r
- UINT8 ImageTimestampVerify:1;\r
+ UINT8 Pkcs1v2Encrypt : 1;\r
+ UINT8 Pkcs5HashPassword : 1;\r
+ UINT8 Pkcs7Verify : 1;\r
+ UINT8 VerifyEKUsInPkcs7Signature : 1;\r
+ UINT8 Pkcs7GetSigners : 1;\r
+ UINT8 Pkcs7FreeSigners : 1;\r
+ UINT8 Pkcs7Sign : 1;\r
+ UINT8 Pkcs7GetAttachedContent : 1;\r
+ UINT8 Pkcs7GetCertificatesList : 1;\r
+ UINT8 AuthenticodeVerify : 1;\r
+ UINT8 ImageTimestampVerify : 1;\r
} Services;\r
UINT32 Family;\r
} Pkcs;\r
union {\r
struct {\r
- UINT8 New:1;\r
- UINT8 Free:1;\r
- UINT8 GenerateParameter:1;\r
- UINT8 SetParameter:1;\r
- UINT8 GenerateKey:1;\r
- UINT8 ComputeKey:1;\r
+ UINT8 New : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 GenerateParameter : 1;\r
+ UINT8 SetParameter : 1;\r
+ UINT8 GenerateKey : 1;\r
+ UINT8 ComputeKey : 1;\r
} Services;\r
UINT32 Family;\r
} Dh;\r
union {\r
struct {\r
- UINT8 Seed:1;\r
- UINT8 Bytes:1;\r
+ UINT8 Seed : 1;\r
+ UINT8 Bytes : 1;\r
} Services;\r
UINT32 Family;\r
} Random;\r
union {\r
struct {\r
- UINT8 VerifyPkcs1:1;\r
- UINT8 New:1;\r
- UINT8 Free:1;\r
- UINT8 SetKey:1;\r
- UINT8 GetKey:1;\r
- UINT8 GenerateKey:1;\r
- UINT8 CheckKey:1;\r
- UINT8 Pkcs1Sign:1;\r
- UINT8 Pkcs1Verify:1;\r
- UINT8 GetPrivateKeyFromPem:1;\r
- UINT8 GetPublicKeyFromX509:1;\r
+ UINT8 VerifyPkcs1 : 1;\r
+ UINT8 New : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 SetKey : 1;\r
+ UINT8 GetKey : 1;\r
+ UINT8 GenerateKey : 1;\r
+ UINT8 CheckKey : 1;\r
+ UINT8 Pkcs1Sign : 1;\r
+ UINT8 Pkcs1Verify : 1;\r
+ UINT8 GetPrivateKeyFromPem : 1;\r
+ UINT8 GetPublicKeyFromX509 : 1;\r
} Services;\r
UINT32 Family;\r
} Rsa;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Sha1;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Sha256;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Sha384;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Sha512;\r
union {\r
struct {\r
- UINT8 GetSubjectName:1;\r
- UINT8 GetCommonName:1;\r
- UINT8 GetOrganizationName:1;\r
- UINT8 VerifyCert:1;\r
- UINT8 ConstructCertificate:1;\r
- UINT8 ConstructCertificateStack:1;\r
- UINT8 ConstructCertificateStackV:1;\r
- UINT8 Free:1;\r
- UINT8 StackFree:1;\r
- UINT8 GetTBSCert:1;\r
+ UINT8 GetSubjectName : 1;\r
+ UINT8 GetCommonName : 1;\r
+ UINT8 GetOrganizationName : 1;\r
+ UINT8 VerifyCert : 1;\r
+ UINT8 ConstructCertificate : 1;\r
+ UINT8 ConstructCertificateStack : 1;\r
+ UINT8 ConstructCertificateStackV : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 StackFree : 1;\r
+ UINT8 GetTBSCert : 1;\r
} Services;\r
UINT32 Family;\r
} X509;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 EcbEncrypt:1;\r
- UINT8 EcbDecrypt:1;\r
- UINT8 CbcEncrypt:1;\r
- UINT8 CbcDecrypt:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 EcbEncrypt : 1;\r
+ UINT8 EcbDecrypt : 1;\r
+ UINT8 CbcEncrypt : 1;\r
+ UINT8 CbcDecrypt : 1;\r
} Services;\r
UINT32 Family;\r
} Tdes;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 EcbEncrypt:1;\r
- UINT8 EcbDecrypt:1;\r
- UINT8 CbcEncrypt:1;\r
- UINT8 CbcDecrypt:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 EcbEncrypt : 1;\r
+ UINT8 EcbDecrypt : 1;\r
+ UINT8 CbcEncrypt : 1;\r
+ UINT8 CbcDecrypt : 1;\r
} Services;\r
UINT32 Family;\r
} Aes;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Encrypt:1;\r
- UINT8 Decrypt:1;\r
- UINT8 Reset:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Encrypt : 1;\r
+ UINT8 Decrypt : 1;\r
+ UINT8 Reset : 1;\r
} Services;\r
UINT32 Family;\r
} Arc4;\r
union {\r
struct {\r
- UINT8 GetContextSize:1;\r
- UINT8 Init:1;\r
- UINT8 Duplicate:1;\r
- UINT8 Update:1;\r
- UINT8 Final:1;\r
- UINT8 HashAll:1;\r
+ UINT8 GetContextSize : 1;\r
+ UINT8 Init : 1;\r
+ UINT8 Duplicate : 1;\r
+ UINT8 Update : 1;\r
+ UINT8 Final : 1;\r
+ UINT8 HashAll : 1;\r
} Services;\r
UINT32 Family;\r
} Sm3;\r
union {\r
struct {\r
- UINT8 Sha256ExtractAndExpand;\r
+ UINT8 Sha256ExtractAndExpand;\r
} Services;\r
UINT32 Family;\r
} Hkdf;\r
union {\r
struct {\r
- UINT8 Initialize:1;\r
- UINT8 CtxFree:1;\r
- UINT8 CtxNew:1;\r
- UINT8 Free:1;\r
- UINT8 New:1;\r
- UINT8 InHandshake:1;\r
- UINT8 DoHandshake:1;\r
- UINT8 HandleAlert:1;\r
- UINT8 CloseNotify:1;\r
- UINT8 CtrlTrafficOut:1;\r
- UINT8 CtrlTrafficIn:1;\r
- UINT8 Read:1;\r
- UINT8 Write:1;\r
+ UINT8 Initialize : 1;\r
+ UINT8 CtxFree : 1;\r
+ UINT8 CtxNew : 1;\r
+ UINT8 Free : 1;\r
+ UINT8 New : 1;\r
+ UINT8 InHandshake : 1;\r
+ UINT8 DoHandshake : 1;\r
+ UINT8 HandleAlert : 1;\r
+ UINT8 CloseNotify : 1;\r
+ UINT8 CtrlTrafficOut : 1;\r
+ UINT8 CtrlTrafficIn : 1;\r
+ UINT8 Read : 1;\r
+ UINT8 Write : 1;\r
} Services;\r
UINT32 Family;\r
} Tls;\r
union {\r
struct {\r
- UINT8 Version:1;\r
- UINT8 ConnectionEnd:1;\r
- UINT8 CipherList:1;\r
- UINT8 CompressionMethod:1;\r
- UINT8 Verify:1;\r
- UINT8 VerifyHost:1;\r
- UINT8 SessionId:1;\r
- UINT8 CaCertificate:1;\r
- UINT8 HostPublicCert:1;\r
- UINT8 HostPrivateKey:1;\r
- UINT8 CertRevocationList:1;\r
+ UINT8 Version : 1;\r
+ UINT8 ConnectionEnd : 1;\r
+ UINT8 CipherList : 1;\r
+ UINT8 CompressionMethod : 1;\r
+ UINT8 Verify : 1;\r
+ UINT8 VerifyHost : 1;\r
+ UINT8 SessionId : 1;\r
+ UINT8 CaCertificate : 1;\r
+ UINT8 HostPublicCert : 1;\r
+ UINT8 HostPrivateKey : 1;\r
+ UINT8 CertRevocationList : 1;\r
} Services;\r
UINT32 Family;\r
} TlsSet;\r
union {\r
struct {\r
- UINT8 Version:1;\r
- UINT8 ConnectionEnd:1;\r
- UINT8 CurrentCipher:1;\r
- UINT8 CurrentCompressionId:1;\r
- UINT8 Verify:1;\r
- UINT8 SessionId:1;\r
- UINT8 ClientRandom:1;\r
- UINT8 ServerRandom:1;\r
- UINT8 KeyMaterial:1;\r
- UINT8 CaCertificate:1;\r
- UINT8 HostPublicCert:1;\r
- UINT8 HostPrivateKey:1;\r
- UINT8 CertRevocationList:1;\r
+ UINT8 Version : 1;\r
+ UINT8 ConnectionEnd : 1;\r
+ UINT8 CurrentCipher : 1;\r
+ UINT8 CurrentCompressionId : 1;\r
+ UINT8 Verify : 1;\r
+ UINT8 SessionId : 1;\r
+ UINT8 ClientRandom : 1;\r
+ UINT8 ServerRandom : 1;\r
+ UINT8 KeyMaterial : 1;\r
+ UINT8 CaCertificate : 1;\r
+ UINT8 HostPublicCert : 1;\r
+ UINT8 HostPrivateKey : 1;\r
+ UINT8 CertRevocationList : 1;\r
} Services;\r
UINT32 Family;\r
} TlsGet;\r
// AES uses different key contexts for encryption and decryption, so here memory\r
// for 2 copies of AES_KEY is allocated.\r
//\r
- return (UINTN) (2 * sizeof (AES_KEY));\r
+ return (UINTN)(2 * sizeof (AES_KEY));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (AesContext == NULL || Key == NULL || (KeyLength != 128 && KeyLength != 192 && KeyLength != 256)) {\r
+ if ((AesContext == NULL) || (Key == NULL) || ((KeyLength != 128) && (KeyLength != 192) && (KeyLength != 256))) {\r
return FALSE;\r
}\r
\r
//\r
// Initialize AES encryption & decryption key schedule.\r
//\r
- AesKey = (AES_KEY *) AesContext;\r
- if (AES_set_encrypt_key (Key, (UINT32) KeyLength, AesKey) != 0) {\r
+ AesKey = (AES_KEY *)AesContext;\r
+ if (AES_set_encrypt_key (Key, (UINT32)KeyLength, AesKey) != 0) {\r
return FALSE;\r
}\r
- if (AES_set_decrypt_key (Key, (UINT32) KeyLength, AesKey + 1) != 0) {\r
+\r
+ if (AES_set_decrypt_key (Key, (UINT32)KeyLength, AesKey + 1) != 0) {\r
return FALSE;\r
}\r
+\r
return TRUE;\r
}\r
\r
//\r
// Check input parameters.\r
//\r
- if (AesContext == NULL || Input == NULL || (InputSize % AES_BLOCK_SIZE) != 0) {\r
+ if ((AesContext == NULL) || (Input == NULL) || ((InputSize % AES_BLOCK_SIZE) != 0)) {\r
return FALSE;\r
}\r
\r
- if (Ivec == NULL || Output == NULL || InputSize > INT_MAX) {\r
+ if ((Ivec == NULL) || (Output == NULL) || (InputSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
- AesKey = (AES_KEY *) AesContext;\r
+ AesKey = (AES_KEY *)AesContext;\r
CopyMem (IvecBuffer, Ivec, AES_BLOCK_SIZE);\r
\r
//\r
// Perform AES data encryption with CBC mode\r
//\r
- AES_cbc_encrypt (Input, Output, (UINT32) InputSize, AesKey, IvecBuffer, AES_ENCRYPT);\r
+ AES_cbc_encrypt (Input, Output, (UINT32)InputSize, AesKey, IvecBuffer, AES_ENCRYPT);\r
\r
return TRUE;\r
}\r
//\r
// Check input parameters.\r
//\r
- if (AesContext == NULL || Input == NULL || (InputSize % AES_BLOCK_SIZE) != 0) {\r
+ if ((AesContext == NULL) || (Input == NULL) || ((InputSize % AES_BLOCK_SIZE) != 0)) {\r
return FALSE;\r
}\r
\r
- if (Ivec == NULL || Output == NULL || InputSize > INT_MAX) {\r
+ if ((Ivec == NULL) || (Output == NULL) || (InputSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
- AesKey = (AES_KEY *) AesContext;\r
+ AesKey = (AES_KEY *)AesContext;\r
CopyMem (IvecBuffer, Ivec, AES_BLOCK_SIZE);\r
\r
//\r
// Perform AES data decryption with CBC mode\r
//\r
- AES_cbc_encrypt (Input, Output, (UINT32) InputSize, AesKey + 1, IvecBuffer, AES_DECRYPT);\r
+ AES_cbc_encrypt (Input, Output, (UINT32)InputSize, AesKey + 1, IvecBuffer, AES_DECRYPT);\r
\r
return TRUE;\r
}\r
#include <openssl/md5.h>\r
\r
#ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.\r
\r
//\r
// Retrieves the OpenSSL MD5 Context Size\r
//\r
- return (UINTN) (sizeof (MD5_CTX));\r
+ return (UINTN)(sizeof (MD5_CTX));\r
}\r
\r
-\r
/**\r
Initializes user-supplied memory pointed by Md5Context as MD5 hash context for\r
subsequent use.\r
//\r
// OpenSSL MD5 Context Initialization\r
//\r
- return (BOOLEAN) (MD5_Init ((MD5_CTX *) Md5Context));\r
+ return (BOOLEAN)(MD5_Init ((MD5_CTX *)Md5Context));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Md5Context == NULL || NewMd5Context == NULL) {\r
+ if ((Md5Context == NULL) || (NewMd5Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
//\r
- if (Data == NULL && (DataSize != 0)) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL MD5 Hash Update\r
//\r
- return (BOOLEAN) (MD5_Update ((MD5_CTX *) Md5Context, Data, DataSize));\r
+ return (BOOLEAN)(MD5_Update ((MD5_CTX *)Md5Context, Data, DataSize));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Md5Context == NULL || HashValue == NULL) {\r
+ if ((Md5Context == NULL) || (HashValue == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL MD5 Hash Finalization\r
//\r
- return (BOOLEAN) (MD5_Final (HashValue, (MD5_CTX *) Md5Context));\r
+ return (BOOLEAN)(MD5_Final (HashValue, (MD5_CTX *)Md5Context));\r
}\r
\r
/**\r
if (HashValue == NULL) {\r
return FALSE;\r
}\r
- if (Data == NULL && (DataSize != 0)) {\r
+\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
return TRUE;\r
}\r
}\r
+\r
#endif\r
#include <openssl/sha.h>\r
\r
#ifndef DISABLE_SHA1_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
\r
//\r
// Retrieves OpenSSL SHA Context Size\r
//\r
- return (UINTN) (sizeof (SHA_CTX));\r
+ return (UINTN)(sizeof (SHA_CTX));\r
}\r
\r
/**\r
//\r
// OpenSSL SHA-1 Context Initialization\r
//\r
- return (BOOLEAN) (SHA1_Init ((SHA_CTX *) Sha1Context));\r
+ return (BOOLEAN)(SHA1_Init ((SHA_CTX *)Sha1Context));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha1Context == NULL || NewSha1Context == NULL) {\r
+ if ((Sha1Context == NULL) || (NewSha1Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
//\r
- if (Data == NULL && DataSize != 0) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-1 Hash Update\r
//\r
- return (BOOLEAN) (SHA1_Update ((SHA_CTX *) Sha1Context, Data, DataSize));\r
+ return (BOOLEAN)(SHA1_Update ((SHA_CTX *)Sha1Context, Data, DataSize));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha1Context == NULL || HashValue == NULL) {\r
+ if ((Sha1Context == NULL) || (HashValue == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-1 Hash Finalization\r
//\r
- return (BOOLEAN) (SHA1_Final (HashValue, (SHA_CTX *) Sha1Context));\r
+ return (BOOLEAN)(SHA1_Final (HashValue, (SHA_CTX *)Sha1Context));\r
}\r
\r
/**\r
if (HashValue == NULL) {\r
return FALSE;\r
}\r
- if (Data == NULL && DataSize != 0) {\r
+\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
return TRUE;\r
}\r
}\r
+\r
#endif\r
//\r
// Retrieves OpenSSL SHA-256 Context Size\r
//\r
- return (UINTN) (sizeof (SHA256_CTX));\r
+ return (UINTN)(sizeof (SHA256_CTX));\r
}\r
\r
/**\r
//\r
// OpenSSL SHA-256 Context Initialization\r
//\r
- return (BOOLEAN) (SHA256_Init ((SHA256_CTX *) Sha256Context));\r
+ return (BOOLEAN)(SHA256_Init ((SHA256_CTX *)Sha256Context));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha256Context == NULL || NewSha256Context == NULL) {\r
+ if ((Sha256Context == NULL) || (NewSha256Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
//\r
- if (Data == NULL && DataSize != 0) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-256 Hash Update\r
//\r
- return (BOOLEAN) (SHA256_Update ((SHA256_CTX *) Sha256Context, Data, DataSize));\r
+ return (BOOLEAN)(SHA256_Update ((SHA256_CTX *)Sha256Context, Data, DataSize));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha256Context == NULL || HashValue == NULL) {\r
+ if ((Sha256Context == NULL) || (HashValue == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-256 Hash Finalization\r
//\r
- return (BOOLEAN) (SHA256_Final (HashValue, (SHA256_CTX *) Sha256Context));\r
+ return (BOOLEAN)(SHA256_Final (HashValue, (SHA256_CTX *)Sha256Context));\r
}\r
\r
/**\r
if (HashValue == NULL) {\r
return FALSE;\r
}\r
- if (Data == NULL && DataSize != 0) {\r
+\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// Retrieves OpenSSL SHA-384 Context Size\r
//\r
- return (UINTN) (sizeof (SHA512_CTX));\r
+ return (UINTN)(sizeof (SHA512_CTX));\r
}\r
\r
/**\r
//\r
// OpenSSL SHA-384 Context Initialization\r
//\r
- return (BOOLEAN) (SHA384_Init ((SHA512_CTX *) Sha384Context));\r
+ return (BOOLEAN)(SHA384_Init ((SHA512_CTX *)Sha384Context));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha384Context == NULL || NewSha384Context == NULL) {\r
+ if ((Sha384Context == NULL) || (NewSha384Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
//\r
- if (Data == NULL && DataSize != 0) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-384 Hash Update\r
//\r
- return (BOOLEAN) (SHA384_Update ((SHA512_CTX *) Sha384Context, Data, DataSize));\r
+ return (BOOLEAN)(SHA384_Update ((SHA512_CTX *)Sha384Context, Data, DataSize));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha384Context == NULL || HashValue == NULL) {\r
+ if ((Sha384Context == NULL) || (HashValue == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-384 Hash Finalization\r
//\r
- return (BOOLEAN) (SHA384_Final (HashValue, (SHA512_CTX *) Sha384Context));\r
+ return (BOOLEAN)(SHA384_Final (HashValue, (SHA512_CTX *)Sha384Context));\r
}\r
\r
/**\r
if (HashValue == NULL) {\r
return FALSE;\r
}\r
- if (Data == NULL && DataSize != 0) {\r
+\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// Retrieves OpenSSL SHA-512 Context Size\r
//\r
- return (UINTN) (sizeof (SHA512_CTX));\r
+ return (UINTN)(sizeof (SHA512_CTX));\r
}\r
\r
/**\r
//\r
// OpenSSL SHA-512 Context Initialization\r
//\r
- return (BOOLEAN) (SHA512_Init ((SHA512_CTX *) Sha512Context));\r
+ return (BOOLEAN)(SHA512_Init ((SHA512_CTX *)Sha512Context));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha512Context == NULL || NewSha512Context == NULL) {\r
+ if ((Sha512Context == NULL) || (NewSha512Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
//\r
- if (Data == NULL && DataSize != 0) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-512 Hash Update\r
//\r
- return (BOOLEAN) (SHA512_Update ((SHA512_CTX *) Sha512Context, Data, DataSize));\r
+ return (BOOLEAN)(SHA512_Update ((SHA512_CTX *)Sha512Context, Data, DataSize));\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Sha512Context == NULL || HashValue == NULL) {\r
+ if ((Sha512Context == NULL) || (HashValue == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// OpenSSL SHA-512 Hash Finalization\r
//\r
- return (BOOLEAN) (SHA384_Final (HashValue, (SHA512_CTX *) Sha512Context));\r
+ return (BOOLEAN)(SHA384_Final (HashValue, (SHA512_CTX *)Sha512Context));\r
}\r
\r
/**\r
if (HashValue == NULL) {\r
return FALSE;\r
}\r
- if (Data == NULL && DataSize != 0) {\r
+\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// Retrieves Openssl SM3 Context Size\r
//\r
- return (UINTN) (sizeof (SM3_CTX));\r
+ return (UINTN)(sizeof (SM3_CTX));\r
}\r
\r
/**\r
//\r
// Openssl SM3 Context Initialization\r
//\r
- sm3_init ((SM3_CTX *) Sm3Context);\r
+ sm3_init ((SM3_CTX *)Sm3Context);\r
return TRUE;\r
}\r
\r
//\r
// Check input parameters.\r
//\r
- if (Sm3Context == NULL || NewSm3Context == NULL) {\r
+ if ((Sm3Context == NULL) || (NewSm3Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in Openssl\r
//\r
- if (Data == NULL && DataSize != 0) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// Openssl SM3 Hash Update\r
//\r
- sm3_update ((SM3_CTX *) Sm3Context, Data, DataSize);\r
+ sm3_update ((SM3_CTX *)Sm3Context, Data, DataSize);\r
\r
return TRUE;\r
}\r
//\r
// Check input parameters.\r
//\r
- if (Sm3Context == NULL || HashValue == NULL) {\r
+ if ((Sm3Context == NULL) || (HashValue == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Openssl SM3 Hash Finalization\r
//\r
- sm3_final (HashValue, (SM3_CTX *) Sm3Context);\r
+ sm3_final (HashValue, (SM3_CTX *)Sm3Context);\r
\r
return TRUE;\r
}\r
OUT UINT8 *HashValue\r
)\r
{\r
- SM3_CTX Ctx;\r
+ SM3_CTX Ctx;\r
\r
//\r
// Check input parameters.\r
if (HashValue == NULL) {\r
return FALSE;\r
}\r
- if (Data == NULL && DataSize != 0) {\r
+\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// SM3 Hash Computation.\r
//\r
- sm3_init(&Ctx);\r
+ sm3_init (&Ctx);\r
\r
- sm3_update(&Ctx, Data, DataSize);\r
+ sm3_update (&Ctx, Data, DataSize);\r
\r
- sm3_final(HashValue, &Ctx);\r
+ sm3_final (HashValue, &Ctx);\r
\r
return TRUE;\r
}\r
//\r
// Allocates & Initializes HMAC_CTX Context by OpenSSL HMAC_CTX_new()\r
//\r
- return (VOID *) HMAC_CTX_new ();\r
+ return (VOID *)HMAC_CTX_new ();\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (HmacSha256Context == NULL || KeySize > INT_MAX) {\r
+ if ((HmacSha256Context == NULL) || (KeySize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
- if (HMAC_Init_ex ((HMAC_CTX *)HmacSha256Context, Key, (UINT32) KeySize, EVP_sha256(), NULL) != 1) {\r
+ if (HMAC_Init_ex ((HMAC_CTX *)HmacSha256Context, Key, (UINT32)KeySize, EVP_sha256 (), NULL) != 1) {\r
return FALSE;\r
}\r
\r
//\r
// Check input parameters.\r
//\r
- if (HmacSha256Context == NULL || NewHmacSha256Context == NULL) {\r
+ if ((HmacSha256Context == NULL) || (NewHmacSha256Context == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Check invalid parameters, in case that only DataLength was checked in OpenSSL\r
//\r
- if (Data == NULL && DataSize != 0) {\r
+ if ((Data == NULL) && (DataSize != 0)) {\r
return FALSE;\r
}\r
\r
//\r
// Check input parameters.\r
//\r
- if (HmacSha256Context == NULL || HmacValue == NULL) {\r
+ if ((HmacSha256Context == NULL) || (HmacValue == NULL)) {\r
return FALSE;\r
}\r
\r
if (HMAC_Final ((HMAC_CTX *)HmacSha256Context, HmacValue, &Length) != 1) {\r
return FALSE;\r
}\r
+\r
if (HMAC_CTX_reset ((HMAC_CTX *)HmacSha256Context) != 1) {\r
return FALSE;\r
}\r
#include <openssl/opensslv.h>\r
\r
#if OPENSSL_VERSION_NUMBER < 0x10100000L\r
-#define OBJ_get0_data(o) ((o)->data)\r
-#define OBJ_length(o) ((o)->length)\r
+#define OBJ_get0_data(o) ((o)->data)\r
+#define OBJ_length(o) ((o)->length)\r
#endif\r
\r
/**\r
IN UINTN OutSize\r
)\r
{\r
- EVP_PKEY_CTX *pHkdfCtx;\r
- BOOLEAN Result;\r
+ EVP_PKEY_CTX *pHkdfCtx;\r
+ BOOLEAN Result;\r
\r
- if (Key == NULL || Salt == NULL || Info == NULL || Out == NULL ||\r
- KeySize > INT_MAX || SaltSize > INT_MAX || InfoSize > INT_MAX || OutSize > INT_MAX ) {\r
+ if ((Key == NULL) || (Salt == NULL) || (Info == NULL) || (Out == NULL) ||\r
+ (KeySize > INT_MAX) || (SaltSize > INT_MAX) || (InfoSize > INT_MAX) || (OutSize > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
\r
- pHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);\r
+ pHkdfCtx = EVP_PKEY_CTX_new_id (EVP_PKEY_HKDF, NULL);\r
if (pHkdfCtx == NULL) {\r
return FALSE;\r
}\r
\r
- Result = EVP_PKEY_derive_init(pHkdfCtx) > 0;\r
+ Result = EVP_PKEY_derive_init (pHkdfCtx) > 0;\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_hkdf_md(pHkdfCtx, EVP_sha256()) > 0;\r
+ Result = EVP_PKEY_CTX_set_hkdf_md (pHkdfCtx, EVP_sha256 ()) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set1_hkdf_salt(pHkdfCtx, Salt, (UINT32)SaltSize) > 0;\r
+ Result = EVP_PKEY_CTX_set1_hkdf_salt (pHkdfCtx, Salt, (UINT32)SaltSize) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set1_hkdf_key(pHkdfCtx, Key, (UINT32)KeySize) > 0;\r
+ Result = EVP_PKEY_CTX_set1_hkdf_key (pHkdfCtx, Key, (UINT32)KeySize) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_add1_hkdf_info(pHkdfCtx, Info, (UINT32)InfoSize) > 0;\r
+ Result = EVP_PKEY_CTX_add1_hkdf_info (pHkdfCtx, Info, (UINT32)InfoSize) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_derive(pHkdfCtx, Out, &OutSize) > 0;\r
+ Result = EVP_PKEY_derive (pHkdfCtx, Out, &OutSize) > 0;\r
}\r
\r
- EVP_PKEY_CTX_free(pHkdfCtx);\r
+ EVP_PKEY_CTX_free (pHkdfCtx);\r
pHkdfCtx = NULL;\r
return Result;\r
}\r
{\r
INTN KeyLength;\r
\r
- ZeroMem ((VOID *) Buf, (UINTN) Size);\r
+ ZeroMem ((VOID *)Buf, (UINTN)Size);\r
if (Key != NULL) {\r
//\r
// Duplicate key phrase directly.\r
//\r
- KeyLength = (INTN) AsciiStrLen ((CHAR8 *)Key);\r
- KeyLength = (KeyLength > Size ) ? Size : KeyLength;\r
- CopyMem (Buf, Key, (UINTN) KeyLength);\r
+ KeyLength = (INTN)AsciiStrLen ((CHAR8 *)Key);\r
+ KeyLength = (KeyLength > Size) ? Size : KeyLength;\r
+ CopyMem (Buf, Key, (UINTN)KeyLength);\r
return KeyLength;\r
} else {\r
return 0;\r
//\r
// Check input parameters.\r
//\r
- if (PemData == NULL || RsaContext == NULL || PemSize > INT_MAX) {\r
+ if ((PemData == NULL) || (RsaContext == NULL) || (PemSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
if (EVP_add_cipher (EVP_aes_128_cbc ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_cipher (EVP_aes_192_cbc ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_cipher (EVP_aes_256_cbc ()) == 0) {\r
return FALSE;\r
}\r
goto _Exit;\r
}\r
\r
- if (BIO_write (PemBio, PemData, (int) PemSize) <= 0) {\r
+ if (BIO_write (PemBio, PemData, (int)PemSize) <= 0) {\r
goto _Exit;\r
}\r
\r
//\r
// Retrieve RSA Private Key from encrypted PEM data.\r
//\r
- *RsaContext = PEM_read_bio_RSAPrivateKey (PemBio, NULL, (pem_password_cb *) &PasswordCallback, (void *) Password);\r
+ *RsaContext = PEM_read_bio_RSAPrivateKey (PemBio, NULL, (pem_password_cb *)&PasswordCallback, (void *)Password);\r
if (*RsaContext != NULL) {\r
Status = TRUE;\r
}\r
//\r
// OID ASN.1 Value for SPC_INDIRECT_DATA_OBJID\r
//\r
-UINT8 mSpcIndirectOidValue[] = {\r
+UINT8 mSpcIndirectOidValue[] = {\r
0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04\r
- };\r
+};\r
\r
/**\r
Verifies the validity of a PE/COFF Authenticode Signature as described in "Windows\r
// some authenticode-specific structure. Use opaque ASN.1 string to retrieve\r
// PKCS#7 ContentInfo here.\r
//\r
- SpcIndirectDataOid = OBJ_get0_data(Pkcs7->d.sign->contents->type);\r
- if (OBJ_length(Pkcs7->d.sign->contents->type) != sizeof(mSpcIndirectOidValue) ||\r
- CompareMem (\r
- SpcIndirectDataOid,\r
- mSpcIndirectOidValue,\r
- sizeof (mSpcIndirectOidValue)\r
- ) != 0) {\r
+ SpcIndirectDataOid = OBJ_get0_data (Pkcs7->d.sign->contents->type);\r
+ if ((OBJ_length (Pkcs7->d.sign->contents->type) != sizeof (mSpcIndirectOidValue)) ||\r
+ (CompareMem (\r
+ SpcIndirectDataOid,\r
+ mSpcIndirectOidValue,\r
+ sizeof (mSpcIndirectOidValue)\r
+ ) != 0))\r
+ {\r
//\r
// Un-matched SPC_INDIRECT_DATA_OBJID.\r
//\r
goto _Exit;\r
}\r
\r
-\r
SpcIndirectDataContent = (UINT8 *)(Pkcs7->d.sign->contents->d.other->value.asn1_string->data);\r
\r
//\r
//\r
// Short Form of Length Encoding (Length < 128)\r
//\r
- ContentSize = (UINTN) (Asn1Byte & 0x7F);\r
+ ContentSize = (UINTN)(Asn1Byte & 0x7F);\r
//\r
// Skip the SEQUENCE Tag;\r
//\r
SpcIndirectDataContent += 2;\r
-\r
} else if ((Asn1Byte & 0x81) == 0x81) {\r
//\r
// Long Form of Length Encoding (128 <= Length < 255, Single Octet)\r
//\r
- ContentSize = (UINTN) (*(UINT8 *)(SpcIndirectDataContent + 2));\r
+ ContentSize = (UINTN)(*(UINT8 *)(SpcIndirectDataContent + 2));\r
//\r
// Skip the SEQUENCE Tag;\r
//\r
SpcIndirectDataContent += 3;\r
-\r
} else if ((Asn1Byte & 0x82) == 0x82) {\r
//\r
// Long Form of Length Encoding (Length > 255, Two Octet)\r
//\r
- ContentSize = (UINTN) (*(UINT8 *)(SpcIndirectDataContent + 2));\r
+ ContentSize = (UINTN)(*(UINT8 *)(SpcIndirectDataContent + 2));\r
ContentSize = (ContentSize << 8) + (UINTN)(*(UINT8 *)(SpcIndirectDataContent + 3));\r
//\r
// Skip the SEQUENCE Tag;\r
//\r
SpcIndirectDataContent += 4;\r
-\r
} else {\r
goto _Exit;\r
}\r
//\r
// Verifies the PKCS#7 Signed Data in PE/COFF Authenticode Signature\r
//\r
- Status = (BOOLEAN) Pkcs7Verify (OrigAuthData, DataSize, TrustedCert, CertSize, SpcIndirectDataContent, ContentSize);\r
+ Status = (BOOLEAN)Pkcs7Verify (OrigAuthData, DataSize, TrustedCert, CertSize, SpcIndirectDataContent, ContentSize);\r
\r
_Exit:\r
//\r
//\r
// Allocates & Initializes DH Context by OpenSSL DH_new()\r
//\r
- return (VOID *) DH_new ();\r
+ return (VOID *)DH_new ();\r
}\r
\r
/**\r
//\r
// Free OpenSSL DH Context\r
//\r
- DH_free ((DH *) DhContext);\r
+ DH_free ((DH *)DhContext);\r
}\r
\r
/**\r
OUT UINT8 *Prime\r
)\r
{\r
- BOOLEAN RetVal;\r
- BIGNUM *BnP;\r
+ BOOLEAN RetVal;\r
+ BIGNUM *BnP;\r
\r
//\r
// Check input parameters.\r
//\r
- if (DhContext == NULL || Prime == NULL || PrimeLength > INT_MAX) {\r
+ if ((DhContext == NULL) || (Prime == NULL) || (PrimeLength > INT_MAX)) {\r
return FALSE;\r
}\r
\r
- if (Generator != DH_GENERATOR_2 && Generator != DH_GENERATOR_5) {\r
+ if ((Generator != DH_GENERATOR_2) && (Generator != DH_GENERATOR_5)) {\r
return FALSE;\r
}\r
\r
- RetVal = (BOOLEAN) DH_generate_parameters_ex (DhContext, (UINT32) PrimeLength, (UINT32) Generator, NULL);\r
+ RetVal = (BOOLEAN)DH_generate_parameters_ex (DhContext, (UINT32)PrimeLength, (UINT32)Generator, NULL);\r
if (!RetVal) {\r
return FALSE;\r
}\r
//\r
// Check input parameters.\r
//\r
- if (DhContext == NULL || Prime == NULL || PrimeLength > INT_MAX) {\r
+ if ((DhContext == NULL) || (Prime == NULL) || (PrimeLength > INT_MAX)) {\r
return FALSE;\r
}\r
\r
- if (Generator != DH_GENERATOR_2 && Generator != DH_GENERATOR_5) {\r
+ if ((Generator != DH_GENERATOR_2) && (Generator != DH_GENERATOR_5)) {\r
return FALSE;\r
}\r
\r
IN OUT UINTN *PublicKeySize\r
)\r
{\r
- BOOLEAN RetVal;\r
- DH *Dh;\r
- BIGNUM *DhPubKey;\r
- INTN Size;\r
+ BOOLEAN RetVal;\r
+ DH *Dh;\r
+ BIGNUM *DhPubKey;\r
+ INTN Size;\r
\r
//\r
// Check input parameters.\r
//\r
- if (DhContext == NULL || PublicKeySize == NULL) {\r
+ if ((DhContext == NULL) || (PublicKeySize == NULL)) {\r
return FALSE;\r
}\r
\r
- if (PublicKey == NULL && *PublicKeySize != 0) {\r
+ if ((PublicKey == NULL) && (*PublicKeySize != 0)) {\r
return FALSE;\r
}\r
\r
- Dh = (DH *) DhContext;\r
+ Dh = (DH *)DhContext;\r
\r
- RetVal = (BOOLEAN) DH_generate_key (DhContext);\r
+ RetVal = (BOOLEAN)DH_generate_key (DhContext);\r
if (RetVal) {\r
DH_get0_key (Dh, (const BIGNUM **)&DhPubKey, NULL);\r
Size = BN_num_bytes (DhPubKey);\r
- if ((Size > 0) && (*PublicKeySize < (UINTN) Size)) {\r
+ if ((Size > 0) && (*PublicKeySize < (UINTN)Size)) {\r
*PublicKeySize = Size;\r
return FALSE;\r
}\r
if (PublicKey != NULL) {\r
BN_bn2bin (DhPubKey, PublicKey);\r
}\r
+\r
*PublicKeySize = Size;\r
}\r
\r
//\r
// Check input parameters.\r
//\r
- if (DhContext == NULL || PeerPublicKey == NULL || KeySize == NULL || Key == NULL) {\r
+ if ((DhContext == NULL) || (PeerPublicKey == NULL) || (KeySize == NULL) || (Key == NULL)) {\r
return FALSE;\r
}\r
\r
return FALSE;\r
}\r
\r
- Bn = BN_bin2bn (PeerPublicKey, (UINT32) PeerPublicKeySize, NULL);\r
+ Bn = BN_bin2bn (PeerPublicKey, (UINT32)PeerPublicKeySize, NULL);\r
if (Bn == NULL) {\r
return FALSE;\r
}\r
return FALSE;\r
}\r
\r
- if (*KeySize < (UINTN) Size) {\r
+ if (*KeySize < (UINTN)Size) {\r
*KeySize = Size;\r
BN_free (Bn);\r
return FALSE;\r
//\r
// Check input parameters.\r
//\r
- if (PublicKey == NULL || InData == NULL ||\r
- EncryptedData == NULL || EncryptedDataSize == NULL) {\r
+ if ((PublicKey == NULL) || (InData == NULL) ||\r
+ (EncryptedData == NULL) || (EncryptedDataSize == NULL))\r
+ {\r
return FALSE;\r
}\r
\r
return FALSE;\r
}\r
\r
- *EncryptedData = NULL;\r
- *EncryptedDataSize = 0;\r
- Result = FALSE;\r
- TempPointer = NULL;\r
- CertData = NULL;\r
- InternalPublicKey = NULL;\r
- PkeyCtx = NULL;\r
- OutData = NULL;\r
- OutDataSize = 0;\r
+ *EncryptedData = NULL;\r
+ *EncryptedDataSize = 0;\r
+ Result = FALSE;\r
+ TempPointer = NULL;\r
+ CertData = NULL;\r
+ InternalPublicKey = NULL;\r
+ PkeyCtx = NULL;\r
+ OutData = NULL;\r
+ OutDataSize = 0;\r
\r
//\r
// If it provides a seed then use it.\r
// Parse the X509 cert and extract the public key.\r
//\r
TempPointer = PublicKey;\r
- CertData = d2i_X509 (&CertData, &TempPointer, (UINT32)PublicKeySize);\r
+ CertData = d2i_X509 (&CertData, &TempPointer, (UINT32)PublicKeySize);\r
if (CertData == NULL) {\r
//\r
// Fail to parse X509 cert.\r
//\r
goto _Exit;\r
}\r
+\r
//\r
// Initialize the context and set the desired padding.\r
//\r
- if (EVP_PKEY_encrypt_init (PkeyCtx) <= 0 ||\r
- EVP_PKEY_CTX_set_rsa_padding (PkeyCtx, RSA_PKCS1_OAEP_PADDING) <= 0) {\r
+ if ((EVP_PKEY_encrypt_init (PkeyCtx) <= 0) ||\r
+ (EVP_PKEY_CTX_set_rsa_padding (PkeyCtx, RSA_PKCS1_OAEP_PADDING) <= 0))\r
+ {\r
//\r
// Fail to initialize the context.\r
//\r
// Fail to encrypt data, need to free the output buffer.\r
//\r
FreePool (OutData);\r
- OutData = NULL;\r
+ OutData = NULL;\r
OutDataSize = 0;\r
goto _Exit;\r
}\r
//\r
// Encrypt done.\r
//\r
- *EncryptedData = OutData;\r
+ *EncryptedData = OutData;\r
*EncryptedDataSize = OutDataSize;\r
- Result = TRUE;\r
+ Result = TRUE;\r
\r
_Exit:\r
//\r
// Release Resources\r
//\r
if (CertData != NULL) {\r
- X509_free (CertData );\r
+ X509_free (CertData);\r
}\r
+\r
if (InternalPublicKey != NULL) {\r
EVP_PKEY_free (InternalPublicKey);\r
}\r
+\r
if (PkeyCtx != NULL) {\r
EVP_PKEY_CTX_free (PkeyCtx);\r
}\r
if ((Password == NULL) || (Salt == NULL) || (OutKey == NULL)) {\r
return FALSE;\r
}\r
+\r
if ((PasswordLength == 0) || (PasswordLength > INT_MAX) ||\r
(SaltLength == 0) || (SaltLength > INT_MAX) ||\r
(KeyLength == 0) || (KeyLength > INT_MAX) ||\r
- (IterationCount < 1) || (IterationCount > INT_MAX)) {\r
+ (IterationCount < 1) || (IterationCount > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
+\r
//\r
// Make sure the digest algorithm is supported.\r
//\r
switch (DigestSize) {\r
- case SHA1_DIGEST_SIZE:\r
- HashAlg = EVP_sha1();\r
- break;\r
- case SHA256_DIGEST_SIZE:\r
- HashAlg = EVP_sha256();\r
- break;\r
- default:\r
- return FALSE;\r
- break;\r
+ case SHA1_DIGEST_SIZE:\r
+ HashAlg = EVP_sha1 ();\r
+ break;\r
+ case SHA256_DIGEST_SIZE:\r
+ HashAlg = EVP_sha256 ();\r
+ break;\r
+ default:\r
+ return FALSE;\r
+ break;\r
}\r
\r
//\r
//\r
// Check input parameters.\r
//\r
- if (PrivateKey == NULL || KeyPassword == NULL || InData == NULL ||\r
- SignCert == NULL || SignedData == NULL || SignedDataSize == NULL || InDataSize > INT_MAX) {\r
+ if ((PrivateKey == NULL) || (KeyPassword == NULL) || (InData == NULL) ||\r
+ (SignCert == NULL) || (SignedData == NULL) || (SignedDataSize == NULL) || (InDataSize > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
\r
Status = RsaGetPrivateKeyFromPem (\r
PrivateKey,\r
PrivateKeySize,\r
- (CONST CHAR8 *) KeyPassword,\r
- (VOID **) &RsaContext\r
+ (CONST CHAR8 *)KeyPassword,\r
+ (VOID **)&RsaContext\r
);\r
if (!Status) {\r
return Status;\r
if (EVP_add_digest (EVP_md5 ()) == 0) {\r
goto _Exit;\r
}\r
+\r
if (EVP_add_digest (EVP_sha1 ()) == 0) {\r
goto _Exit;\r
}\r
+\r
if (EVP_add_digest (EVP_sha256 ()) == 0) {\r
goto _Exit;\r
}\r
if (Key == NULL) {\r
goto _Exit;\r
}\r
- if (EVP_PKEY_assign_RSA (Key, (RSA *) RsaContext) == 0) {\r
+\r
+ if (EVP_PKEY_assign_RSA (Key, (RSA *)RsaContext) == 0) {\r
goto _Exit;\r
}\r
\r
goto _Exit;\r
}\r
\r
- if (BIO_write (DataBio, InData, (int) InDataSize) <= 0) {\r
+ if (BIO_write (DataBio, InData, (int)InDataSize) <= 0) {\r
goto _Exit;\r
}\r
\r
// Create the PKCS#7 signedData structure.\r
//\r
Pkcs7 = PKCS7_sign (\r
- (X509 *) SignCert,\r
+ (X509 *)SignCert,\r
Key,\r
- (STACK_OF(X509) *) OtherCerts,\r
+ (STACK_OF (X509) *) OtherCerts,\r
DataBio,\r
PKCS7_BINARY | PKCS7_NOATTR | PKCS7_DETACHED\r
);\r
goto _Exit;\r
}\r
\r
- P7Data = malloc (P7DataSize);\r
+ P7Data = malloc (P7DataSize);\r
if (P7Data == NULL) {\r
goto _Exit;\r
}\r
\r
Tmp = P7Data;\r
- P7DataSize = i2d_PKCS7 (Pkcs7, (unsigned char **) &Tmp);\r
+ P7DataSize = i2d_PKCS7 (Pkcs7, (unsigned char **)&Tmp);\r
ASSERT (P7DataSize > 19);\r
\r
//\r
ASSERT (FALSE);\r
return FALSE;\r
}\r
-\r
STATIC\r
BOOLEAN\r
Pkcs7TypeIsOther (\r
- IN PKCS7 *P7\r
+ IN PKCS7 *P7\r
)\r
{\r
- BOOLEAN Others;\r
- INTN Nid = OBJ_obj2nid (P7->type);\r
+ BOOLEAN Others;\r
+ INTN Nid = OBJ_obj2nid (P7->type);\r
\r
switch (Nid) {\r
case NID_pkcs7_data:\r
@return ASN1_OCTET_STRING ASN.1 string.\r
**/\r
STATIC\r
-ASN1_OCTET_STRING*\r
+ASN1_OCTET_STRING *\r
Pkcs7GetOctetString (\r
- IN PKCS7 *P7\r
+ IN PKCS7 *P7\r
)\r
{\r
if (PKCS7_type_is_data (P7)) {\r
return P7->d.data;\r
}\r
\r
- if (Pkcs7TypeIsOther(P7) && (P7->d.other != NULL) &&\r
- (P7->d.other->type == V_ASN1_OCTET_STRING)) {\r
+ if (Pkcs7TypeIsOther (P7) && (P7->d.other != NULL) &&\r
+ (P7->d.other->type == V_ASN1_OCTET_STRING))\r
+ {\r
return P7->d.other->value.octet_string;\r
}\r
\r
*ContentSize = 0;\r
goto _Exit;\r
}\r
+\r
CopyMem (*Content, OctStr->data, *ContentSize);\r
}\r
}\r
+\r
Status = TRUE;\r
\r
_Exit:\r
#include <openssl/x509v3.h>\r
#include <openssl/pkcs7.h>\r
\r
-UINT8 mOidValue[9] = { 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02 };\r
+UINT8 mOidValue[9] = { 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02 };\r
\r
/**\r
Check input P7Data is a wrapped ContentInfo structure or not. If not construct\r
OUT UINTN *WrapDataSize\r
)\r
{\r
- BOOLEAN Wrapped;\r
- UINT8 *SignedData;\r
+ BOOLEAN Wrapped;\r
+ UINT8 *SignedData;\r
\r
//\r
// Check whether input P7Data is a wrapped ContentInfo structure or not.\r
}\r
\r
if (Wrapped) {\r
- *WrapData = (UINT8 *) P7Data;\r
+ *WrapData = (UINT8 *)P7Data;\r
*WrapDataSize = P7Length;\r
} else {\r
//\r
//\r
// Part2: Length1 = P7Length + 19 - 4, in big endian.\r
//\r
- SignedData[2] = (UINT8) (((UINT16) (*WrapDataSize - 4)) >> 8);\r
- SignedData[3] = (UINT8) (((UINT16) (*WrapDataSize - 4)) & 0xff);\r
+ SignedData[2] = (UINT8)(((UINT16)(*WrapDataSize - 4)) >> 8);\r
+ SignedData[3] = (UINT8)(((UINT16)(*WrapDataSize - 4)) & 0xff);\r
\r
//\r
// Part3: 0x06, 0x09.\r
//\r
// Part6: Length2 = P7Length, in big endian.\r
//\r
- SignedData[17] = (UINT8) (((UINT16) P7Length) >> 8);\r
- SignedData[18] = (UINT8) (((UINT16) P7Length) & 0xff);\r
+ SignedData[17] = (UINT8)(((UINT16)P7Length) >> 8);\r
+ SignedData[18] = (UINT8)(((UINT16)P7Length) & 0xff);\r
\r
//\r
// Part7: P7Data.\r
**/\r
BOOLEAN\r
X509PopCertificate (\r
- IN VOID *X509Stack,\r
- OUT UINT8 **Cert,\r
- OUT UINTN *CertSize\r
+ IN VOID *X509Stack,\r
+ OUT UINT8 **Cert,\r
+ OUT UINTN *CertSize\r
)\r
{\r
- BIO *CertBio;\r
- X509 *X509Cert;\r
- STACK_OF(X509) *CertStack;\r
- BOOLEAN Status;\r
- INT32 Result;\r
- BUF_MEM *Ptr;\r
- INT32 Length;\r
- VOID *Buffer;\r
+ BIO *CertBio;\r
+ X509 *X509Cert;\r
+\r
+ STACK_OF (X509) *CertStack;\r
+ BOOLEAN Status;\r
+ INT32 Result;\r
+ BUF_MEM *Ptr;\r
+ INT32 Length;\r
+ VOID *Buffer;\r
\r
Status = FALSE;\r
\r
return Status;\r
}\r
\r
- CertStack = (STACK_OF(X509) *) X509Stack;\r
+ CertStack = (STACK_OF (X509) *) X509Stack;\r
\r
X509Cert = sk_X509_pop (CertStack);\r
\r
OUT UINTN *CertLength\r
)\r
{\r
- PKCS7 *Pkcs7;\r
- BOOLEAN Status;\r
- UINT8 *SignedData;\r
- CONST UINT8 *Temp;\r
- UINTN SignedDataSize;\r
- BOOLEAN Wrapped;\r
- STACK_OF(X509) *Stack;\r
- UINT8 Index;\r
- UINT8 *CertBuf;\r
- UINT8 *OldBuf;\r
- UINTN BufferSize;\r
- UINTN OldSize;\r
- UINT8 *SingleCert;\r
- UINTN SingleCertSize;\r
+ PKCS7 *Pkcs7;\r
+ BOOLEAN Status;\r
+ UINT8 *SignedData;\r
+ CONST UINT8 *Temp;\r
+ UINTN SignedDataSize;\r
+ BOOLEAN Wrapped;\r
+\r
+ STACK_OF (X509) *Stack;\r
+ UINT8 Index;\r
+ UINT8 *CertBuf;\r
+ UINT8 *OldBuf;\r
+ UINTN BufferSize;\r
+ UINTN OldSize;\r
+ UINT8 *SingleCert;\r
+ UINTN SingleCertSize;\r
\r
if ((P7Data == NULL) || (CertStack == NULL) || (StackLength == NULL) ||\r
- (TrustedCert == NULL) || (CertLength == NULL) || (P7Length > INT_MAX)) {\r
+ (TrustedCert == NULL) || (CertLength == NULL) || (P7Length > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
\r
goto _Exit;\r
}\r
\r
- Temp = SignedData;\r
- Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **) &Temp, (int) SignedDataSize);\r
+ Temp = SignedData;\r
+ Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **)&Temp, (int)SignedDataSize);\r
if (Pkcs7 == NULL) {\r
goto _Exit;\r
}\r
goto _Exit;\r
}\r
\r
- Stack = PKCS7_get0_signers(Pkcs7, NULL, PKCS7_BINARY);\r
+ Stack = PKCS7_get0_signers (Pkcs7, NULL, PKCS7_BINARY);\r
if (Stack == NULL) {\r
goto _Exit;\r
}\r
OldBuf = NULL;\r
}\r
\r
- WriteUnaligned32 ((UINT32 *) (CertBuf + OldSize), (UINT32) SingleCertSize);\r
+ WriteUnaligned32 ((UINT32 *)(CertBuf + OldSize), (UINT32)SingleCertSize);\r
CopyMem (CertBuf + OldSize + sizeof (UINT32), SingleCert, SingleCertSize);\r
\r
free (SingleCert);\r
//\r
CertBuf[0] = Index;\r
\r
- *CertLength = BufferSize - OldSize - sizeof (UINT32);\r
+ *CertLength = BufferSize - OldSize - sizeof (UINT32);\r
*TrustedCert = malloc (*CertLength);\r
if (*TrustedCert == NULL) {\r
goto _Exit;\r
CopyMem (*TrustedCert, CertBuf + OldSize + sizeof (UINT32), *CertLength);\r
*CertStack = CertBuf;\r
*StackLength = BufferSize;\r
- Status = TRUE;\r
+ Status = TRUE;\r
}\r
\r
_Exit:\r
}\r
\r
if (Stack != NULL) {\r
- sk_X509_pop_free(Stack, X509_free);\r
+ sk_X509_pop_free (Stack, X509_free);\r
}\r
\r
if (SingleCert != NULL) {\r
VOID\r
EFIAPI\r
Pkcs7FreeSigners (\r
- IN UINT8 *Certs\r
+ IN UINT8 *Certs\r
)\r
{\r
if (Certs == NULL) {\r
OUT UINTN *UnchainLength\r
)\r
{\r
- BOOLEAN Status;\r
- UINT8 *NewP7Data;\r
- UINTN NewP7Length;\r
- BOOLEAN Wrapped;\r
- UINT8 Index;\r
- PKCS7 *Pkcs7;\r
- X509_STORE_CTX *CertCtx;\r
- STACK_OF(X509) *CtxChain;\r
- STACK_OF(X509) *CtxUntrusted;\r
- X509 *CtxCert;\r
- STACK_OF(X509) *Signers;\r
- X509 *Signer;\r
- X509 *Cert;\r
- X509 *Issuer;\r
- X509_NAME *IssuerName;\r
- UINT8 *CertBuf;\r
- UINT8 *OldBuf;\r
- UINTN BufferSize;\r
- UINTN OldSize;\r
- UINT8 *SingleCert;\r
- UINTN CertSize;\r
+ BOOLEAN Status;\r
+ UINT8 *NewP7Data;\r
+ UINTN NewP7Length;\r
+ BOOLEAN Wrapped;\r
+ UINT8 Index;\r
+ PKCS7 *Pkcs7;\r
+ X509_STORE_CTX *CertCtx;\r
+\r
+ STACK_OF (X509) *CtxChain;\r
+ STACK_OF (X509) *CtxUntrusted;\r
+ X509 *CtxCert;\r
+\r
+ STACK_OF (X509) *Signers;\r
+ X509 *Signer;\r
+ X509 *Cert;\r
+ X509 *Issuer;\r
+ X509_NAME *IssuerName;\r
+ UINT8 *CertBuf;\r
+ UINT8 *OldBuf;\r
+ UINTN BufferSize;\r
+ UINTN OldSize;\r
+ UINT8 *SingleCert;\r
+ UINTN CertSize;\r
\r
//\r
// Initializations\r
//\r
- Status = FALSE;\r
- NewP7Data = NULL;\r
- Pkcs7 = NULL;\r
- CertCtx = NULL;\r
- CtxChain = NULL;\r
- CtxCert = NULL;\r
- CtxUntrusted = NULL;\r
- Cert = NULL;\r
- SingleCert = NULL;\r
- CertBuf = NULL;\r
- OldBuf = NULL;\r
- Signers = NULL;\r
+ Status = FALSE;\r
+ NewP7Data = NULL;\r
+ Pkcs7 = NULL;\r
+ CertCtx = NULL;\r
+ CtxChain = NULL;\r
+ CtxCert = NULL;\r
+ CtxUntrusted = NULL;\r
+ Cert = NULL;\r
+ SingleCert = NULL;\r
+ CertBuf = NULL;\r
+ OldBuf = NULL;\r
+ Signers = NULL;\r
\r
ZeroMem (&CertCtx, sizeof (CertCtx));\r
\r
// Parameter Checking\r
//\r
if ((P7Data == NULL) || (SignerChainCerts == NULL) || (ChainLength == NULL) ||\r
- (UnchainCerts == NULL) || (UnchainLength == NULL) || (P7Length > INT_MAX)) {\r
+ (UnchainCerts == NULL) || (UnchainLength == NULL) || (P7Length > INT_MAX))\r
+ {\r
return Status;\r
}\r
\r
//\r
// Decodes PKCS#7 SignedData\r
//\r
- Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **) &NewP7Data, (int) NewP7Length);\r
+ Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **)&NewP7Data, (int)NewP7Length);\r
if ((Pkcs7 == NULL) || (!PKCS7_type_is_signed (Pkcs7))) {\r
goto _Error;\r
}\r
if ((Signers == NULL) || (sk_X509_num (Signers) != 1)) {\r
goto _Error;\r
}\r
+\r
Signer = sk_X509_value (Signers, 0);\r
\r
CertCtx = X509_STORE_CTX_new ();\r
if (CertCtx == NULL) {\r
goto _Error;\r
}\r
+\r
if (!X509_STORE_CTX_init (CertCtx, NULL, Signer, Pkcs7->d.sign->cert)) {\r
goto _Error;\r
}\r
+\r
//\r
// Initialize Chained & Untrusted stack\r
//\r
CtxCert = X509_STORE_CTX_get0_cert (CertCtx);\r
if (CtxChain == NULL) {\r
if (((CtxChain = sk_X509_new_null ()) == NULL) ||\r
- (!sk_X509_push (CtxChain, CtxCert))) {\r
+ (!sk_X509_push (CtxChain, CtxCert)))\r
+ {\r
goto _Error;\r
}\r
}\r
+\r
CtxUntrusted = X509_STORE_CTX_get0_untrusted (CertCtx);\r
if (CtxUntrusted != NULL) {\r
(VOID)sk_X509_delete_ptr (CtxUntrusted, Signer);\r
// Build certificates stack chained from Signer's certificate.\r
//\r
Cert = Signer;\r
- for (; ;) {\r
+ for ( ; ;) {\r
//\r
// Self-Issue checking\r
//\r
// Found the issuer of the current certificate\r
//\r
if (CtxUntrusted != NULL) {\r
- Issuer = NULL;\r
+ Issuer = NULL;\r
IssuerName = X509_get_issuer_name (Cert);\r
Issuer = X509_find_by_subject (CtxUntrusted, IssuerName);\r
if (Issuer != NULL) {\r
if (!sk_X509_push (CtxChain, Issuer)) {\r
goto _Error;\r
}\r
+\r
(VOID)sk_X509_delete_ptr (CtxUntrusted, Issuer);\r
\r
Cert = Issuer;\r
Status = FALSE;\r
goto _Error;\r
}\r
+\r
if (OldBuf != NULL) {\r
CopyMem (CertBuf, OldBuf, OldSize);\r
free (OldBuf);\r
OldBuf = NULL;\r
}\r
\r
- WriteUnaligned32 ((UINT32 *) (CertBuf + OldSize), (UINT32) CertSize);\r
+ WriteUnaligned32 ((UINT32 *)(CertBuf + OldSize), (UINT32)CertSize);\r
CopyMem (CertBuf + OldSize + sizeof (UINT32), SingleCert, CertSize);\r
\r
free (SingleCert);\r
Status = FALSE;\r
goto _Error;\r
}\r
+\r
if (OldBuf != NULL) {\r
CopyMem (CertBuf, OldBuf, OldSize);\r
free (OldBuf);\r
OldBuf = NULL;\r
}\r
\r
- WriteUnaligned32 ((UINT32 *) (CertBuf + OldSize), (UINT32) CertSize);\r
+ WriteUnaligned32 ((UINT32 *)(CertBuf + OldSize), (UINT32)CertSize);\r
CopyMem (CertBuf + OldSize + sizeof (UINT32), SingleCert, CertSize);\r
\r
free (SingleCert);\r
if (Pkcs7 != NULL) {\r
PKCS7_free (Pkcs7);\r
}\r
+\r
sk_X509_free (Signers);\r
\r
if (CertCtx != NULL) {\r
IN UINTN DataLength\r
)\r
{\r
- PKCS7 *Pkcs7;\r
- BIO *DataBio;\r
- BOOLEAN Status;\r
- X509 *Cert;\r
- X509_STORE *CertStore;\r
- UINT8 *SignedData;\r
- CONST UINT8 *Temp;\r
- UINTN SignedDataSize;\r
- BOOLEAN Wrapped;\r
+ PKCS7 *Pkcs7;\r
+ BIO *DataBio;\r
+ BOOLEAN Status;\r
+ X509 *Cert;\r
+ X509_STORE *CertStore;\r
+ UINT8 *SignedData;\r
+ CONST UINT8 *Temp;\r
+ UINTN SignedDataSize;\r
+ BOOLEAN Wrapped;\r
\r
//\r
// Check input parameters.\r
//\r
- if (P7Data == NULL || TrustedCert == NULL || InData == NULL ||\r
- P7Length > INT_MAX || CertLength > INT_MAX || DataLength > INT_MAX) {\r
+ if ((P7Data == NULL) || (TrustedCert == NULL) || (InData == NULL) ||\r
+ (P7Length > INT_MAX) || (CertLength > INT_MAX) || (DataLength > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
\r
if (EVP_add_digest (EVP_md5 ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_digest (EVP_sha1 ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_digest (EVP_sha256 ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_digest (EVP_sha384 ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_digest (EVP_sha512 ()) == 0) {\r
return FALSE;\r
}\r
+\r
if (EVP_add_digest_alias (SN_sha1WithRSAEncryption, SN_sha1WithRSA) == 0) {\r
return FALSE;\r
}\r
goto _Exit;\r
}\r
\r
- Temp = SignedData;\r
- Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **) &Temp, (int) SignedDataSize);\r
+ Temp = SignedData;\r
+ Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **)&Temp, (int)SignedDataSize);\r
if (Pkcs7 == NULL) {\r
goto _Exit;\r
}\r
// Read DER-encoded root certificate and Construct X509 Certificate\r
//\r
Temp = TrustedCert;\r
- Cert = d2i_X509 (NULL, &Temp, (long) CertLength);\r
+ Cert = d2i_X509 (NULL, &Temp, (long)CertLength);\r
if (Cert == NULL) {\r
goto _Exit;\r
}\r
if (CertStore == NULL) {\r
goto _Exit;\r
}\r
+\r
if (!(X509_STORE_add_cert (CertStore, Cert))) {\r
goto _Exit;\r
}\r
// For generic PKCS#7 handling, InData may be NULL if the content is present\r
// in PKCS#7 structure. So ignore NULL checking here.\r
//\r
- DataBio = BIO_new_mem_buf (InData, (int) DataLength);\r
+ DataBio = BIO_new_mem_buf (InData, (int)DataLength);\r
if (DataBio == NULL) {\r
goto _Exit;\r
}\r
// Allow partial certificate chains, terminated by a non-self-signed but\r
// still trusted intermediate certificate. Also disable time checks.\r
//\r
- X509_STORE_set_flags (CertStore,\r
- X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME);\r
+ X509_STORE_set_flags (\r
+ CertStore,\r
+ X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME\r
+ );\r
\r
//\r
// OpenSSL PKCS7 Verification by default checks for SMIME (email signing) and\r
//\r
// Verifies the PKCS#7 signedData structure\r
//\r
- Status = (BOOLEAN) PKCS7_verify (Pkcs7, NULL, CertStore, DataBio, NULL, PKCS7_BINARY);\r
+ Status = (BOOLEAN)PKCS7_verify (Pkcs7, NULL, CertStore, DataBio, NULL, PKCS7_BINARY);\r
\r
_Exit:\r
//\r
\r
return Status;\r
}\r
-\r
**/\r
EFI_STATUS\r
GetSignerCertificate (\r
- IN CONST PKCS7 *CertChain,\r
- OUT X509 **SignerCert\r
+ IN CONST PKCS7 *CertChain,\r
+ OUT X509 **SignerCert\r
)\r
{\r
- EFI_STATUS Status;\r
- STACK_OF(X509) *Signers;\r
- INT32 NumberSigners;\r
+ EFI_STATUS Status;\r
\r
- Status = EFI_SUCCESS;\r
- Signers = NULL;\r
- NumberSigners = 0;\r
+ STACK_OF (X509) *Signers;\r
+ INT32 NumberSigners;\r
\r
- if (CertChain == NULL || SignerCert == NULL) {\r
+ Status = EFI_SUCCESS;\r
+ Signers = NULL;\r
+ NumberSigners = 0;\r
+\r
+ if ((CertChain == NULL) || (SignerCert == NULL)) {\r
Status = EFI_INVALID_PARAMETER;\r
goto Exit;\r
}\r
//\r
// Get the signers from the chain.\r
//\r
- Signers = PKCS7_get0_signers ((PKCS7*) CertChain, NULL, PKCS7_BINARY);\r
+ Signers = PKCS7_get0_signers ((PKCS7 *)CertChain, NULL, PKCS7_BINARY);\r
if (Signers == NULL) {\r
//\r
// Fail to get signers form PKCS7\r
return Status;\r
}\r
\r
-\r
/**\r
Determines if the specified EKU represented in ASN1 form is present\r
in a given certificate.\r
**/\r
EFI_STATUS\r
IsEkuInCertificate (\r
- IN CONST X509 *Cert,\r
- IN ASN1_OBJECT *Asn1ToFind\r
+ IN CONST X509 *Cert,\r
+ IN ASN1_OBJECT *Asn1ToFind\r
)\r
{\r
EFI_STATUS Status;\r
ASN1_OBJECT *Asn1InCert;\r
INTN Index;\r
\r
- Status = EFI_NOT_FOUND;\r
- ClonedCert = NULL;\r
- Extension = NULL;\r
- Eku = NULL;\r
- ExtensionIndex = -1;\r
- NumExtensions = 0;\r
- Asn1InCert = NULL;\r
+ Status = EFI_NOT_FOUND;\r
+ ClonedCert = NULL;\r
+ Extension = NULL;\r
+ Eku = NULL;\r
+ ExtensionIndex = -1;\r
+ NumExtensions = 0;\r
+ Asn1InCert = NULL;\r
\r
- if (Cert == NULL || Asn1ToFind == NULL) {\r
+ if ((Cert == NULL) || (Asn1ToFind == NULL)) {\r
Status = EFI_INVALID_PARAMETER;\r
goto Exit;\r
}\r
// Clone the certificate. This is required because the Extension API's\r
// only work once per instance of an X509 object.\r
//\r
- ClonedCert = X509_dup ((X509*)Cert);\r
+ ClonedCert = X509_dup ((X509 *)Cert);\r
if (ClonedCert == NULL) {\r
//\r
// Fail to duplicate cert.\r
goto Exit;\r
}\r
\r
- Eku = (EXTENDED_KEY_USAGE*)X509V3_EXT_d2i (Extension);\r
+ Eku = (EXTENDED_KEY_USAGE *)X509V3_EXT_d2i (Extension);\r
if (Eku == NULL) {\r
//\r
// Fail to get Eku from extension.\r
goto Exit;\r
}\r
\r
- if (Asn1InCert->length == Asn1ToFind->length &&\r
- CompareMem (Asn1InCert->data, Asn1ToFind->data, Asn1InCert->length) == 0) {\r
+ if ((Asn1InCert->length == Asn1ToFind->length) &&\r
+ (CompareMem (Asn1InCert->data, Asn1ToFind->data, Asn1InCert->length) == 0))\r
+ {\r
//\r
// Found Eku in certificate.\r
//\r
return Status;\r
}\r
\r
-\r
/**\r
Determines if the specified EKUs are present in a signing certificate.\r
\r
@retval EFI_NOT_FOUND One or more EKU's were not found in the signature.\r
**/\r
EFI_STATUS\r
-CheckEKUs(\r
- IN CONST X509 *SignerCert,\r
- IN CONST CHAR8 *RequiredEKUs[],\r
- IN CONST UINT32 RequiredEKUsSize,\r
- IN BOOLEAN RequireAllPresent\r
+CheckEKUs (\r
+ IN CONST X509 *SignerCert,\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST UINT32 RequiredEKUsSize,\r
+ IN BOOLEAN RequireAllPresent\r
)\r
{\r
- EFI_STATUS Status;\r
- ASN1_OBJECT *Asn1ToFind;\r
- UINT32 NumEkusFound;\r
- UINT32 Index;\r
+ EFI_STATUS Status;\r
+ ASN1_OBJECT *Asn1ToFind;\r
+ UINT32 NumEkusFound;\r
+ UINT32 Index;\r
\r
Status = EFI_SUCCESS;\r
Asn1ToFind = NULL;\r
NumEkusFound = 0;\r
\r
- if (SignerCert == NULL || RequiredEKUs == NULL || RequiredEKUsSize == 0) {\r
+ if ((SignerCert == NULL) || (RequiredEKUs == NULL) || (RequiredEKUsSize == 0)) {\r
Status = EFI_INVALID_PARAMETER;\r
goto Exit;\r
}\r
// Finding required EKU in cert.\r
//\r
if (Asn1ToFind != NULL) {\r
- ASN1_OBJECT_free(Asn1ToFind);\r
+ ASN1_OBJECT_free (Asn1ToFind);\r
Asn1ToFind = NULL;\r
}\r
\r
Exit:\r
\r
if (Asn1ToFind != NULL) {\r
- ASN1_OBJECT_free(Asn1ToFind);\r
+ ASN1_OBJECT_free (Asn1ToFind);\r
}\r
\r
if (RequireAllPresent &&\r
- NumEkusFound == RequiredEKUsSize) {\r
+ (NumEkusFound == RequiredEKUsSize))\r
+ {\r
//\r
// Found all required EKUs in certificate.\r
//\r
EFI_STATUS\r
EFIAPI\r
VerifyEKUsInPkcs7Signature (\r
- IN CONST UINT8 *Pkcs7Signature,\r
- IN CONST UINT32 SignatureSize,\r
- IN CONST CHAR8 *RequiredEKUs[],\r
- IN CONST UINT32 RequiredEKUsSize,\r
- IN BOOLEAN RequireAllPresent\r
+ IN CONST UINT8 *Pkcs7Signature,\r
+ IN CONST UINT32 SignatureSize,\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST UINT32 RequiredEKUsSize,\r
+ IN BOOLEAN RequireAllPresent\r
)\r
{\r
- EFI_STATUS Status;\r
- PKCS7 *Pkcs7;\r
- STACK_OF(X509) *CertChain;\r
- INT32 SignatureType;\r
- INT32 NumberCertsInSignature;\r
- X509 *SignerCert;\r
- UINT8 *SignedData;\r
- UINT8 *Temp;\r
- UINTN SignedDataSize;\r
- BOOLEAN IsWrapped;\r
- BOOLEAN Ok;\r
-\r
- Status = EFI_SUCCESS;\r
- Pkcs7 = NULL;\r
- CertChain = NULL;\r
- SignatureType = 0;\r
- NumberCertsInSignature = 0;\r
- SignerCert = NULL;\r
- SignedData = NULL;\r
- SignedDataSize = 0;\r
- IsWrapped = FALSE;\r
- Ok = FALSE;\r
+ EFI_STATUS Status;\r
+ PKCS7 *Pkcs7;\r
+\r
+ STACK_OF (X509) *CertChain;\r
+ INT32 SignatureType;\r
+ INT32 NumberCertsInSignature;\r
+ X509 *SignerCert;\r
+ UINT8 *SignedData;\r
+ UINT8 *Temp;\r
+ UINTN SignedDataSize;\r
+ BOOLEAN IsWrapped;\r
+ BOOLEAN Ok;\r
+\r
+ Status = EFI_SUCCESS;\r
+ Pkcs7 = NULL;\r
+ CertChain = NULL;\r
+ SignatureType = 0;\r
+ NumberCertsInSignature = 0;\r
+ SignerCert = NULL;\r
+ SignedData = NULL;\r
+ SignedDataSize = 0;\r
+ IsWrapped = FALSE;\r
+ Ok = FALSE;\r
\r
//\r
- //Validate the input parameters.\r
+ // Validate the input parameters.\r
//\r
- if (Pkcs7Signature == NULL ||\r
- SignatureSize == 0 ||\r
- RequiredEKUs == NULL ||\r
- RequiredEKUsSize == 0) {\r
+ if ((Pkcs7Signature == NULL) ||\r
+ (SignatureSize == 0) ||\r
+ (RequiredEKUs == NULL) ||\r
+ (RequiredEKUsSize == 0))\r
+ {\r
Status = EFI_INVALID_PARAMETER;\r
goto Exit;\r
}\r
//\r
// Wrap the PKCS7 data if needed.\r
//\r
- Ok = WrapPkcs7Data (Pkcs7Signature,\r
- SignatureSize,\r
- &IsWrapped,\r
- &SignedData,\r
- &SignedDataSize);\r
+ Ok = WrapPkcs7Data (\r
+ Pkcs7Signature,\r
+ SignatureSize,\r
+ &IsWrapped,\r
+ &SignedData,\r
+ &SignedDataSize\r
+ );\r
if (!Ok) {\r
//\r
// Fail to Wrap the PKCS7 data.\r
//\r
SignatureType = OBJ_obj2nid (Pkcs7->type);\r
switch (SignatureType) {\r
- case NID_pkcs7_signed:\r
- if (Pkcs7->d.sign != NULL) {\r
- CertChain = Pkcs7->d.sign->cert;\r
- }\r
- break;\r
- case NID_pkcs7_signedAndEnveloped:\r
- if (Pkcs7->d.signed_and_enveloped != NULL) {\r
- CertChain = Pkcs7->d.signed_and_enveloped->cert;\r
- }\r
- break;\r
- default:\r
- break;\r
+ case NID_pkcs7_signed:\r
+ if (Pkcs7->d.sign != NULL) {\r
+ CertChain = Pkcs7->d.sign->cert;\r
+ }\r
+\r
+ break;\r
+ case NID_pkcs7_signedAndEnveloped:\r
+ if (Pkcs7->d.signed_and_enveloped != NULL) {\r
+ CertChain = Pkcs7->d.signed_and_enveloped->cert;\r
+ }\r
+\r
+ break;\r
+ default:\r
+ break;\r
}\r
\r
//\r
// Get the leaf signer.\r
//\r
Status = GetSignerCertificate (Pkcs7, &SignerCert);\r
- if (Status != EFI_SUCCESS || SignerCert == NULL) {\r
+ if ((Status != EFI_SUCCESS) || (SignerCert == NULL)) {\r
//\r
// Fail to get the end-entity leaf signer certificate.\r
//\r
\r
return Status;\r
}\r
-\r
EFI_STATUS\r
EFIAPI\r
VerifyEKUsInPkcs7Signature (\r
- IN CONST UINT8 *Pkcs7Signature,\r
- IN CONST UINT32 SignatureSize,\r
- IN CONST CHAR8 *RequiredEKUs[],\r
- IN CONST UINT32 RequiredEKUsSize,\r
- IN BOOLEAN RequireAllPresent\r
+ IN CONST UINT8 *Pkcs7Signature,\r
+ IN CONST UINT32 SignatureSize,\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST UINT32 RequiredEKUsSize,\r
+ IN BOOLEAN RequireAllPresent\r
)\r
{\r
ASSERT (FALSE);\r
return RETURN_UNSUPPORTED;\r
}\r
-\r
VOID\r
EFIAPI\r
Pkcs7FreeSigners (\r
- IN UINT8 *Certs\r
+ IN UINT8 *Certs\r
)\r
{\r
ASSERT (FALSE);\r
ASSERT (FALSE);\r
return FALSE;\r
}\r
-\r
//\r
// Allocates & Initializes RSA Context by OpenSSL RSA_new()\r
//\r
- return (VOID *) RSA_new ();\r
+ return (VOID *)RSA_new ();\r
}\r
\r
/**\r
//\r
// Free OpenSSL RSA Context\r
//\r
- RSA_free ((RSA *) RsaContext);\r
+ RSA_free ((RSA *)RsaContext);\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (RsaContext == NULL || BnSize > INT_MAX) {\r
+ if ((RsaContext == NULL) || (BnSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
//\r
// Retrieve the components from RSA object.\r
//\r
- RsaKey = (RSA *) RsaContext;\r
+ RsaKey = (RSA *)RsaContext;\r
RSA_get0_key (RsaKey, (const BIGNUM **)&BnN, (const BIGNUM **)&BnE, (const BIGNUM **)&BnD);\r
RSA_get0_factors (RsaKey, (const BIGNUM **)&BnP, (const BIGNUM **)&BnQ);\r
RSA_get0_crt_params (RsaKey, (const BIGNUM **)&BnDp, (const BIGNUM **)&BnDq, (const BIGNUM **)&BnQInv);\r
// (N, e) are needed.\r
//\r
switch (KeyTag) {\r
-\r
- //\r
- // RSA Public Modulus (N), Public Exponent (e) and Private Exponent (d)\r
- //\r
- case RsaKeyN:\r
- case RsaKeyE:\r
- case RsaKeyD:\r
- if (BnN == NULL) {\r
- BnN = BN_new ();\r
- }\r
- if (BnE == NULL) {\r
- BnE = BN_new ();\r
- }\r
- if (BnD == NULL) {\r
- BnD = BN_new ();\r
- }\r
-\r
- if ((BnN == NULL) || (BnE == NULL) || (BnD == NULL)) {\r
- return FALSE;\r
- }\r
-\r
- switch (KeyTag) {\r
+ //\r
+ // RSA Public Modulus (N), Public Exponent (e) and Private Exponent (d)\r
+ //\r
case RsaKeyN:\r
- BnN = BN_bin2bn (BigNumber, (UINT32)BnSize, BnN);\r
- break;\r
case RsaKeyE:\r
- BnE = BN_bin2bn (BigNumber, (UINT32)BnSize, BnE);\r
- break;\r
case RsaKeyD:\r
- BnD = BN_bin2bn (BigNumber, (UINT32)BnSize, BnD);\r
- break;\r
- default:\r
- return FALSE;\r
- }\r
- if (RSA_set0_key (RsaKey, BN_dup(BnN), BN_dup(BnE), BN_dup(BnD)) == 0) {\r
- return FALSE;\r
- }\r
+ if (BnN == NULL) {\r
+ BnN = BN_new ();\r
+ }\r
+\r
+ if (BnE == NULL) {\r
+ BnE = BN_new ();\r
+ }\r
+\r
+ if (BnD == NULL) {\r
+ BnD = BN_new ();\r
+ }\r
+\r
+ if ((BnN == NULL) || (BnE == NULL) || (BnD == NULL)) {\r
+ return FALSE;\r
+ }\r
+\r
+ switch (KeyTag) {\r
+ case RsaKeyN:\r
+ BnN = BN_bin2bn (BigNumber, (UINT32)BnSize, BnN);\r
+ break;\r
+ case RsaKeyE:\r
+ BnE = BN_bin2bn (BigNumber, (UINT32)BnSize, BnE);\r
+ break;\r
+ case RsaKeyD:\r
+ BnD = BN_bin2bn (BigNumber, (UINT32)BnSize, BnD);\r
+ break;\r
+ default:\r
+ return FALSE;\r
+ }\r
+\r
+ if (RSA_set0_key (RsaKey, BN_dup (BnN), BN_dup (BnE), BN_dup (BnD)) == 0) {\r
+ return FALSE;\r
+ }\r
\r
- break;\r
-\r
- //\r
- // RSA Secret Prime Factor of Modulus (p and q)\r
- //\r
- case RsaKeyP:\r
- case RsaKeyQ:\r
- if (BnP == NULL) {\r
- BnP = BN_new ();\r
- }\r
- if (BnQ == NULL) {\r
- BnQ = BN_new ();\r
- }\r
- if ((BnP == NULL) || (BnQ == NULL)) {\r
- return FALSE;\r
- }\r
+ break;\r
\r
- switch (KeyTag) {\r
+ //\r
+ // RSA Secret Prime Factor of Modulus (p and q)\r
+ //\r
case RsaKeyP:\r
- BnP = BN_bin2bn (BigNumber, (UINT32)BnSize, BnP);\r
- break;\r
case RsaKeyQ:\r
- BnQ = BN_bin2bn (BigNumber, (UINT32)BnSize, BnQ);\r
- break;\r
- default:\r
- return FALSE;\r
- }\r
- if (RSA_set0_factors (RsaKey, BN_dup(BnP), BN_dup(BnQ)) == 0) {\r
- return FALSE;\r
- }\r
+ if (BnP == NULL) {\r
+ BnP = BN_new ();\r
+ }\r
+\r
+ if (BnQ == NULL) {\r
+ BnQ = BN_new ();\r
+ }\r
+\r
+ if ((BnP == NULL) || (BnQ == NULL)) {\r
+ return FALSE;\r
+ }\r
+\r
+ switch (KeyTag) {\r
+ case RsaKeyP:\r
+ BnP = BN_bin2bn (BigNumber, (UINT32)BnSize, BnP);\r
+ break;\r
+ case RsaKeyQ:\r
+ BnQ = BN_bin2bn (BigNumber, (UINT32)BnSize, BnQ);\r
+ break;\r
+ default:\r
+ return FALSE;\r
+ }\r
+\r
+ if (RSA_set0_factors (RsaKey, BN_dup (BnP), BN_dup (BnQ)) == 0) {\r
+ return FALSE;\r
+ }\r
\r
- break;\r
-\r
- //\r
- // p's CRT Exponent (== d mod (p - 1)), q's CRT Exponent (== d mod (q - 1)),\r
- // and CRT Coefficient (== 1/q mod p)\r
- //\r
- case RsaKeyDp:\r
- case RsaKeyDq:\r
- case RsaKeyQInv:\r
- if (BnDp == NULL) {\r
- BnDp = BN_new ();\r
- }\r
- if (BnDq == NULL) {\r
- BnDq = BN_new ();\r
- }\r
- if (BnQInv == NULL) {\r
- BnQInv = BN_new ();\r
- }\r
- if ((BnDp == NULL) || (BnDq == NULL) || (BnQInv == NULL)) {\r
- return FALSE;\r
- }\r
+ break;\r
\r
- switch (KeyTag) {\r
+ //\r
+ // p's CRT Exponent (== d mod (p - 1)), q's CRT Exponent (== d mod (q - 1)),\r
+ // and CRT Coefficient (== 1/q mod p)\r
+ //\r
case RsaKeyDp:\r
- BnDp = BN_bin2bn (BigNumber, (UINT32)BnSize, BnDp);\r
- break;\r
case RsaKeyDq:\r
- BnDq = BN_bin2bn (BigNumber, (UINT32)BnSize, BnDq);\r
- break;\r
case RsaKeyQInv:\r
- BnQInv = BN_bin2bn (BigNumber, (UINT32)BnSize, BnQInv);\r
+ if (BnDp == NULL) {\r
+ BnDp = BN_new ();\r
+ }\r
+\r
+ if (BnDq == NULL) {\r
+ BnDq = BN_new ();\r
+ }\r
+\r
+ if (BnQInv == NULL) {\r
+ BnQInv = BN_new ();\r
+ }\r
+\r
+ if ((BnDp == NULL) || (BnDq == NULL) || (BnQInv == NULL)) {\r
+ return FALSE;\r
+ }\r
+\r
+ switch (KeyTag) {\r
+ case RsaKeyDp:\r
+ BnDp = BN_bin2bn (BigNumber, (UINT32)BnSize, BnDp);\r
+ break;\r
+ case RsaKeyDq:\r
+ BnDq = BN_bin2bn (BigNumber, (UINT32)BnSize, BnDq);\r
+ break;\r
+ case RsaKeyQInv:\r
+ BnQInv = BN_bin2bn (BigNumber, (UINT32)BnSize, BnQInv);\r
+ break;\r
+ default:\r
+ return FALSE;\r
+ }\r
+\r
+ if (RSA_set0_crt_params (RsaKey, BN_dup (BnDp), BN_dup (BnDq), BN_dup (BnQInv)) == 0) {\r
+ return FALSE;\r
+ }\r
+\r
break;\r
+\r
default:\r
return FALSE;\r
- }\r
- if (RSA_set0_crt_params (RsaKey, BN_dup(BnDp), BN_dup(BnDq), BN_dup(BnQInv)) == 0) {\r
- return FALSE;\r
- }\r
-\r
- break;\r
-\r
- default:\r
- return FALSE;\r
}\r
\r
return TRUE;\r
IN UINTN SigSize\r
)\r
{\r
- INT32 DigestType;\r
- UINT8 *SigBuf;\r
+ INT32 DigestType;\r
+ UINT8 *SigBuf;\r
\r
//\r
// Check input parameters.\r
//\r
- if (RsaContext == NULL || MessageHash == NULL || Signature == NULL) {\r
+ if ((RsaContext == NULL) || (MessageHash == NULL) || (Signature == NULL)) {\r
return FALSE;\r
}\r
\r
- if (SigSize > INT_MAX || SigSize == 0) {\r
+ if ((SigSize > INT_MAX) || (SigSize == 0)) {\r
return FALSE;\r
}\r
\r
// Only MD5, SHA-1, SHA-256, SHA-384 or SHA-512 algorithm is supported.\r
//\r
switch (HashSize) {\r
- case MD5_DIGEST_SIZE:\r
- DigestType = NID_md5;\r
- break;\r
+ case MD5_DIGEST_SIZE:\r
+ DigestType = NID_md5;\r
+ break;\r
\r
- case SHA1_DIGEST_SIZE:\r
- DigestType = NID_sha1;\r
- break;\r
+ case SHA1_DIGEST_SIZE:\r
+ DigestType = NID_sha1;\r
+ break;\r
\r
- case SHA256_DIGEST_SIZE:\r
- DigestType = NID_sha256;\r
- break;\r
+ case SHA256_DIGEST_SIZE:\r
+ DigestType = NID_sha256;\r
+ break;\r
\r
- case SHA384_DIGEST_SIZE:\r
- DigestType = NID_sha384;\r
- break;\r
+ case SHA384_DIGEST_SIZE:\r
+ DigestType = NID_sha384;\r
+ break;\r
\r
- case SHA512_DIGEST_SIZE:\r
- DigestType = NID_sha512;\r
- break;\r
+ case SHA512_DIGEST_SIZE:\r
+ DigestType = NID_sha512;\r
+ break;\r
\r
- default:\r
- return FALSE;\r
+ default:\r
+ return FALSE;\r
}\r
\r
- SigBuf = (UINT8 *) Signature;\r
- return (BOOLEAN) RSA_verify (\r
- DigestType,\r
- MessageHash,\r
- (UINT32) HashSize,\r
- SigBuf,\r
- (UINT32) SigSize,\r
- (RSA *) RsaContext\r
- );\r
+ SigBuf = (UINT8 *)Signature;\r
+ return (BOOLEAN)RSA_verify (\r
+ DigestType,\r
+ MessageHash,\r
+ (UINT32)HashSize,\r
+ SigBuf,\r
+ (UINT32)SigSize,\r
+ (RSA *)RsaContext\r
+ );\r
}\r
IN OUT UINTN *BnSize\r
)\r
{\r
- RSA *RsaKey;\r
- BIGNUM *BnKey;\r
- UINTN Size;\r
+ RSA *RsaKey;\r
+ BIGNUM *BnKey;\r
+ UINTN Size;\r
\r
//\r
// Check input parameters.\r
//\r
- if (RsaContext == NULL || BnSize == NULL) {\r
+ if ((RsaContext == NULL) || (BnSize == NULL)) {\r
return FALSE;\r
}\r
\r
- RsaKey = (RSA *) RsaContext;\r
+ RsaKey = (RSA *)RsaContext;\r
Size = *BnSize;\r
*BnSize = 0;\r
BnKey = NULL;\r
\r
switch (KeyTag) {\r
-\r
- //\r
- // RSA Public Modulus (N)\r
- //\r
- case RsaKeyN:\r
- RSA_get0_key (RsaKey, (const BIGNUM **)&BnKey, NULL, NULL);\r
- break;\r
-\r
- //\r
- // RSA Public Exponent (e)\r
- //\r
- case RsaKeyE:\r
- RSA_get0_key (RsaKey, NULL, (const BIGNUM **)&BnKey, NULL);\r
- break;\r
-\r
- //\r
- // RSA Private Exponent (d)\r
- //\r
- case RsaKeyD:\r
- RSA_get0_key (RsaKey, NULL, NULL, (const BIGNUM **)&BnKey);\r
- break;\r
-\r
- //\r
- // RSA Secret Prime Factor of Modulus (p)\r
- //\r
- case RsaKeyP:\r
- RSA_get0_factors (RsaKey, (const BIGNUM **)&BnKey, NULL);\r
- break;\r
-\r
- //\r
- // RSA Secret Prime Factor of Modules (q)\r
- //\r
- case RsaKeyQ:\r
- RSA_get0_factors (RsaKey, NULL, (const BIGNUM **)&BnKey);\r
- break;\r
-\r
- //\r
- // p's CRT Exponent (== d mod (p - 1))\r
- //\r
- case RsaKeyDp:\r
- RSA_get0_crt_params (RsaKey, (const BIGNUM **)&BnKey, NULL, NULL);\r
- break;\r
-\r
- //\r
- // q's CRT Exponent (== d mod (q - 1))\r
- //\r
- case RsaKeyDq:\r
- RSA_get0_crt_params (RsaKey, NULL, (const BIGNUM **)&BnKey, NULL);\r
- break;\r
-\r
- //\r
- // The CRT Coefficient (== 1/q mod p)\r
- //\r
- case RsaKeyQInv:\r
- RSA_get0_crt_params (RsaKey, NULL, NULL, (const BIGNUM **)&BnKey);\r
- break;\r
-\r
- default:\r
- return FALSE;\r
+ //\r
+ // RSA Public Modulus (N)\r
+ //\r
+ case RsaKeyN:\r
+ RSA_get0_key (RsaKey, (const BIGNUM **)&BnKey, NULL, NULL);\r
+ break;\r
+\r
+ //\r
+ // RSA Public Exponent (e)\r
+ //\r
+ case RsaKeyE:\r
+ RSA_get0_key (RsaKey, NULL, (const BIGNUM **)&BnKey, NULL);\r
+ break;\r
+\r
+ //\r
+ // RSA Private Exponent (d)\r
+ //\r
+ case RsaKeyD:\r
+ RSA_get0_key (RsaKey, NULL, NULL, (const BIGNUM **)&BnKey);\r
+ break;\r
+\r
+ //\r
+ // RSA Secret Prime Factor of Modulus (p)\r
+ //\r
+ case RsaKeyP:\r
+ RSA_get0_factors (RsaKey, (const BIGNUM **)&BnKey, NULL);\r
+ break;\r
+\r
+ //\r
+ // RSA Secret Prime Factor of Modules (q)\r
+ //\r
+ case RsaKeyQ:\r
+ RSA_get0_factors (RsaKey, NULL, (const BIGNUM **)&BnKey);\r
+ break;\r
+\r
+ //\r
+ // p's CRT Exponent (== d mod (p - 1))\r
+ //\r
+ case RsaKeyDp:\r
+ RSA_get0_crt_params (RsaKey, (const BIGNUM **)&BnKey, NULL, NULL);\r
+ break;\r
+\r
+ //\r
+ // q's CRT Exponent (== d mod (q - 1))\r
+ //\r
+ case RsaKeyDq:\r
+ RSA_get0_crt_params (RsaKey, NULL, (const BIGNUM **)&BnKey, NULL);\r
+ break;\r
+\r
+ //\r
+ // The CRT Coefficient (== 1/q mod p)\r
+ //\r
+ case RsaKeyQInv:\r
+ RSA_get0_crt_params (RsaKey, NULL, NULL, (const BIGNUM **)&BnKey);\r
+ break;\r
+\r
+ default:\r
+ return FALSE;\r
}\r
\r
if (BnKey == NULL) {\r
*BnSize = Size;\r
return TRUE;\r
}\r
- *BnSize = BN_bn2bin (BnKey, BigNumber) ;\r
+\r
+ *BnSize = BN_bn2bin (BnKey, BigNumber);\r
\r
return TRUE;\r
}\r
//\r
// Check input parameters.\r
//\r
- if (RsaContext == NULL || ModulusLength > INT_MAX || PublicExponentSize > INT_MAX) {\r
+ if ((RsaContext == NULL) || (ModulusLength > INT_MAX) || (PublicExponentSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
goto _Exit;\r
}\r
} else {\r
- if (BN_bin2bn (PublicExponent, (UINT32) PublicExponentSize, KeyE) == NULL) {\r
+ if (BN_bin2bn (PublicExponent, (UINT32)PublicExponentSize, KeyE) == NULL) {\r
goto _Exit;\r
}\r
}\r
\r
- if (RSA_generate_key_ex ((RSA *) RsaContext, (UINT32) ModulusLength, KeyE, NULL) == 1) {\r
- RetVal = TRUE;\r
+ if (RSA_generate_key_ex ((RSA *)RsaContext, (UINT32)ModulusLength, KeyE, NULL) == 1) {\r
+ RetVal = TRUE;\r
}\r
\r
_Exit:\r
return FALSE;\r
}\r
\r
- if (RSA_check_key ((RSA *) RsaContext) != 1) {\r
+ if (RSA_check_key ((RSA *)RsaContext) != 1) {\r
Reason = ERR_GET_REASON (ERR_peek_last_error ());\r
- if (Reason == RSA_R_P_NOT_PRIME ||\r
- Reason == RSA_R_Q_NOT_PRIME ||\r
- Reason == RSA_R_N_DOES_NOT_EQUAL_P_Q ||\r
- Reason == RSA_R_D_E_NOT_CONGRUENT_TO_1) {\r
+ if ((Reason == RSA_R_P_NOT_PRIME) ||\r
+ (Reason == RSA_R_Q_NOT_PRIME) ||\r
+ (Reason == RSA_R_N_DOES_NOT_EQUAL_P_Q) ||\r
+ (Reason == RSA_R_D_E_NOT_CONGRUENT_TO_1))\r
+ {\r
return FALSE;\r
}\r
}\r
IN OUT UINTN *SigSize\r
)\r
{\r
- RSA *Rsa;\r
- UINTN Size;\r
- INT32 DigestType;\r
+ RSA *Rsa;\r
+ UINTN Size;\r
+ INT32 DigestType;\r
\r
//\r
// Check input parameters.\r
//\r
- if (RsaContext == NULL || MessageHash == NULL) {\r
+ if ((RsaContext == NULL) || (MessageHash == NULL)) {\r
return FALSE;\r
}\r
\r
- Rsa = (RSA *) RsaContext;\r
+ Rsa = (RSA *)RsaContext;\r
Size = RSA_size (Rsa);\r
\r
if (*SigSize < Size) {\r
// Only MD5, SHA-1, SHA-256, SHA-384 or SHA-512 algorithm is supported.\r
//\r
switch (HashSize) {\r
- case MD5_DIGEST_SIZE:\r
- DigestType = NID_md5;\r
- break;\r
+ case MD5_DIGEST_SIZE:\r
+ DigestType = NID_md5;\r
+ break;\r
\r
- case SHA1_DIGEST_SIZE:\r
- DigestType = NID_sha1;\r
- break;\r
+ case SHA1_DIGEST_SIZE:\r
+ DigestType = NID_sha1;\r
+ break;\r
\r
- case SHA256_DIGEST_SIZE:\r
- DigestType = NID_sha256;\r
- break;\r
+ case SHA256_DIGEST_SIZE:\r
+ DigestType = NID_sha256;\r
+ break;\r
\r
- case SHA384_DIGEST_SIZE:\r
- DigestType = NID_sha384;\r
- break;\r
+ case SHA384_DIGEST_SIZE:\r
+ DigestType = NID_sha384;\r
+ break;\r
\r
- case SHA512_DIGEST_SIZE:\r
- DigestType = NID_sha512;\r
- break;\r
+ case SHA512_DIGEST_SIZE:\r
+ DigestType = NID_sha512;\r
+ break;\r
\r
- default:\r
- return FALSE;\r
+ default:\r
+ return FALSE;\r
}\r
\r
- return (BOOLEAN) RSA_sign (\r
- DigestType,\r
- MessageHash,\r
- (UINT32) HashSize,\r
- Signature,\r
- (UINT32 *) SigSize,\r
- (RSA *) RsaContext\r
- );\r
+ return (BOOLEAN)RSA_sign (\r
+ DigestType,\r
+ MessageHash,\r
+ (UINT32)HashSize,\r
+ Signature,\r
+ (UINT32 *)SigSize,\r
+ (RSA *)RsaContext\r
+ );\r
}\r
ASSERT (FALSE);\r
return FALSE;\r
}\r
-\r
-\r
#include <openssl/objects.h>\r
#include <openssl/evp.h>\r
\r
-\r
/**\r
Retrieve a pointer to EVP message digest object.\r
\r
**/\r
STATIC\r
const\r
-EVP_MD*\r
+EVP_MD *\r
GetEvpMD (\r
- IN UINT16 DigestLen\r
+ IN UINT16 DigestLen\r
)\r
{\r
- switch (DigestLen){\r
+ switch (DigestLen) {\r
case SHA256_DIGEST_SIZE:\r
- return EVP_sha256();\r
+ return EVP_sha256 ();\r
break;\r
case SHA384_DIGEST_SIZE:\r
- return EVP_sha384();\r
+ return EVP_sha384 ();\r
break;\r
case SHA512_DIGEST_SIZE:\r
- return EVP_sha512();\r
+ return EVP_sha512 ();\r
break;\r
default:\r
return NULL;\r
}\r
}\r
\r
-\r
/**\r
Verifies the RSA signature with RSASSA-PSS signature scheme defined in RFC 8017.\r
Implementation determines salt length automatically from the signature encoding.\r
IN UINT16 SaltLen\r
)\r
{\r
- BOOLEAN Result;\r
- EVP_PKEY *EvpRsaKey;\r
- EVP_MD_CTX *EvpVerifyCtx;\r
- EVP_PKEY_CTX *KeyCtx;\r
+ BOOLEAN Result;\r
+ EVP_PKEY *EvpRsaKey;\r
+ EVP_MD_CTX *EvpVerifyCtx;\r
+ EVP_PKEY_CTX *KeyCtx;\r
CONST EVP_MD *HashAlg;\r
\r
- Result = FALSE;\r
- EvpRsaKey = NULL;\r
+ Result = FALSE;\r
+ EvpRsaKey = NULL;\r
EvpVerifyCtx = NULL;\r
- KeyCtx = NULL;\r
- HashAlg = NULL;\r
+ KeyCtx = NULL;\r
+ HashAlg = NULL;\r
\r
if (RsaContext == NULL) {\r
return FALSE;\r
}\r
- if (Message == NULL || MsgSize == 0 || MsgSize > INT_MAX) {\r
+\r
+ if ((Message == NULL) || (MsgSize == 0) || (MsgSize > INT_MAX)) {\r
return FALSE;\r
}\r
- if (Signature == NULL || SigSize == 0 || SigSize > INT_MAX) {\r
+\r
+ if ((Signature == NULL) || (SigSize == 0) || (SigSize > INT_MAX)) {\r
return FALSE;\r
}\r
+\r
if (SaltLen != DigestLen) {\r
return FALSE;\r
}\r
\r
- HashAlg = GetEvpMD(DigestLen);\r
+ HashAlg = GetEvpMD (DigestLen);\r
\r
if (HashAlg == NULL) {\r
return FALSE;\r
}\r
\r
- EvpRsaKey = EVP_PKEY_new();\r
+ EvpRsaKey = EVP_PKEY_new ();\r
if (EvpRsaKey == NULL) {\r
goto _Exit;\r
}\r
\r
- EVP_PKEY_set1_RSA(EvpRsaKey, RsaContext);\r
+ EVP_PKEY_set1_RSA (EvpRsaKey, RsaContext);\r
\r
- EvpVerifyCtx = EVP_MD_CTX_create();\r
+ EvpVerifyCtx = EVP_MD_CTX_create ();\r
if (EvpVerifyCtx == NULL) {\r
goto _Exit;\r
}\r
\r
- Result = EVP_DigestVerifyInit(EvpVerifyCtx, &KeyCtx, HashAlg, NULL, EvpRsaKey) > 0;\r
+ Result = EVP_DigestVerifyInit (EvpVerifyCtx, &KeyCtx, HashAlg, NULL, EvpRsaKey) > 0;\r
if (KeyCtx == NULL) {\r
goto _Exit;\r
}\r
\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_rsa_padding(KeyCtx, RSA_PKCS1_PSS_PADDING) > 0;\r
+ Result = EVP_PKEY_CTX_set_rsa_padding (KeyCtx, RSA_PKCS1_PSS_PADDING) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_rsa_pss_saltlen(KeyCtx, SaltLen) > 0;\r
+ Result = EVP_PKEY_CTX_set_rsa_pss_saltlen (KeyCtx, SaltLen) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_rsa_mgf1_md(KeyCtx, HashAlg) > 0;\r
+ Result = EVP_PKEY_CTX_set_rsa_mgf1_md (KeyCtx, HashAlg) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_DigestVerifyUpdate(EvpVerifyCtx, Message, (UINT32)MsgSize) > 0;\r
+ Result = EVP_DigestVerifyUpdate (EvpVerifyCtx, Message, (UINT32)MsgSize) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_DigestVerifyFinal(EvpVerifyCtx, Signature, (UINT32)SigSize) > 0;\r
+ Result = EVP_DigestVerifyFinal (EvpVerifyCtx, Signature, (UINT32)SigSize) > 0;\r
}\r
\r
-_Exit :\r
+_Exit:\r
if (EvpRsaKey != NULL) {\r
- EVP_PKEY_free(EvpRsaKey);\r
+ EVP_PKEY_free (EvpRsaKey);\r
}\r
+\r
if (EvpVerifyCtx != NULL) {\r
- EVP_MD_CTX_destroy(EvpVerifyCtx);\r
+ EVP_MD_CTX_destroy (EvpVerifyCtx);\r
}\r
\r
return Result;\r
#include <openssl/objects.h>\r
#include <openssl/evp.h>\r
\r
-\r
/**\r
Retrieve a pointer to EVP message digest object.\r
\r
**/\r
STATIC\r
const\r
-EVP_MD*\r
+EVP_MD *\r
GetEvpMD (\r
- IN UINT16 DigestLen\r
+ IN UINT16 DigestLen\r
)\r
{\r
- switch (DigestLen){\r
+ switch (DigestLen) {\r
case SHA256_DIGEST_SIZE:\r
- return EVP_sha256();\r
+ return EVP_sha256 ();\r
break;\r
case SHA384_DIGEST_SIZE:\r
- return EVP_sha384();\r
+ return EVP_sha384 ();\r
break;\r
case SHA512_DIGEST_SIZE:\r
- return EVP_sha512();\r
+ return EVP_sha512 ();\r
break;\r
default:\r
return NULL;\r
}\r
}\r
\r
-\r
/**\r
Carries out the RSA-SSA signature generation with EMSA-PSS encoding scheme.\r
\r
IN OUT UINTN *SigSize\r
)\r
{\r
- BOOLEAN Result;\r
- UINTN RsaSigSize;\r
- EVP_PKEY *EvpRsaKey;\r
- EVP_MD_CTX *EvpVerifyCtx;\r
- EVP_PKEY_CTX *KeyCtx;\r
- CONST EVP_MD *HashAlg;\r
-\r
- Result = FALSE;\r
- EvpRsaKey = NULL;\r
+ BOOLEAN Result;\r
+ UINTN RsaSigSize;\r
+ EVP_PKEY *EvpRsaKey;\r
+ EVP_MD_CTX *EvpVerifyCtx;\r
+ EVP_PKEY_CTX *KeyCtx;\r
+ CONST EVP_MD *HashAlg;\r
+\r
+ Result = FALSE;\r
+ EvpRsaKey = NULL;\r
EvpVerifyCtx = NULL;\r
- KeyCtx = NULL;\r
- HashAlg = NULL;\r
+ KeyCtx = NULL;\r
+ HashAlg = NULL;\r
\r
if (RsaContext == NULL) {\r
return FALSE;\r
}\r
- if (Message == NULL || MsgSize == 0 || MsgSize > INT_MAX) {\r
+\r
+ if ((Message == NULL) || (MsgSize == 0) || (MsgSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
return FALSE;\r
}\r
\r
- HashAlg = GetEvpMD(DigestLen);\r
+ HashAlg = GetEvpMD (DigestLen);\r
\r
if (HashAlg == NULL) {\r
return FALSE;\r
}\r
\r
- EvpRsaKey = EVP_PKEY_new();\r
+ EvpRsaKey = EVP_PKEY_new ();\r
if (EvpRsaKey == NULL) {\r
goto _Exit;\r
}\r
\r
- EVP_PKEY_set1_RSA(EvpRsaKey, RsaContext);\r
+ EVP_PKEY_set1_RSA (EvpRsaKey, RsaContext);\r
\r
- EvpVerifyCtx = EVP_MD_CTX_create();\r
+ EvpVerifyCtx = EVP_MD_CTX_create ();\r
if (EvpVerifyCtx == NULL) {\r
goto _Exit;\r
}\r
\r
- Result = EVP_DigestSignInit(EvpVerifyCtx, &KeyCtx, HashAlg, NULL, EvpRsaKey) > 0;\r
+ Result = EVP_DigestSignInit (EvpVerifyCtx, &KeyCtx, HashAlg, NULL, EvpRsaKey) > 0;\r
if (KeyCtx == NULL) {\r
goto _Exit;\r
}\r
\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_rsa_padding(KeyCtx, RSA_PKCS1_PSS_PADDING) > 0;\r
+ Result = EVP_PKEY_CTX_set_rsa_padding (KeyCtx, RSA_PKCS1_PSS_PADDING) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_rsa_pss_saltlen(KeyCtx, SaltLen) > 0;\r
+ Result = EVP_PKEY_CTX_set_rsa_pss_saltlen (KeyCtx, SaltLen) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_PKEY_CTX_set_rsa_mgf1_md(KeyCtx, HashAlg) > 0;\r
+ Result = EVP_PKEY_CTX_set_rsa_mgf1_md (KeyCtx, HashAlg) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_DigestSignUpdate(EvpVerifyCtx, Message, (UINT32)MsgSize) > 0;\r
+ Result = EVP_DigestSignUpdate (EvpVerifyCtx, Message, (UINT32)MsgSize) > 0;\r
}\r
+\r
if (Result) {\r
- Result = EVP_DigestSignFinal(EvpVerifyCtx, Signature, SigSize) > 0;\r
+ Result = EVP_DigestSignFinal (EvpVerifyCtx, Signature, SigSize) > 0;\r
}\r
\r
-_Exit :\r
+_Exit:\r
if (EvpRsaKey != NULL) {\r
- EVP_PKEY_free(EvpRsaKey);\r
+ EVP_PKEY_free (EvpRsaKey);\r
}\r
+\r
if (EvpVerifyCtx != NULL) {\r
- EVP_MD_CTX_destroy(EvpVerifyCtx);\r
+ EVP_MD_CTX_destroy (EvpVerifyCtx);\r
}\r
\r
return Result;\r
//\r
// OID ASN.1 Value for SPC_RFC3161_OBJID ("1.3.6.1.4.1.311.3.3.1")\r
//\r
-UINT8 mSpcRFC3161OidValue[] = {\r
+UINT8 mSpcRFC3161OidValue[] = {\r
0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01\r
- };\r
+};\r
\r
///\r
/// The messageImprint field SHOULD contain the hash of the datum to be\r
/// hashedMessage OCTET STRING }\r
///\r
typedef struct {\r
- X509_ALGOR *HashAlgorithm;\r
- ASN1_OCTET_STRING *HashedMessage;\r
+ X509_ALGOR *HashAlgorithm;\r
+ ASN1_OCTET_STRING *HashedMessage;\r
} TS_MESSAGE_IMPRINT;\r
\r
//\r
/// micros [1] INTEGER (1..999) OPTIONAL }\r
///\r
typedef struct {\r
- ASN1_INTEGER *Seconds;\r
- ASN1_INTEGER *Millis;\r
- ASN1_INTEGER *Micros;\r
+ ASN1_INTEGER *Seconds;\r
+ ASN1_INTEGER *Millis;\r
+ ASN1_INTEGER *Micros;\r
} TS_ACCURACY;\r
\r
//\r
//\r
DECLARE_ASN1_FUNCTIONS (TS_ACCURACY)\r
ASN1_SEQUENCE (TS_ACCURACY) = {\r
- ASN1_OPT (TS_ACCURACY, Seconds, ASN1_INTEGER),\r
+ ASN1_OPT (TS_ACCURACY, Seconds, ASN1_INTEGER),\r
ASN1_IMP_OPT (TS_ACCURACY, Millis, ASN1_INTEGER, 0),\r
ASN1_IMP_OPT (TS_ACCURACY, Micros, ASN1_INTEGER, 1)\r
} ASN1_SEQUENCE_END (TS_ACCURACY)\r
/// extensions [1] IMPLICIT Extensions OPTIONAL }\r
///\r
typedef struct {\r
- ASN1_INTEGER *Version;\r
- ASN1_OBJECT *Policy;\r
- TS_MESSAGE_IMPRINT *MessageImprint;\r
- ASN1_INTEGER *SerialNumber;\r
- ASN1_GENERALIZEDTIME *GenTime;\r
- TS_ACCURACY *Accuracy;\r
- ASN1_BOOLEAN Ordering;\r
- ASN1_INTEGER *Nonce;\r
- GENERAL_NAME *Tsa;\r
- STACK_OF(X509_EXTENSION) *Extensions;\r
+ ASN1_INTEGER *Version;\r
+ ASN1_OBJECT *Policy;\r
+ TS_MESSAGE_IMPRINT *MessageImprint;\r
+ ASN1_INTEGER *SerialNumber;\r
+ ASN1_GENERALIZEDTIME *GenTime;\r
+ TS_ACCURACY *Accuracy;\r
+ ASN1_BOOLEAN Ordering;\r
+ ASN1_INTEGER *Nonce;\r
+ GENERAL_NAME *Tsa;\r
+ STACK_OF (X509_EXTENSION) *Extensions;\r
} TS_TST_INFO;\r
\r
//\r
//\r
DECLARE_ASN1_FUNCTIONS (TS_TST_INFO)\r
ASN1_SEQUENCE (TS_TST_INFO) = {\r
- ASN1_SIMPLE (TS_TST_INFO, Version, ASN1_INTEGER),\r
- ASN1_SIMPLE (TS_TST_INFO, Policy, ASN1_OBJECT),\r
- ASN1_SIMPLE (TS_TST_INFO, MessageImprint, TS_MESSAGE_IMPRINT),\r
- ASN1_SIMPLE (TS_TST_INFO, SerialNumber, ASN1_INTEGER),\r
- ASN1_SIMPLE (TS_TST_INFO, GenTime, ASN1_GENERALIZEDTIME),\r
- ASN1_OPT (TS_TST_INFO, Accuracy, TS_ACCURACY),\r
- ASN1_OPT (TS_TST_INFO, Ordering, ASN1_FBOOLEAN),\r
- ASN1_OPT (TS_TST_INFO, Nonce, ASN1_INTEGER),\r
- ASN1_EXP_OPT(TS_TST_INFO, Tsa, GENERAL_NAME, 0),\r
- ASN1_IMP_SEQUENCE_OF_OPT (TS_TST_INFO, Extensions, X509_EXTENSION, 1)\r
+ ASN1_SIMPLE (TS_TST_INFO, Version, ASN1_INTEGER),\r
+ ASN1_SIMPLE (TS_TST_INFO, Policy, ASN1_OBJECT),\r
+ ASN1_SIMPLE (TS_TST_INFO, MessageImprint, TS_MESSAGE_IMPRINT),\r
+ ASN1_SIMPLE (TS_TST_INFO, SerialNumber, ASN1_INTEGER),\r
+ ASN1_SIMPLE (TS_TST_INFO, GenTime, ASN1_GENERALIZEDTIME),\r
+ ASN1_OPT (TS_TST_INFO, Accuracy, TS_ACCURACY),\r
+ ASN1_OPT (TS_TST_INFO, Ordering, ASN1_FBOOLEAN),\r
+ ASN1_OPT (TS_TST_INFO, Nonce, ASN1_INTEGER),\r
+ ASN1_EXP_OPT (TS_TST_INFO, Tsa, GENERAL_NAME, 0),\r
+ ASN1_IMP_SEQUENCE_OF_OPT (TS_TST_INFO, Extensions, X509_EXTENSION, 1)\r
} ASN1_SEQUENCE_END (TS_TST_INFO)\r
IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO)\r
\r
-\r
/**\r
Convert ASN.1 GeneralizedTime to EFI Time.\r
\r
return FALSE;\r
}\r
\r
- Str = (CONST CHAR8*)Asn1Time->data;\r
+ Str = (CONST CHAR8 *)Asn1Time->data;\r
SetMem (EfiTime, sizeof (EFI_TIME), 0);\r
\r
Index = 0;\r
- if (Asn1Time->type == V_ASN1_UTCTIME) { /* two digit year */\r
+ if (Asn1Time->type == V_ASN1_UTCTIME) {\r
+ /* two digit year */\r
EfiTime->Year = (Str[Index++] - '0') * 10;\r
EfiTime->Year += (Str[Index++] - '0');\r
if (EfiTime->Year < 70) {\r
EfiTime->Year += 100;\r
}\r
- } else if (Asn1Time->type == V_ASN1_GENERALIZEDTIME) { /* four digit year */\r
+ } else if (Asn1Time->type == V_ASN1_GENERALIZEDTIME) {\r
+ /* four digit year */\r
EfiTime->Year = (Str[Index++] - '0') * 1000;\r
EfiTime->Year += (Str[Index++] - '0') * 100;\r
EfiTime->Year += (Str[Index++] - '0') * 10;\r
}\r
}\r
\r
- EfiTime->Month = (Str[Index++] - '0') * 10;\r
- EfiTime->Month += (Str[Index++] - '0');\r
+ EfiTime->Month = (Str[Index++] - '0') * 10;\r
+ EfiTime->Month += (Str[Index++] - '0');\r
if ((EfiTime->Month < 1) || (EfiTime->Month > 12)) {\r
return FALSE;\r
}\r
\r
- EfiTime->Day = (Str[Index++] - '0') * 10;\r
- EfiTime->Day += (Str[Index++] - '0');\r
+ EfiTime->Day = (Str[Index++] - '0') * 10;\r
+ EfiTime->Day += (Str[Index++] - '0');\r
if ((EfiTime->Day < 1) || (EfiTime->Day > 31)) {\r
return FALSE;\r
}\r
\r
- EfiTime->Hour = (Str[Index++] - '0') * 10;\r
- EfiTime->Hour += (Str[Index++] - '0');\r
+ EfiTime->Hour = (Str[Index++] - '0') * 10;\r
+ EfiTime->Hour += (Str[Index++] - '0');\r
if (EfiTime->Hour > 23) {\r
return FALSE;\r
}\r
goto _Exit;\r
}\r
\r
- MdSize = EVP_MD_size (Md);\r
+ MdSize = EVP_MD_size (Md);\r
HashedMsg = AllocateZeroPool (MdSize);\r
if (HashedMsg == NULL) {\r
goto _Exit;\r
}\r
+\r
MdCtx = EVP_MD_CTX_new ();\r
if (MdCtx == NULL) {\r
goto _Exit;\r
}\r
+\r
if ((EVP_DigestInit_ex (MdCtx, Md, NULL) != 1) ||\r
(EVP_DigestUpdate (MdCtx, TimestampedData, DataSize) != 1) ||\r
- (EVP_DigestFinal (MdCtx, HashedMsg, NULL) != 1)) {\r
+ (EVP_DigestFinal (MdCtx, HashedMsg, NULL) != 1))\r
+ {\r
goto _Exit;\r
}\r
+\r
if ((MdSize == (UINTN)ASN1_STRING_length (Imprint->HashedMessage)) &&\r
- (CompareMem (HashedMsg, ASN1_STRING_get0_data (Imprint->HashedMessage), MdSize) != 0)) {\r
+ (CompareMem (HashedMsg, ASN1_STRING_get0_data (Imprint->HashedMessage), MdSize) != 0))\r
+ {\r
goto _Exit;\r
}\r
\r
// Check input parameters\r
//\r
if ((TSToken == NULL) || (TsaCert == NULL) || (TimestampedData == NULL) ||\r
- (TokenSize > INT_MAX) || (CertSize > INT_MAX) || (DataSize > INT_MAX)) {\r
+ (TokenSize > INT_MAX) || (CertSize > INT_MAX) || (DataSize > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
\r
if (SigningTime != NULL) {\r
SetMem (SigningTime, sizeof (EFI_TIME), 0);\r
}\r
+\r
Pkcs7 = NULL;\r
Cert = NULL;\r
CertStore = NULL;\r
// TimeStamp Token should contain one valid DER-encoded ASN.1 PKCS#7 structure.\r
//\r
TokenTemp = TSToken;\r
- Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **) &TokenTemp, (int) TokenSize);\r
+ Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **)&TokenTemp, (int)TokenSize);\r
if (Pkcs7 == NULL) {\r
goto _Exit;\r
}\r
// Read the trusted TSA certificate (DER-encoded), and Construct X509 Certificate.\r
//\r
CertTemp = TsaCert;\r
- Cert = d2i_X509 (NULL, &CertTemp, (long) CertSize);\r
+ Cert = d2i_X509 (NULL, &CertTemp, (long)CertSize);\r
if (Cert == NULL) {\r
goto _Exit;\r
}\r
// Allow partial certificate chains, terminated by a non-self-signed but\r
// still trusted intermediate certificate. Also disable time checks.\r
//\r
- X509_STORE_set_flags (CertStore,\r
- X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME);\r
+ X509_STORE_set_flags (\r
+ CertStore,\r
+ X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME\r
+ );\r
\r
X509_STORE_set_purpose (CertStore, X509_PURPOSE_ANY);\r
\r
if (OutBio == NULL) {\r
goto _Exit;\r
}\r
+\r
if (!PKCS7_verify (Pkcs7, NULL, CertStore, NULL, OutBio, PKCS7_BINARY)) {\r
goto _Exit;\r
}\r
if (TstData == NULL) {\r
goto _Exit;\r
}\r
- TstSize = BIO_read (OutBio, (void *) TstData, 2048);\r
+\r
+ TstSize = BIO_read (OutBio, (void *)TstData, 2048);\r
\r
//\r
// Construct TS_TST_INFO structure from the signed contents.\r
//\r
TstTemp = TstData;\r
- TstInfo = d2i_TS_TST_INFO (NULL, (const unsigned char **) &TstTemp,\r
- (int)TstSize);\r
+ TstInfo = d2i_TS_TST_INFO (\r
+ NULL,\r
+ (const unsigned char **)&TstTemp,\r
+ (int)TstSize\r
+ );\r
if (TstInfo == NULL) {\r
goto _Exit;\r
}\r
OUT EFI_TIME *SigningTime\r
)\r
{\r
- BOOLEAN Status;\r
- PKCS7 *Pkcs7;\r
- CONST UINT8 *Temp;\r
- STACK_OF(PKCS7_SIGNER_INFO) *SignerInfos;\r
- PKCS7_SIGNER_INFO *SignInfo;\r
- UINTN Index;\r
- STACK_OF(X509_ATTRIBUTE) *Sk;\r
- X509_ATTRIBUTE *Xa;\r
- ASN1_OBJECT *XaObj;\r
- ASN1_TYPE *Asn1Type;\r
- ASN1_OCTET_STRING *EncDigest;\r
- UINT8 *TSToken;\r
- UINTN TokenSize;\r
+ BOOLEAN Status;\r
+ PKCS7 *Pkcs7;\r
+ CONST UINT8 *Temp;\r
+\r
+ STACK_OF (PKCS7_SIGNER_INFO) *SignerInfos;\r
+ PKCS7_SIGNER_INFO *SignInfo;\r
+ UINTN Index;\r
+\r
+ STACK_OF (X509_ATTRIBUTE) *Sk;\r
+ X509_ATTRIBUTE *Xa;\r
+ ASN1_OBJECT *XaObj;\r
+ ASN1_TYPE *Asn1Type;\r
+ ASN1_OCTET_STRING *EncDigest;\r
+ UINT8 *TSToken;\r
+ UINTN TokenSize;\r
\r
//\r
// Input Parameters Checking.\r
// Register & Initialize necessary digest algorithms for PKCS#7 Handling.\r
//\r
if ((EVP_add_digest (EVP_md5 ()) == 0) || (EVP_add_digest (EVP_sha1 ()) == 0) ||\r
- (EVP_add_digest (EVP_sha256 ()) == 0) || (EVP_add_digest_alias (SN_sha1WithRSAEncryption, SN_sha1WithRSA)) == 0) {\r
+ (EVP_add_digest (EVP_sha256 ()) == 0) || ((EVP_add_digest_alias (SN_sha1WithRSAEncryption, SN_sha1WithRSA)) == 0))\r
+ {\r
return FALSE;\r
}\r
\r
//\r
// Initialization.\r
//\r
- Status = FALSE;\r
- Pkcs7 = NULL;\r
- SignInfo = NULL;\r
+ Status = FALSE;\r
+ Pkcs7 = NULL;\r
+ SignInfo = NULL;\r
\r
//\r
// Decode ASN.1-encoded Authenticode data into PKCS7 structure.\r
//\r
Temp = AuthData;\r
- Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **) &Temp, (int) DataSize);\r
+ Pkcs7 = d2i_PKCS7 (NULL, (const unsigned char **)&Temp, (int)DataSize);\r
if (Pkcs7 == NULL) {\r
goto _Exit;\r
}\r
// of SignerInfo.\r
//\r
Sk = SignInfo->unauth_attr;\r
- if (Sk == NULL) { // No timestamp counterSignature.\r
+ if (Sk == NULL) {\r
+ // No timestamp counterSignature.\r
goto _Exit;\r
}\r
\r
Asn1Type = NULL;\r
- for (Index = 0; Index < (UINTN) sk_X509_ATTRIBUTE_num (Sk); Index++) {\r
+ for (Index = 0; Index < (UINTN)sk_X509_ATTRIBUTE_num (Sk); Index++) {\r
//\r
// Search valid RFC3161 timestamp counterSignature based on OBJID.\r
//\r
if (Xa == NULL) {\r
continue;\r
}\r
- XaObj = X509_ATTRIBUTE_get0_object(Xa);\r
+\r
+ XaObj = X509_ATTRIBUTE_get0_object (Xa);\r
if (XaObj == NULL) {\r
continue;\r
}\r
- if ((OBJ_length(XaObj) != sizeof (mSpcRFC3161OidValue)) ||\r
- (CompareMem (OBJ_get0_data(XaObj), mSpcRFC3161OidValue, sizeof (mSpcRFC3161OidValue)) != 0)) {\r
+\r
+ if ((OBJ_length (XaObj) != sizeof (mSpcRFC3161OidValue)) ||\r
+ (CompareMem (OBJ_get0_data (XaObj), mSpcRFC3161OidValue, sizeof (mSpcRFC3161OidValue)) != 0))\r
+ {\r
continue;\r
}\r
- Asn1Type = X509_ATTRIBUTE_get0_type(Xa, 0);\r
+\r
+ Asn1Type = X509_ATTRIBUTE_get0_type (Xa, 0);\r
}\r
\r
if (Asn1Type == NULL) {\r
Status = FALSE;\r
goto _Exit;\r
}\r
+\r
TSToken = Asn1Type->value.octet_string->data;\r
TokenSize = Asn1Type->value.octet_string->length;\r
\r
//\r
// Check input parameters.\r
//\r
- if (Cert == NULL || SingleX509Cert == NULL || CertSize > INT_MAX) {\r
+ if ((Cert == NULL) || (SingleX509Cert == NULL) || (CertSize > INT_MAX)) {\r
return FALSE;\r
}\r
\r
// Read DER-encoded X509 Certificate and Construct X509 object.\r
//\r
Temp = Cert;\r
- X509Cert = d2i_X509 (NULL, &Temp, (long) CertSize);\r
+ X509Cert = d2i_X509 (NULL, &Temp, (long)CertSize);\r
if (X509Cert == NULL) {\r
return FALSE;\r
}\r
\r
- *SingleX509Cert = (UINT8 *) X509Cert;\r
+ *SingleX509Cert = (UINT8 *)X509Cert;\r
\r
return TRUE;\r
}\r
IN VA_LIST Args\r
)\r
{\r
- UINT8 *Cert;\r
- UINTN CertSize;\r
- X509 *X509Cert;\r
- STACK_OF(X509) *CertStack;\r
- BOOLEAN Status;\r
- UINTN Index;\r
+ UINT8 *Cert;\r
+ UINTN CertSize;\r
+ X509 *X509Cert;\r
+\r
+ STACK_OF (X509) *CertStack;\r
+ BOOLEAN Status;\r
+ UINTN Index;\r
\r
//\r
// Check input parameters.\r
//\r
// Initialize X509 stack object.\r
//\r
- CertStack = (STACK_OF(X509) *) (*X509Stack);\r
+ CertStack = (STACK_OF (X509) *)(*X509Stack);\r
if (CertStack == NULL) {\r
CertStack = sk_X509_new_null ();\r
if (CertStack == NULL) {\r
// Construct X509 Object from the given DER-encoded certificate data.\r
//\r
X509Cert = NULL;\r
- Status = X509ConstructCertificate (\r
- (CONST UINT8 *) Cert,\r
- CertSize,\r
- (UINT8 **) &X509Cert\r
- );\r
+ Status = X509ConstructCertificate (\r
+ (CONST UINT8 *)Cert,\r
+ CertSize,\r
+ (UINT8 **)&X509Cert\r
+ );\r
if (!Status) {\r
if (X509Cert != NULL) {\r
X509_free (X509Cert);\r
}\r
+\r
break;\r
}\r
\r
if (!Status) {\r
sk_X509_pop_free (CertStack, X509_free);\r
} else {\r
- *X509Stack = (UINT8 *) CertStack;\r
+ *X509Stack = (UINT8 *)CertStack;\r
}\r
\r
return Status;\r
//\r
// Free OpenSSL X509 object.\r
//\r
- X509_free ((X509 *) X509Cert);\r
+ X509_free ((X509 *)X509Cert);\r
}\r
\r
/**\r
//\r
// Free OpenSSL X509 stack object.\r
//\r
- sk_X509_pop_free ((STACK_OF(X509) *) X509Stack, X509_free);\r
+ sk_X509_pop_free ((STACK_OF (X509) *) X509Stack, X509_free);\r
}\r
\r
/**\r
//\r
// Check input parameters.\r
//\r
- if (Cert == NULL || SubjectSize == NULL) {\r
+ if ((Cert == NULL) || (SubjectSize == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Read DER-encoded X509 Certificate and Construct X509 object.\r
//\r
- Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **) &X509Cert);\r
+ Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **)&X509Cert);\r
if ((X509Cert == NULL) || (!Status)) {\r
Status = FALSE;\r
goto _Exit;\r
goto _Exit;\r
}\r
\r
- X509NameSize = i2d_X509_NAME(X509Name, NULL);\r
+ X509NameSize = i2d_X509_NAME (X509Name, NULL);\r
if (*SubjectSize < X509NameSize) {\r
*SubjectSize = X509NameSize;\r
goto _Exit;\r
}\r
+\r
*SubjectSize = X509NameSize;\r
if (CertSubject != NULL) {\r
- i2d_X509_NAME(X509Name, &CertSubject);\r
+ i2d_X509_NAME (X509Name, &CertSubject);\r
Status = TRUE;\r
}\r
\r
STATIC\r
RETURN_STATUS\r
InternalX509GetNIDName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- IN INT32 Request_NID,\r
- OUT CHAR8 *CommonName OPTIONAL,\r
- IN OUT UINTN *CommonNameSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ IN INT32 Request_NID,\r
+ OUT CHAR8 *CommonName OPTIONAL,\r
+ IN OUT UINTN *CommonNameSize\r
)\r
{\r
RETURN_STATUS ReturnStatus;\r
if ((Cert == NULL) || (CertSize > INT_MAX) || (CommonNameSize == NULL)) {\r
return ReturnStatus;\r
}\r
+\r
if ((CommonName != NULL) && (*CommonNameSize == 0)) {\r
return ReturnStatus;\r
}\r
//\r
// Read DER-encoded X509 Certificate and Construct X509 object.\r
//\r
- Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **) &X509Cert);\r
+ Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **)&X509Cert);\r
if ((X509Cert == NULL) || (!Status)) {\r
//\r
// Invalid X.509 Certificate\r
\r
if (CommonName == NULL) {\r
*CommonNameSize = Length + 1;\r
- ReturnStatus = RETURN_BUFFER_TOO_SMALL;\r
+ ReturnStatus = RETURN_BUFFER_TOO_SMALL;\r
} else {\r
*CommonNameSize = MIN ((UINTN)Length, *CommonNameSize - 1) + 1;\r
CopyMem (CommonName, UTF8Name, *CommonNameSize - 1);\r
CommonName[*CommonNameSize - 1] = '\0';\r
- ReturnStatus = RETURN_SUCCESS;\r
+ ReturnStatus = RETURN_SUCCESS;\r
}\r
\r
_Exit:\r
if (X509Cert != NULL) {\r
X509_free (X509Cert);\r
}\r
+\r
if (UTF8Name != NULL) {\r
OPENSSL_free (UTF8Name);\r
}\r
RETURN_STATUS\r
EFIAPI\r
X509GetOrganizationName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- OUT CHAR8 *NameBuffer OPTIONAL,\r
- IN OUT UINTN *NameBufferSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ OUT CHAR8 *NameBuffer OPTIONAL,\r
+ IN OUT UINTN *NameBufferSize\r
)\r
{\r
return InternalX509GetNIDName (Cert, CertSize, NID_organizationName, NameBuffer, NameBufferSize);\r
//\r
// Check input parameters.\r
//\r
- if (Cert == NULL || RsaContext == NULL) {\r
+ if ((Cert == NULL) || (RsaContext == NULL)) {\r
return FALSE;\r
}\r
\r
//\r
// Read DER-encoded X509 Certificate and Construct X509 object.\r
//\r
- Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **) &X509Cert);\r
+ Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **)&X509Cert);\r
if ((X509Cert == NULL) || (!Status)) {\r
Status = FALSE;\r
goto _Exit;\r
//\r
// Check input parameters.\r
//\r
- if (Cert == NULL || CACert == NULL) {\r
+ if ((Cert == NULL) || (CACert == NULL)) {\r
return FALSE;\r
}\r
\r
if (EVP_add_digest (EVP_md5 ()) == 0) {\r
goto _Exit;\r
}\r
+\r
if (EVP_add_digest (EVP_sha1 ()) == 0) {\r
goto _Exit;\r
}\r
+\r
if (EVP_add_digest (EVP_sha256 ()) == 0) {\r
goto _Exit;\r
}\r
//\r
// Read DER-encoded certificate to be verified and Construct X509 object.\r
//\r
- Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **) &X509Cert);\r
+ Status = X509ConstructCertificate (Cert, CertSize, (UINT8 **)&X509Cert);\r
if ((X509Cert == NULL) || (!Status)) {\r
Status = FALSE;\r
goto _Exit;\r
//\r
// Read DER-encoded root certificate and Construct X509 object.\r
//\r
- Status = X509ConstructCertificate (CACert, CACertSize, (UINT8 **) &X509CACert);\r
+ Status = X509ConstructCertificate (CACert, CACertSize, (UINT8 **)&X509CACert);\r
if ((X509CACert == NULL) || (!Status)) {\r
Status = FALSE;\r
goto _Exit;\r
if (CertStore == NULL) {\r
goto _Exit;\r
}\r
+\r
if (!(X509_STORE_add_cert (CertStore, X509CACert))) {\r
goto _Exit;\r
}\r
// Allow partial certificate chains, terminated by a non-self-signed but\r
// still trusted intermediate certificate. Also disable time checks.\r
//\r
- X509_STORE_set_flags (CertStore,\r
- X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME);\r
+ X509_STORE_set_flags (\r
+ CertStore,\r
+ X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME\r
+ );\r
\r
//\r
// Set up X509_STORE_CTX for the subsequent verification operation.\r
if (CertCtx == NULL) {\r
goto _Exit;\r
}\r
+\r
if (!X509_STORE_CTX_init (CertCtx, CertStore, X509Cert, NULL)) {\r
goto _Exit;\r
}\r
//\r
// X509 Certificate Verification.\r
//\r
- Status = (BOOLEAN) X509_verify_cert (CertCtx);\r
+ Status = (BOOLEAN)X509_verify_cert (CertCtx);\r
X509_STORE_CTX_cleanup (CertCtx);\r
\r
_Exit:\r
// Check input parameters.\r
//\r
if ((Cert == NULL) || (TBSCert == NULL) ||\r
- (TBSCertSize == NULL) || (CertSize > INT_MAX)) {\r
+ (TBSCertSize == NULL) || (CertSize > INT_MAX))\r
+ {\r
return FALSE;\r
}\r
\r
RETURN_STATUS\r
EFIAPI\r
X509GetOrganizationName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- OUT CHAR8 *NameBuffer OPTIONAL,\r
- IN OUT UINTN *NameBufferSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ OUT CHAR8 *NameBuffer OPTIONAL,\r
+ IN OUT UINTN *NameBufferSize\r
)\r
{\r
ASSERT (FALSE);\r
// NOTE: A cryptographic PRNG must be seeded with unpredictable data.\r
//\r
if (Seed != NULL) {\r
- RAND_seed (Seed, (UINT32) SeedSize);\r
+ RAND_seed (Seed, (UINT32)SeedSize);\r
} else {\r
RAND_seed (DefaultSeed, sizeof (DefaultSeed));\r
}\r
//\r
// Check input parameters.\r
//\r
- if (Output == NULL || Size > INT_MAX) {\r
+ if ((Output == NULL) || (Size > INT_MAX)) {\r
return FALSE;\r
}\r
\r
//\r
// Generate random data.\r
//\r
- if (RAND_bytes (Output, (UINT32) Size) != 1) {\r
+ if (RAND_bytes (Output, (UINT32)Size) != 1) {\r
return FALSE;\r
}\r
\r
\r
#include "InternalCryptLib.h"\r
\r
-\r
/**\r
Sets up the seed value for the pseudorandom number generator.\r
\r
// NOTE: A cryptographic PRNG must be seeded with unpredictable data.\r
//\r
if (Seed != NULL) {\r
- RAND_seed (Seed, (UINT32) SeedSize);\r
+ RAND_seed (Seed, (UINT32)SeedSize);\r
} else {\r
//\r
// Retrieve current time.\r
//\r
// Check input parameters.\r
//\r
- if (Output == NULL || Size > INT_MAX) {\r
+ if ((Output == NULL) || (Size > INT_MAX)) {\r
return FALSE;\r
}\r
\r
//\r
// Generate random data.\r
//\r
- if (RAND_bytes (Output, (UINT32) Size) != 1) {\r
+ if (RAND_bytes (Output, (UINT32)Size) != 1) {\r
return FALSE;\r
}\r
\r
//\r
// Extra header to record the memory buffer size from malloc routine.\r
//\r
-#define CRYPTMEM_HEAD_SIGNATURE SIGNATURE_32('c','m','h','d')\r
+#define CRYPTMEM_HEAD_SIGNATURE SIGNATURE_32('c','m','h','d')\r
typedef struct {\r
UINT32 Signature;\r
UINT32 Reserved;\r
UINTN Size;\r
} CRYPTMEM_HEAD;\r
\r
-#define CRYPTMEM_OVERHEAD sizeof(CRYPTMEM_HEAD)\r
+#define CRYPTMEM_OVERHEAD sizeof(CRYPTMEM_HEAD)\r
\r
//\r
// -- Memory-Allocation Routines --\r
//\r
\r
/* Allocates memory blocks */\r
-void *malloc (size_t size)\r
+void *\r
+malloc (\r
+ size_t size\r
+ )\r
{\r
CRYPTMEM_HEAD *PoolHdr;\r
UINTN NewSize;\r
//\r
NewSize = (UINTN)(size) + CRYPTMEM_OVERHEAD;\r
\r
- Data = AllocatePool (NewSize);\r
+ Data = AllocatePool (NewSize);\r
if (Data != NULL) {\r
PoolHdr = (CRYPTMEM_HEAD *)Data;\r
//\r
}\r
\r
/* Reallocate memory blocks */\r
-void *realloc (void *ptr, size_t size)\r
+void *\r
+realloc (\r
+ void *ptr,\r
+ size_t size\r
+ )\r
{\r
CRYPTMEM_HEAD *OldPoolHdr;\r
CRYPTMEM_HEAD *NewPoolHdr;\r
VOID *Data;\r
\r
NewSize = (UINTN)size + CRYPTMEM_OVERHEAD;\r
- Data = AllocatePool (NewSize);\r
+ Data = AllocatePool (NewSize);\r
if (Data != NULL) {\r
- NewPoolHdr = (CRYPTMEM_HEAD *)Data;\r
+ NewPoolHdr = (CRYPTMEM_HEAD *)Data;\r
NewPoolHdr->Signature = CRYPTMEM_HEAD_SIGNATURE;\r
NewPoolHdr->Size = size;\r
if (ptr != NULL) {\r
}\r
\r
/* De-allocates or frees a memory block */\r
-void free (void *ptr)\r
+void\r
+free (\r
+ void *ptr\r
+ )\r
{\r
CRYPTMEM_HEAD *PoolHdr;\r
\r
// -- Time Management Routines --\r
//\r
\r
-time_t time (time_t *timer)\r
+time_t\r
+time (\r
+ time_t *timer\r
+ )\r
{\r
if (timer != NULL) {\r
*timer = 0;\r
}\r
+\r
return 0;\r
}\r
\r
-struct tm * gmtime (const time_t *timer)\r
+struct tm *\r
+gmtime (\r
+ const time_t *timer\r
+ )\r
{\r
return NULL;\r
}\r
\r
#include <CrtLibSupport.h>\r
\r
-int errno = 0;\r
+int errno = 0;\r
\r
FILE *stderr = NULL;\r
FILE *stdin = NULL;\r
IN VOID *Buffer\r
)\r
{\r
- VOID *Pivot;\r
- UINTN LoopCount;\r
- UINTN NextSwapLocation;\r
+ VOID *Pivot;\r
+ UINTN LoopCount;\r
+ UINTN NextSwapLocation;\r
\r
- ASSERT(BufferToSort != NULL);\r
- ASSERT(CompareFunction != NULL);\r
- ASSERT(Buffer != NULL);\r
+ ASSERT (BufferToSort != NULL);\r
+ ASSERT (CompareFunction != NULL);\r
+ ASSERT (Buffer != NULL);\r
\r
- if (Count < 2 || ElementSize < 1) {\r
+ if ((Count < 2) || (ElementSize < 1)) {\r
return;\r
}\r
\r
// Now get the pivot such that all on "left" are below it\r
// and everything "right" are above it\r
//\r
- for (LoopCount = 0; LoopCount < Count - 1; LoopCount++)\r
- {\r
+ for (LoopCount = 0; LoopCount < Count - 1; LoopCount++) {\r
//\r
// If the element is less than the pivot\r
//\r
NextSwapLocation++;\r
}\r
}\r
+\r
//\r
// Swap pivot to its final position (NextSwapLocation)\r
//\r
return;\r
}\r
\r
-//---------------------------------------------------------\r
+// ---------------------------------------------------------\r
// Standard C Run-time Library Interface Wrapper\r
-//---------------------------------------------------------\r
+// ---------------------------------------------------------\r
\r
//\r
// -- String Manipulation Routines --\r
//\r
\r
-char *strchr(const char *str, int ch)\r
+char *\r
+strchr (\r
+ const char *str,\r
+ int ch\r
+ )\r
{\r
return ScanMem8 (str, AsciiStrSize (str), (UINT8)ch);\r
}\r
\r
/* Scan a string for the last occurrence of a character */\r
-char *strrchr (const char *str, int c)\r
+char *\r
+strrchr (\r
+ const char *str,\r
+ int c\r
+ )\r
{\r
- char * save;\r
+ char *save;\r
\r
for (save = NULL; ; ++str) {\r
if (*str == c) {\r
save = (char *)str;\r
}\r
+\r
if (*str == 0) {\r
return (save);\r
}\r
}\r
\r
/* Compare first n bytes of string s1 with string s2, ignoring case */\r
-int strncasecmp (const char *s1, const char *s2, size_t n)\r
+int\r
+strncasecmp (\r
+ const char *s1,\r
+ const char *s2,\r
+ size_t n\r
+ )\r
{\r
- int Val;\r
+ int Val;\r
\r
- ASSERT(s1 != NULL);\r
- ASSERT(s2 != NULL);\r
+ ASSERT (s1 != NULL);\r
+ ASSERT (s2 != NULL);\r
\r
if (n != 0) {\r
do {\r
- Val = tolower(*s1) - tolower(*s2);\r
+ Val = tolower (*s1) - tolower (*s2);\r
if (Val != 0) {\r
return Val;\r
}\r
+\r
++s1;\r
++s2;\r
if (*s1 == '\0') {\r
}\r
} while (--n != 0);\r
}\r
+\r
return 0;\r
}\r
\r
/* Read formatted data from a string */\r
-int sscanf (const char *buffer, const char *format, ...)\r
+int\r
+sscanf (\r
+ const char *buffer,\r
+ const char *format,\r
+ ...\r
+ )\r
{\r
//\r
// Null sscanf() function implementation to satisfy the linker, since\r
}\r
\r
/* Maps errnum to an error-message string */\r
-char * strerror (int errnum)\r
+char *\r
+strerror (\r
+ int errnum\r
+ )\r
{\r
return NULL;\r
}\r
\r
/* Computes the length of the maximum initial segment of the string pointed to by s1\r
which consists entirely of characters from the string pointed to by s2. */\r
-size_t strspn (const char *s1 , const char *s2)\r
+size_t\r
+strspn (\r
+ const char *s1,\r
+ const char *s2\r
+ )\r
{\r
UINT8 Map[32];\r
UINT32 Index;\r
\r
/* Computes the length of the maximum initial segment of the string pointed to by s1\r
which consists entirely of characters not from the string pointed to by s2. */\r
-size_t strcspn (const char *s1, const char *s2)\r
+size_t\r
+strcspn (\r
+ const char *s1,\r
+ const char *s2\r
+ )\r
{\r
- UINT8 Map[32];\r
- UINT32 Index;\r
- size_t Count;\r
+ UINT8 Map[32];\r
+ UINT32 Index;\r
+ size_t Count;\r
\r
for (Index = 0; Index < 32; Index++) {\r
Map[Index] = 0;\r
\r
Map[0] |= 1;\r
\r
- Count = 0;\r
+ Count = 0;\r
while (!(Map[*s1 >> 3] & (1 << (*s1 & 7)))) {\r
- Count ++;\r
+ Count++;\r
s1++;\r
}\r
\r
//\r
\r
/* Determines if a particular character is a decimal-digit character */\r
-int isdigit (int c)\r
+int\r
+isdigit (\r
+ int c\r
+ )\r
{\r
//\r
// <digit> ::= [0-9]\r
}\r
\r
/* Determine if an integer represents character that is a hex digit */\r
-int isxdigit (int c)\r
+int\r
+isxdigit (\r
+ int c\r
+ )\r
{\r
//\r
// <hexdigit> ::= [0-9] | [a-f] | [A-F]\r
}\r
\r
/* Determines if a particular character represents a space character */\r
-int isspace (int c)\r
+int\r
+isspace (\r
+ int c\r
+ )\r
{\r
//\r
// <space> ::= [ ]\r
}\r
\r
/* Determine if a particular character is an alphanumeric character */\r
-int isalnum (int c)\r
+int\r
+isalnum (\r
+ int c\r
+ )\r
{\r
//\r
// <alnum> ::= [0-9] | [a-z] | [A-Z]\r
}\r
\r
/* Determines if a particular character is in upper case */\r
-int isupper (int c)\r
+int\r
+isupper (\r
+ int c\r
+ )\r
{\r
//\r
// <uppercase letter> := [A-Z]\r
//\r
\r
/* Convert strings to a long-integer value */\r
-long strtol (const char *nptr, char **endptr, int base)\r
+long\r
+strtol (\r
+ const char *nptr,\r
+ char **endptr,\r
+ int base\r
+ )\r
{\r
//\r
// Null strtol() function implementation to satisfy the linker, since there is\r
}\r
\r
/* Convert strings to an unsigned long-integer value */\r
-unsigned long strtoul (const char *nptr, char **endptr, int base)\r
+unsigned long\r
+strtoul (\r
+ const char *nptr,\r
+ char **endptr,\r
+ int base\r
+ )\r
{\r
//\r
// Null strtoul() function implementation to satisfy the linker, since there is\r
}\r
\r
/* Convert character to lowercase */\r
-int tolower (int c)\r
+int\r
+tolower (\r
+ int c\r
+ )\r
{\r
if (('A' <= (c)) && ((c) <= 'Z')) {\r
return (c - ('A' - 'a'));\r
}\r
+\r
return (c);\r
}\r
\r
//\r
\r
/* Performs a quick sort */\r
-void qsort (void *base, size_t num, size_t width, int (*compare)(const void *, const void *))\r
+void\r
+qsort (\r
+ void *base,\r
+ size_t num,\r
+ size_t width,\r
+ int ( *compare )(const void *, const void *)\r
+ )\r
{\r
VOID *Buffer;\r
\r
//\r
\r
/* Get a value from the current environment */\r
-char *getenv (const char *varname)\r
+char *\r
+getenv (\r
+ const char *varname\r
+ )\r
{\r
//\r
// Null getenv() function implementation to satisfy the linker, since there is\r
}\r
\r
/* Get a value from the current environment */\r
-char *secure_getenv (const char *varname)\r
+char *\r
+secure_getenv (\r
+ const char *varname\r
+ )\r
{\r
//\r
// Null secure_getenv() function implementation to satisfy the linker, since\r
//\r
\r
/* Write data to a stream */\r
-size_t fwrite (const void *buffer, size_t size, size_t count, FILE *stream)\r
+size_t\r
+fwrite (\r
+ const void *buffer,\r
+ size_t size,\r
+ size_t count,\r
+ FILE *stream\r
+ )\r
{\r
return 0;\r
}\r
// -- Dummy OpenSSL Support Routines --\r
//\r
\r
-int BIO_printf (void *bio, const char *format, ...)\r
+int\r
+BIO_printf (\r
+ void *bio,\r
+ const char *format,\r
+ ...\r
+ )\r
{\r
return 0;\r
}\r
\r
-int BIO_snprintf(char *buf, size_t n, const char *format, ...)\r
+int\r
+BIO_snprintf (\r
+ char *buf,\r
+ size_t n,\r
+ const char *format,\r
+ ...\r
+ )\r
{\r
return 0;\r
}\r
VOID\r
(EFIAPI *NoReturnFuncPtr)(\r
VOID\r
- ) __attribute__((__noreturn__));\r
+ ) __attribute__ ((__noreturn__));\r
\r
STATIC\r
VOID\r
{\r
}\r
\r
-void abort (void)\r
+void\r
+abort (\r
+ void\r
+ )\r
{\r
- NoReturnFuncPtr NoReturnFunc;\r
+ NoReturnFuncPtr NoReturnFunc;\r
\r
- NoReturnFunc = (NoReturnFuncPtr) NopFunction;\r
+ NoReturnFunc = (NoReturnFuncPtr)NopFunction;\r
\r
NoReturnFunc ();\r
}\r
\r
#else\r
\r
-void abort (void)\r
+void\r
+abort (\r
+ void\r
+ )\r
{\r
// Do nothing\r
}\r
\r
#endif\r
\r
-int fclose (FILE *f)\r
+int\r
+fclose (\r
+ FILE *f\r
+ )\r
{\r
return 0;\r
}\r
\r
-FILE *fopen (const char *c, const char *m)\r
+FILE *\r
+fopen (\r
+ const char *c,\r
+ const char *m\r
+ )\r
{\r
return NULL;\r
}\r
\r
-size_t fread (void *b, size_t c, size_t i, FILE *f)\r
+size_t\r
+fread (\r
+ void *b,\r
+ size_t c,\r
+ size_t i,\r
+ FILE *f\r
+ )\r
{\r
return 0;\r
}\r
\r
-uid_t getuid (void)\r
+uid_t\r
+getuid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-uid_t geteuid (void)\r
+uid_t\r
+geteuid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-gid_t getgid (void)\r
+gid_t\r
+getgid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-gid_t getegid (void)\r
+gid_t\r
+getegid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-int printf (char const *fmt, ...)\r
+int\r
+printf (\r
+ char const *fmt,\r
+ ...\r
+ )\r
{\r
return 0;\r
}\r
#include <Library/MemoryAllocationLib.h>\r
#include <Guid/EventGroup.h>\r
\r
-//----------------------------------------------------------------\r
+// ----------------------------------------------------------------\r
// Initial version. Needs further optimizations.\r
-//----------------------------------------------------------------\r
+// ----------------------------------------------------------------\r
\r
//\r
// Definitions for Runtime Memory Operations\r
//\r
-#define RT_PAGE_SIZE 0x200\r
-#define RT_PAGE_MASK 0x1FF\r
-#define RT_PAGE_SHIFT 9\r
+#define RT_PAGE_SIZE 0x200\r
+#define RT_PAGE_MASK 0x1FF\r
+#define RT_PAGE_SHIFT 9\r
\r
-#define RT_SIZE_TO_PAGES(a) (((a) >> RT_PAGE_SHIFT) + (((a) & RT_PAGE_MASK) ? 1 : 0))\r
-#define RT_PAGES_TO_SIZE(a) ((a) << RT_PAGE_SHIFT)\r
+#define RT_SIZE_TO_PAGES(a) (((a) >> RT_PAGE_SHIFT) + (((a) & RT_PAGE_MASK) ? 1 : 0))\r
+#define RT_PAGES_TO_SIZE(a) ((a) << RT_PAGE_SHIFT)\r
\r
//\r
// Page Flag Definitions\r
//\r
-#define RT_PAGE_FREE 0x00000000\r
-#define RT_PAGE_USED 0x00000001\r
+#define RT_PAGE_FREE 0x00000000\r
+#define RT_PAGE_USED 0x00000001\r
\r
-#define MIN_REQUIRED_BLOCKS 600\r
+#define MIN_REQUIRED_BLOCKS 600\r
\r
//\r
// Memory Page Table\r
//\r
typedef struct {\r
- UINTN StartPageOffset; // Offset of the starting page allocated.\r
+ UINTN StartPageOffset; // Offset of the starting page allocated.\r
// Only available for USED pages.\r
- UINT32 PageFlag; // Page Attributes.\r
+ UINT32 PageFlag; // Page Attributes.\r
} RT_MEMORY_PAGE_ENTRY;\r
\r
typedef struct {\r
- UINTN PageCount;\r
- UINTN LastEmptyPageOffset;\r
- UINT8 *DataAreaBase; // Pointer to data Area.\r
- RT_MEMORY_PAGE_ENTRY Pages[1]; // Page Table Entries.\r
+ UINTN PageCount;\r
+ UINTN LastEmptyPageOffset;\r
+ UINT8 *DataAreaBase; // Pointer to data Area.\r
+ RT_MEMORY_PAGE_ENTRY Pages[1]; // Page Table Entries.\r
} RT_MEMORY_PAGE_TABLE;\r
\r
//\r
//\r
// Event for Runtime Address Conversion.\r
//\r
-STATIC EFI_EVENT mVirtualAddressChangeEvent;\r
-\r
+STATIC EFI_EVENT mVirtualAddressChangeEvent;\r
\r
/**\r
Initializes pre-allocated memory pointed by ScratchBuffer for subsequent\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Look-up Free memory Region for object allocation.\r
\r
//\r
return (UINTN)(-1);\r
}\r
+\r
for (Index = 0; Index < (StartPageIndex - ReqPages); ) {\r
//\r
// Check Consecutive ReqPages Pages.\r
// Failed! Skip current adjacent Used pages\r
//\r
while ((SubIndex < (StartPageIndex - ReqPages)) &&\r
- ((mRTPageTable->Pages[SubIndex + Index].PageFlag & RT_PAGE_USED) != 0)) {\r
+ ((mRTPageTable->Pages[SubIndex + Index].PageFlag & RT_PAGE_USED) != 0))\r
+ {\r
SubIndex++;\r
}\r
\r
return (UINTN)(-1);\r
}\r
\r
-\r
/**\r
Allocates a buffer at runtime phase.\r
\r
return AllocPtr;\r
}\r
\r
-\r
/**\r
Frees a buffer that was previously allocated at runtime phase.\r
\r
UINTN StartPageIndex;\r
\r
StartOffset = (UINTN)Buffer - (UINTN)mRTPageTable->DataAreaBase;\r
- StartPageIndex = RT_SIZE_TO_PAGES (mRTPageTable->Pages[RT_SIZE_TO_PAGES(StartOffset)].StartPageOffset);\r
+ StartPageIndex = RT_SIZE_TO_PAGES (mRTPageTable->Pages[RT_SIZE_TO_PAGES (StartOffset)].StartPageOffset);\r
\r
while (StartPageIndex < mRTPageTable->PageCount) {\r
if (((mRTPageTable->Pages[StartPageIndex].PageFlag & RT_PAGE_USED) != 0) &&\r
- (mRTPageTable->Pages[StartPageIndex].StartPageOffset == StartOffset)) {\r
- //\r
- // Free this page\r
- //\r
- mRTPageTable->Pages[StartPageIndex].PageFlag &= ~RT_PAGE_USED;\r
- mRTPageTable->Pages[StartPageIndex].PageFlag |= RT_PAGE_FREE;\r
- mRTPageTable->Pages[StartPageIndex].StartPageOffset = 0;\r
-\r
- StartPageIndex++;\r
+ (mRTPageTable->Pages[StartPageIndex].StartPageOffset == StartOffset))\r
+ {\r
+ //\r
+ // Free this page\r
+ //\r
+ mRTPageTable->Pages[StartPageIndex].PageFlag &= ~RT_PAGE_USED;\r
+ mRTPageTable->Pages[StartPageIndex].PageFlag |= RT_PAGE_FREE;\r
+ mRTPageTable->Pages[StartPageIndex].StartPageOffset = 0;\r
+\r
+ StartPageIndex++;\r
} else {\r
break;\r
}\r
return;\r
}\r
\r
-\r
/**\r
Notification function of EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE.\r
\r
VOID\r
EFIAPI\r
RuntimeCryptLibAddressChangeEvent (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
//\r
// Converts a pointer for runtime memory management to a new virtual address.\r
//\r
- EfiConvertPointer (0x0, (VOID **) &mRTPageTable->DataAreaBase);\r
- EfiConvertPointer (0x0, (VOID **) &mRTPageTable);\r
+ EfiConvertPointer (0x0, (VOID **)&mRTPageTable->DataAreaBase);\r
+ EfiConvertPointer (0x0, (VOID **)&mRTPageTable);\r
}\r
\r
-\r
/**\r
Constructor routine for runtime crypt library instance.\r
\r
return Status;\r
}\r
\r
-\r
//\r
// -- Memory-Allocation Routines Wrapper for UEFI-OpenSSL Library --\r
//\r
\r
/* Allocates memory blocks */\r
-void *malloc (size_t size)\r
+void *\r
+malloc (\r
+ size_t size\r
+ )\r
{\r
- return RuntimeAllocateMem ((UINTN) size);\r
+ return RuntimeAllocateMem ((UINTN)size);\r
}\r
\r
/* Reallocate memory blocks */\r
-void *realloc (void *ptr, size_t size)\r
+void *\r
+realloc (\r
+ void *ptr,\r
+ size_t size\r
+ )\r
{\r
VOID *NewPtr;\r
UINTN StartOffset;\r
PageCount = 0;\r
while (StartPageIndex < mRTPageTable->PageCount) {\r
if (((mRTPageTable->Pages[StartPageIndex].PageFlag & RT_PAGE_USED) != 0) &&\r
- (mRTPageTable->Pages[StartPageIndex].StartPageOffset == StartOffset)) {\r
- StartPageIndex++;\r
- PageCount++;\r
+ (mRTPageTable->Pages[StartPageIndex].StartPageOffset == StartOffset))\r
+ {\r
+ StartPageIndex++;\r
+ PageCount++;\r
} else {\r
break;\r
}\r
return ptr;\r
}\r
\r
- NewPtr = RuntimeAllocateMem ((UINTN) size);\r
+ NewPtr = RuntimeAllocateMem ((UINTN)size);\r
if (NewPtr == NULL) {\r
return NULL;\r
}\r
}\r
\r
/* Deallocates or frees a memory block */\r
-void free (void *ptr)\r
+void\r
+free (\r
+ void *ptr\r
+ )\r
{\r
//\r
// In Standard C, free() handles a null pointer argument transparently. This\r
// -- Time Management Routines --\r
//\r
\r
-#define IsLeap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))\r
-#define SECSPERMIN (60)\r
-#define SECSPERHOUR (60 * 60)\r
-#define SECSPERDAY (24 * SECSPERHOUR)\r
+#define IsLeap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))\r
+#define SECSPERMIN (60)\r
+#define SECSPERHOUR (60 * 60)\r
+#define SECSPERDAY (24 * SECSPERHOUR)\r
\r
//\r
// The arrays give the cumulative number of days up to the first of the\r
// month number used as the index (1 -> 12) for regular and leap years.\r
// The value at index 13 is for the whole year.\r
//\r
-UINTN CumulativeDays[2][14] = {\r
+UINTN CumulativeDays[2][14] = {\r
{\r
0,\r
0,\r
};\r
\r
/* Get the system time as seconds elapsed since midnight, January 1, 1970. */\r
-//INTN time(\r
+// INTN time(\r
// INTN *timer\r
// )\r
-time_t time (time_t *timer)\r
+time_t\r
+time (\r
+ time_t *timer\r
+ )\r
{\r
EFI_STATUS Status;\r
EFI_TIME Time;\r
// UTime should now be set to 00:00:00 on Jan 1 of the current year.\r
//\r
for (Year = 1970, CalTime = 0; Year != Time.Year; Year++) {\r
- CalTime = CalTime + (time_t)(CumulativeDays[IsLeap(Year)][13] * SECSPERDAY);\r
+ CalTime = CalTime + (time_t)(CumulativeDays[IsLeap (Year)][13] * SECSPERDAY);\r
}\r
\r
//\r
//\r
CalTime = CalTime +\r
(time_t)((Time.TimeZone != EFI_UNSPECIFIED_TIMEZONE) ? (Time.TimeZone * 60) : 0) +\r
- (time_t)(CumulativeDays[IsLeap(Time.Year)][Time.Month] * SECSPERDAY) +\r
+ (time_t)(CumulativeDays[IsLeap (Time.Year)][Time.Month] * SECSPERDAY) +\r
(time_t)(((Time.Day > 0) ? Time.Day - 1 : 0) * SECSPERDAY) +\r
(time_t)(Time.Hour * SECSPERHOUR) +\r
(time_t)(Time.Minute * 60) +\r
//\r
// Convert a time value from type time_t to struct tm.\r
//\r
-struct tm * gmtime (const time_t *timer)\r
+struct tm *\r
+gmtime (\r
+ const time_t *timer\r
+ )\r
{\r
struct tm *GmTime;\r
UINT16 DayNo;\r
return NULL;\r
}\r
\r
- ZeroMem ((VOID *) GmTime, (UINTN) sizeof (struct tm));\r
+ ZeroMem ((VOID *)GmTime, (UINTN)sizeof (struct tm));\r
\r
- DayNo = (UINT16) (*timer / SECSPERDAY);\r
- DayRemainder = (UINT16) (*timer % SECSPERDAY);\r
+ DayNo = (UINT16)(*timer / SECSPERDAY);\r
+ DayRemainder = (UINT16)(*timer % SECSPERDAY);\r
\r
- GmTime->tm_sec = (int) (DayRemainder % SECSPERMIN);\r
- GmTime->tm_min = (int) ((DayRemainder % SECSPERHOUR) / SECSPERMIN);\r
- GmTime->tm_hour = (int) (DayRemainder / SECSPERHOUR);\r
- GmTime->tm_wday = (int) ((DayNo + 4) % 7);\r
+ GmTime->tm_sec = (int)(DayRemainder % SECSPERMIN);\r
+ GmTime->tm_min = (int)((DayRemainder % SECSPERHOUR) / SECSPERMIN);\r
+ GmTime->tm_hour = (int)(DayRemainder / SECSPERHOUR);\r
+ GmTime->tm_wday = (int)((DayNo + 4) % 7);\r
\r
for (Year = 1970, YearNo = 0; DayNo > 0; Year++) {\r
- TotalDays = (UINT16) (IsLeap (Year) ? 366 : 365);\r
+ TotalDays = (UINT16)(IsLeap (Year) ? 366 : 365);\r
if (DayNo >= TotalDays) {\r
- DayNo = (UINT16) (DayNo - TotalDays);\r
+ DayNo = (UINT16)(DayNo - TotalDays);\r
YearNo++;\r
} else {\r
break;\r
}\r
}\r
\r
- GmTime->tm_year = (int) (YearNo + (1970 - 1900));\r
- GmTime->tm_yday = (int) DayNo;\r
+ GmTime->tm_year = (int)(YearNo + (1970 - 1900));\r
+ GmTime->tm_yday = (int)DayNo;\r
\r
for (MonthNo = 12; MonthNo > 1; MonthNo--) {\r
- if (DayNo >= CumulativeDays[IsLeap(Year)][MonthNo]) {\r
- DayNo = (UINT16) (DayNo - (UINT16) (CumulativeDays[IsLeap(Year)][MonthNo]));\r
+ if (DayNo >= CumulativeDays[IsLeap (Year)][MonthNo]) {\r
+ DayNo = (UINT16)(DayNo - (UINT16)(CumulativeDays[IsLeap (Year)][MonthNo]));\r
break;\r
}\r
}\r
\r
- GmTime->tm_mon = (int) MonthNo - 1;\r
- GmTime->tm_mday = (int) DayNo + 1;\r
+ GmTime->tm_mon = (int)MonthNo - 1;\r
+ GmTime->tm_mday = (int)DayNo + 1;\r
\r
GmTime->tm_isdst = 0;\r
GmTime->tm_gmtoff = 0;\r
#include <Library/DebugLib.h>\r
\r
/* Convert character to lowercase */\r
-int tolower (int c)\r
+int\r
+tolower (\r
+ int c\r
+ )\r
{\r
if (('A' <= (c)) && ((c) <= 'Z')) {\r
return (c - ('A' - 'a'));\r
}\r
+\r
return (c);\r
}\r
\r
/* Compare first n bytes of string s1 with string s2, ignoring case */\r
-int strncasecmp (const char *s1, const char *s2, size_t n)\r
+int\r
+strncasecmp (\r
+ const char *s1,\r
+ const char *s2,\r
+ size_t n\r
+ )\r
{\r
- int Val;\r
+ int Val;\r
\r
- ASSERT(s1 != NULL);\r
- ASSERT(s2 != NULL);\r
+ ASSERT (s1 != NULL);\r
+ ASSERT (s2 != NULL);\r
\r
if (n != 0) {\r
do {\r
- Val = tolower(*s1) - tolower(*s2);\r
+ Val = tolower (*s1) - tolower (*s2);\r
if (Val != 0) {\r
return Val;\r
}\r
+\r
++s1;\r
++s2;\r
if (*s1 == '\0') {\r
}\r
} while (--n != 0);\r
}\r
+\r
return 0;\r
}\r
\r
/* Read formatted data from a string */\r
-int sscanf (const char *buffer, const char *format, ...)\r
+int\r
+sscanf (\r
+ const char *buffer,\r
+ const char *format,\r
+ ...\r
+ )\r
{\r
//\r
// Null sscanf() function implementation to satisfy the linker, since\r
// -- Dummy OpenSSL Support Routines --\r
//\r
\r
-int BIO_printf (void *bio, const char *format, ...)\r
+int\r
+BIO_printf (\r
+ void *bio,\r
+ const char *format,\r
+ ...\r
+ )\r
{\r
return 0;\r
}\r
\r
-int BIO_snprintf(char *buf, size_t n, const char *format, ...)\r
+int\r
+BIO_snprintf (\r
+ char *buf,\r
+ size_t n,\r
+ const char *format,\r
+ ...\r
+ )\r
{\r
return 0;\r
}\r
\r
-uid_t getuid (void)\r
+uid_t\r
+getuid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-uid_t geteuid (void)\r
+uid_t\r
+geteuid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-gid_t getgid (void)\r
+gid_t\r
+getgid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-gid_t getegid (void)\r
+gid_t\r
+getegid (\r
+ void\r
+ )\r
{\r
return 0;\r
}\r
\r
-int errno = 0;\r
+int errno = 0;\r
* Portions copyright (c) 1999, 2000\r
* Intel Corporation.\r
* All rights reserved.\r
- * \r
+ *\r
* Redistribution and use in source and binary forms, with or without\r
* modification, are permitted provided that the following conditions\r
* are met:\r
- * \r
+ *\r
* 1. Redistributions of source code must retain the above copyright\r
* notice, this list of conditions and the following disclaimer.\r
- * \r
+ *\r
* 2. Redistributions in binary form must reproduce the above copyright\r
* notice, this list of conditions and the following disclaimer in the\r
* documentation and/or other materials provided with the distribution.\r
- * \r
+ *\r
* 3. All advertising materials mentioning features or use of this software\r
* must display the following acknowledgement:\r
- * \r
+ *\r
* This product includes software developed by Intel Corporation and\r
* its contributors.\r
- * \r
+ *\r
* 4. Neither the name of Intel Corporation or its contributors may be\r
* used to endorse or promote products derived from this software\r
* without specific prior written permission.\r
- * \r
+ *\r
* THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS''\r
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\r
* THE POSSIBILITY OF SUCH DAMAGE.\r
- * \r
+ *\r
*/\r
\r
-#if defined(LIBC_SCCS) && !defined(lint)\r
-static char rcsid[] = "$Id: inet_pton.c,v 1.1.1.1 2003/11/19 01:51:30 kyu3 Exp $";\r
+#if defined (LIBC_SCCS) && !defined (lint)\r
+static char rcsid[] = "$Id: inet_pton.c,v 1.1.1.1 2003/11/19 01:51:30 kyu3 Exp $";\r
#endif /* LIBC_SCCS and not lint */\r
\r
#include <sys/param.h>\r
* sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX.\r
*/\r
\r
-static int inet_pton4 (const char *src, u_char *dst);\r
-static int inet_pton6 (const char *src, u_char *dst);\r
+static int\r
+inet_pton4 (\r
+ const char *src,\r
+ u_char *dst\r
+ );\r
+\r
+static int\r
+inet_pton6 (\r
+ const char *src,\r
+ u_char *dst\r
+ );\r
\r
/* int\r
* inet_pton(af, src, dst)\r
- * convert from presentation format (which usually means ASCII printable)\r
- * to network format (which is usually some kind of binary format).\r
+ * convert from presentation format (which usually means ASCII printable)\r
+ * to network format (which is usually some kind of binary format).\r
* return:\r
- * 1 if the address was valid for the specified address family\r
- * 0 if the address wasn't valid (`dst' is untouched in this case)\r
- * -1 if some other error occurred (`dst' is untouched in this case, too)\r
+ * 1 if the address was valid for the specified address family\r
+ * 0 if the address wasn't valid (`dst' is untouched in this case)\r
+ * -1 if some other error occurred (`dst' is untouched in this case, too)\r
* author:\r
- * Paul Vixie, 1996.\r
+ * Paul Vixie, 1996.\r
*/\r
int\r
-inet_pton(\r
- int af,\r
- const char *src,\r
- void *dst\r
- )\r
+inet_pton (\r
+ int af,\r
+ const char *src,\r
+ void *dst\r
+ )\r
{\r
- switch (af) {\r
- case AF_INET:\r
- return (inet_pton4(src, dst));\r
- case AF_INET6:\r
- return (inet_pton6(src, dst));\r
- default:\r
- errno = EAFNOSUPPORT;\r
- return (-1);\r
- }\r
- /* NOTREACHED */\r
+ switch (af) {\r
+ case AF_INET:\r
+ return (inet_pton4 (src, dst));\r
+ case AF_INET6:\r
+ return (inet_pton6 (src, dst));\r
+ default:\r
+ errno = EAFNOSUPPORT;\r
+ return (-1);\r
+ }\r
+\r
+ /* NOTREACHED */\r
}\r
\r
/* int\r
* inet_pton4(src, dst)\r
- * like inet_aton() but without all the hexadecimal and shorthand.\r
+ * like inet_aton() but without all the hexadecimal and shorthand.\r
* return:\r
- * 1 if `src' is a valid dotted quad, else 0.\r
+ * 1 if `src' is a valid dotted quad, else 0.\r
* notice:\r
- * does not touch `dst' unless it's returning 1.\r
+ * does not touch `dst' unless it's returning 1.\r
* author:\r
- * Paul Vixie, 1996.\r
+ * Paul Vixie, 1996.\r
*/\r
static int\r
-inet_pton4(\r
- const char *src,\r
- u_char *dst\r
- )\r
+inet_pton4 (\r
+ const char *src,\r
+ u_char *dst\r
+ )\r
{\r
- static const char digits[] = "0123456789";\r
- int saw_digit, octets, ch;\r
- u_char tmp[NS_INADDRSZ], *tp;\r
-\r
- saw_digit = 0;\r
- octets = 0;\r
- *(tp = tmp) = 0;\r
- while ((ch = *src++) != '\0') {\r
- const char *pch;\r
-\r
- if ((pch = strchr(digits, ch)) != NULL) {\r
- u_int new = *tp * 10 + (u_int)(pch - digits);\r
-\r
- if (new > 255)\r
- return (0);\r
- *tp = (u_char)new;\r
- if (! saw_digit) {\r
- if (++octets > 4)\r
- return (0);\r
- saw_digit = 1;\r
- }\r
- } else if (ch == '.' && saw_digit) {\r
- if (octets == 4)\r
- return (0);\r
- *++tp = 0;\r
- saw_digit = 0;\r
- } else\r
- return (0);\r
- }\r
- if (octets < 4)\r
- return (0);\r
-\r
- memcpy(dst, tmp, NS_INADDRSZ);\r
- return (1);\r
+ static const char digits[] = "0123456789";\r
+ int saw_digit, octets, ch;\r
+ u_char tmp[NS_INADDRSZ], *tp;\r
+\r
+ saw_digit = 0;\r
+ octets = 0;\r
+ *(tp = tmp) = 0;\r
+ while ((ch = *src++) != '\0') {\r
+ const char *pch;\r
+\r
+ if ((pch = strchr (digits, ch)) != NULL) {\r
+ u_int new = *tp * 10 + (u_int)(pch - digits);\r
+\r
+ if (new > 255) {\r
+ return (0);\r
+ }\r
+\r
+ *tp = (u_char)new;\r
+ if (!saw_digit) {\r
+ if (++octets > 4) {\r
+ return (0);\r
+ }\r
+\r
+ saw_digit = 1;\r
+ }\r
+ } else if ((ch == '.') && saw_digit) {\r
+ if (octets == 4) {\r
+ return (0);\r
+ }\r
+\r
+ *++tp = 0;\r
+ saw_digit = 0;\r
+ } else {\r
+ return (0);\r
+ }\r
+ }\r
+\r
+ if (octets < 4) {\r
+ return (0);\r
+ }\r
+\r
+ memcpy (dst, tmp, NS_INADDRSZ);\r
+ return (1);\r
}\r
\r
/* int\r
* inet_pton6(src, dst)\r
- * convert presentation level address to network order binary form.\r
+ * convert presentation level address to network order binary form.\r
* return:\r
- * 1 if `src' is a valid [RFC1884 2.2] address, else 0.\r
+ * 1 if `src' is a valid [RFC1884 2.2] address, else 0.\r
* notice:\r
- * (1) does not touch `dst' unless it's returning 1.\r
- * (2) :: in a full address is silently ignored.\r
+ * (1) does not touch `dst' unless it's returning 1.\r
+ * (2) :: in a full address is silently ignored.\r
* credit:\r
- * inspired by Mark Andrews.\r
+ * inspired by Mark Andrews.\r
* author:\r
- * Paul Vixie, 1996.\r
+ * Paul Vixie, 1996.\r
*/\r
static int\r
-inet_pton6(\r
- const char *src,\r
- u_char *dst\r
- )\r
+inet_pton6 (\r
+ const char *src,\r
+ u_char *dst\r
+ )\r
{\r
- static const char xdigits_l[] = "0123456789abcdef",\r
- xdigits_u[] = "0123456789ABCDEF";\r
- u_char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp;\r
- const char *xdigits, *curtok;\r
- int ch, saw_xdigit;\r
- u_int val;\r
-\r
- memset((tp = tmp), '\0', NS_IN6ADDRSZ);\r
- endp = tp + NS_IN6ADDRSZ;\r
- colonp = NULL;\r
- /* Leading :: requires some special handling. */\r
- if (*src == ':')\r
- if (*++src != ':')\r
- return (0);\r
- curtok = src;\r
- saw_xdigit = 0;\r
- val = 0;\r
- while ((ch = *src++) != '\0') {\r
- const char *pch;\r
-\r
- if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL)\r
- pch = strchr((xdigits = xdigits_u), ch);\r
- if (pch != NULL) {\r
- val <<= 4;\r
- val |= (pch - xdigits);\r
- if (val > 0xffff)\r
- return (0);\r
- saw_xdigit = 1;\r
- continue;\r
- }\r
- if (ch == ':') {\r
- curtok = src;\r
- if (!saw_xdigit) {\r
- if (colonp)\r
- return (0);\r
- colonp = tp;\r
- continue;\r
- }\r
- if (tp + NS_INT16SZ > endp)\r
- return (0);\r
- *tp++ = (u_char) (val >> 8) & 0xff;\r
- *tp++ = (u_char) val & 0xff;\r
- saw_xdigit = 0;\r
- val = 0;\r
- continue;\r
- }\r
- if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&\r
- inet_pton4(curtok, tp) > 0) {\r
- tp += NS_INADDRSZ;\r
- saw_xdigit = 0;\r
- break; /* '\0' was seen by inet_pton4(). */\r
- }\r
- return (0);\r
- }\r
- if (saw_xdigit) {\r
- if (tp + NS_INT16SZ > endp)\r
- return (0);\r
- *tp++ = (u_char) (val >> 8) & 0xff;\r
- *tp++ = (u_char) val & 0xff;\r
- }\r
- if (colonp != NULL) {\r
- /*\r
- * Since some memmove()'s erroneously fail to handle\r
- * overlapping regions, we'll do the shift by hand.\r
- */\r
- const int n = (int)(tp - colonp);\r
- int i;\r
-\r
- for (i = 1; i <= n; i++) {\r
- endp[- i] = colonp[n - i];\r
- colonp[n - i] = 0;\r
- }\r
- tp = endp;\r
- }\r
- if (tp != endp)\r
- return (0);\r
- memcpy(dst, tmp, NS_IN6ADDRSZ);\r
- return (1);\r
+ static const char xdigits_l[] = "0123456789abcdef",\r
+ xdigits_u[] = "0123456789ABCDEF";\r
+ u_char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp;\r
+ const char *xdigits, *curtok;\r
+ int ch, saw_xdigit;\r
+ u_int val;\r
+\r
+ memset ((tp = tmp), '\0', NS_IN6ADDRSZ);\r
+ endp = tp + NS_IN6ADDRSZ;\r
+ colonp = NULL;\r
+ /* Leading :: requires some special handling. */\r
+ if (*src == ':') {\r
+ if (*++src != ':') {\r
+ return (0);\r
+ }\r
+ }\r
+\r
+ curtok = src;\r
+ saw_xdigit = 0;\r
+ val = 0;\r
+ while ((ch = *src++) != '\0') {\r
+ const char *pch;\r
+\r
+ if ((pch = strchr ((xdigits = xdigits_l), ch)) == NULL) {\r
+ pch = strchr ((xdigits = xdigits_u), ch);\r
+ }\r
+\r
+ if (pch != NULL) {\r
+ val <<= 4;\r
+ val |= (pch - xdigits);\r
+ if (val > 0xffff) {\r
+ return (0);\r
+ }\r
+\r
+ saw_xdigit = 1;\r
+ continue;\r
+ }\r
+\r
+ if (ch == ':') {\r
+ curtok = src;\r
+ if (!saw_xdigit) {\r
+ if (colonp) {\r
+ return (0);\r
+ }\r
+\r
+ colonp = tp;\r
+ continue;\r
+ }\r
+\r
+ if (tp + NS_INT16SZ > endp) {\r
+ return (0);\r
+ }\r
+\r
+ *tp++ = (u_char)(val >> 8) & 0xff;\r
+ *tp++ = (u_char)val & 0xff;\r
+ saw_xdigit = 0;\r
+ val = 0;\r
+ continue;\r
+ }\r
+\r
+ if ((ch == '.') && ((tp + NS_INADDRSZ) <= endp) &&\r
+ (inet_pton4 (curtok, tp) > 0))\r
+ {\r
+ tp += NS_INADDRSZ;\r
+ saw_xdigit = 0;\r
+ break; /* '\0' was seen by inet_pton4(). */\r
+ }\r
+\r
+ return (0);\r
+ }\r
+\r
+ if (saw_xdigit) {\r
+ if (tp + NS_INT16SZ > endp) {\r
+ return (0);\r
+ }\r
+\r
+ *tp++ = (u_char)(val >> 8) & 0xff;\r
+ *tp++ = (u_char)val & 0xff;\r
+ }\r
+\r
+ if (colonp != NULL) {\r
+ /*\r
+ * Since some memmove()'s erroneously fail to handle\r
+ * overlapping regions, we'll do the shift by hand.\r
+ */\r
+ const int n = (int)(tp - colonp);\r
+ int i;\r
+\r
+ for (i = 1; i <= n; i++) {\r
+ endp[-i] = colonp[n - i];\r
+ colonp[n - i] = 0;\r
+ }\r
+\r
+ tp = endp;\r
+ }\r
+\r
+ if (tp != endp) {\r
+ return (0);\r
+ }\r
+\r
+ memcpy (dst, tmp, NS_IN6ADDRSZ);\r
+ return (1);\r
}\r
\r
#include "InternalCryptLib.h"\r
\r
-\r
/**\r
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.\r
\r
return 0;\r
}\r
\r
-\r
/**\r
Initializes user-supplied memory pointed by Md5Context as MD5 hash context for\r
subsequent use.\r
**/\r
BOOLEAN\r
EFIAPI\r
-Md5HashAll(\r
+Md5HashAll (\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
-)\r
+ )\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return FALSE;\r
}\r
\r
#include "InternalCryptLib.h"\r
\r
-\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
\r
ASSERT (FALSE);\r
return FALSE;\r
}\r
-\r
**/\r
EFI_STATUS\r
GetSignerCertificate (\r
- IN CONST VOID *CertChain,\r
+ IN CONST VOID *CertChain,\r
OUT VOID **SignerCert\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_NOT_READY;\r
-\r
}\r
\r
-\r
/**\r
Determines if the specified EKU represented in ASN1 form is present\r
in a given certificate.\r
EFI_STATUS\r
IsEkuInCertificate (\r
IN CONST VOID *Cert,\r
- IN VOID *Asn1ToFind\r
+ IN VOID *Asn1ToFind\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_NOT_READY;\r
}\r
\r
-\r
/**\r
Determines if the specified EKUs are present in a signing certificate.\r
\r
@retval EFI_NOT_FOUND One or more EKU's were not found in the signature.\r
**/\r
EFI_STATUS\r
-CheckEKUs(\r
- IN CONST VOID *SignerCert,\r
- IN CONST CHAR8 *RequiredEKUs[],\r
- IN CONST UINT32 RequiredEKUsSize,\r
- IN BOOLEAN RequireAllPresent\r
+CheckEKUs (\r
+ IN CONST VOID *SignerCert,\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST UINT32 RequiredEKUsSize,\r
+ IN BOOLEAN RequireAllPresent\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_NOT_READY;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
VerifyEKUsInPkcs7Signature (\r
- IN CONST UINT8 *Pkcs7Signature,\r
- IN CONST UINT32 SignatureSize,\r
- IN CONST CHAR8 *RequiredEKUs[],\r
- IN CONST UINT32 RequiredEKUsSize,\r
- IN BOOLEAN RequireAllPresent\r
+ IN CONST UINT8 *Pkcs7Signature,\r
+ IN CONST UINT32 SignatureSize,\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST UINT32 RequiredEKUsSize,\r
+ IN BOOLEAN RequireAllPresent\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_NOT_READY;\r
}\r
-\r
VOID\r
EFIAPI\r
Pkcs7FreeSigners (\r
- IN UINT8 *Certs\r
+ IN UINT8 *Certs\r
)\r
{\r
ASSERT (FALSE);\r
ASSERT (FALSE);\r
return FALSE;\r
}\r
-\r
-\r
RETURN_STATUS\r
EFIAPI\r
X509GetOrganizationName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- OUT CHAR8 *NameBuffer OPTIONAL,\r
- IN OUT UINTN *NameBufferSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ OUT CHAR8 *NameBuffer OPTIONAL,\r
+ IN OUT UINTN *NameBufferSize\r
)\r
{\r
ASSERT (FALSE);\r
\r
#include "InternalCryptLib.h"\r
\r
-\r
/**\r
Sets up the seed value for the pseudorandom number generator.\r
\r
ASSERT_EFI_ERROR (EFI_UNSUPPORTED);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// One-Way Cryptographic Hash Primitives\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
#ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.\r
\r
{\r
CALL_CRYPTO_SERVICE (Md5HashAll, (Data, DataSize, HashValue), FALSE);\r
}\r
+\r
#endif\r
\r
#ifndef DISABLE_SHA1_DEPRECATED_INTERFACES\r
+\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
\r
{\r
CALL_CRYPTO_SERVICE (Sha1HashAll, (Data, DataSize, HashValue), FALSE);\r
}\r
+\r
#endif\r
\r
/**\r
CALL_CRYPTO_SERVICE (Sm3HashAll, (Data, DataSize, HashValue), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// MAC (Message Authentication Code) Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA256 use.\r
CALL_CRYPTO_SERVICE (HmacSha256Final, (HmacSha256Context, HmacValue), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Symmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Retrieves the size, in bytes, of the context buffer required for AES operations.\r
CALL_CRYPTO_SERVICE (AesCbcDecrypt, (AesContext, Input, InputSize, Ivec, Output), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Asymmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and initializes one RSA context for subsequent use.\r
RETURN_STATUS\r
EFIAPI\r
X509GetOrganizationName (\r
- IN CONST UINT8 *Cert,\r
- IN UINTN CertSize,\r
- OUT CHAR8 *NameBuffer OPTIONAL,\r
- IN OUT UINTN *NameBufferSize\r
+ IN CONST UINT8 *Cert,\r
+ IN UINTN CertSize,\r
+ OUT CHAR8 *NameBuffer OPTIONAL,\r
+ IN OUT UINTN *NameBufferSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (X509GetOrganizationName, (Cert, CertSize, NameBuffer, NameBufferSize), RETURN_UNSUPPORTED);\r
VOID\r
EFIAPI\r
Pkcs7FreeSigners (\r
- IN UINT8 *Certs\r
+ IN UINT8 *Certs\r
)\r
{\r
CALL_VOID_CRYPTO_SERVICE (Pkcs7FreeSigners, (Certs));\r
CALL_CRYPTO_SERVICE (VerifyEKUsInPkcs7Signature, (Pkcs7Signature, SignatureSize, RequiredEKUs, RequiredEKUsSize, RequireAllPresent), FALSE);\r
}\r
\r
-\r
/**\r
Extracts the attached content from a PKCS#7 signed data if existed. The input signed\r
data could be wrapped in a ContentInfo structure.\r
CALL_CRYPTO_SERVICE (ImageTimestampVerify, (AuthData, DataSize, TsaCert, CertSize, SigningTime), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// DH Key Exchange Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and Initializes one Diffie-Hellman Context for subsequent use.\r
CALL_CRYPTO_SERVICE (DhComputeKey, (DhContext, PeerPublicKey, PeerPublicKeySize, Key, KeySize), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Pseudo-Random Generation Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Sets up the seed value for the pseudorandom number generator.\r
CALL_CRYPTO_SERVICE (RandomBytes, (Output, Size), FALSE);\r
}\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Key Derivation Function Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Derive key data using HMAC-SHA256 based KDF.\r
VOID\r
EFIAPI\r
TlsCtxFree (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
CALL_VOID_CRYPTO_SERVICE (TlsCtxFree, (TlsCtx));\r
VOID *\r
EFIAPI\r
TlsCtxNew (\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsCtxNew, (MajorVer, MinorVer), NULL);\r
VOID\r
EFIAPI\r
TlsFree (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
CALL_VOID_CRYPTO_SERVICE (TlsFree, (Tls));\r
VOID *\r
EFIAPI\r
TlsNew (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsNew, (TlsCtx), NULL);\r
BOOLEAN\r
EFIAPI\r
TlsInHandshake (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsInHandshake, (Tls), FALSE);\r
EFI_STATUS\r
EFIAPI\r
TlsDoHandshake (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsDoHandshake, (Tls, BufferIn, BufferInSize, BufferOut, BufferOutSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsHandleAlert (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsHandleAlert, (Tls, BufferIn, BufferInSize, BufferOut, BufferOutSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsCloseNotify (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *Buffer,\r
- IN OUT UINTN *BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *Buffer,\r
+ IN OUT UINTN *BufferSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsCloseNotify, (Tls, Buffer, BufferSize), EFI_UNSUPPORTED);\r
INTN\r
EFIAPI\r
TlsCtrlTrafficOut (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsCtrlTrafficOut, (Tls, Buffer, BufferSize), 0);\r
INTN\r
EFIAPI\r
TlsCtrlTrafficIn (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsCtrlTrafficIn, (Tls, Buffer, BufferSize), 0);\r
INTN\r
EFIAPI\r
TlsRead (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsRead, (Tls, Buffer, BufferSize), 0);\r
INTN\r
EFIAPI\r
TlsWrite (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsWrite, (Tls, Buffer, BufferSize), 0);\r
EFI_STATUS\r
EFIAPI\r
TlsSetVersion (\r
- IN VOID *Tls,\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN VOID *Tls,\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetVersion, (Tls, MajorVer, MinorVer), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetConnectionEnd (\r
- IN VOID *Tls,\r
- IN BOOLEAN IsServer\r
+ IN VOID *Tls,\r
+ IN BOOLEAN IsServer\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetConnectionEnd, (Tls, IsServer), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetCipherList (\r
- IN VOID *Tls,\r
- IN UINT16 *CipherId,\r
- IN UINTN CipherNum\r
+ IN VOID *Tls,\r
+ IN UINT16 *CipherId,\r
+ IN UINTN CipherNum\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetCipherList, (Tls, CipherId, CipherNum), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetCompressionMethod (\r
- IN UINT8 CompMethod\r
+ IN UINT8 CompMethod\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetCompressionMethod, (CompMethod), EFI_UNSUPPORTED);\r
VOID\r
EFIAPI\r
TlsSetVerify (\r
- IN VOID *Tls,\r
- IN UINT32 VerifyMode\r
+ IN VOID *Tls,\r
+ IN UINT32 VerifyMode\r
)\r
{\r
CALL_VOID_CRYPTO_SERVICE (TlsSetVerify, (Tls, VerifyMode));\r
EFI_STATUS\r
EFIAPI\r
TlsSetVerifyHost (\r
- IN VOID *Tls,\r
- IN UINT32 Flags,\r
- IN CHAR8 *HostName\r
+ IN VOID *Tls,\r
+ IN UINT32 Flags,\r
+ IN CHAR8 *HostName\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetVerifyHost, (Tls, Flags, HostName), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetSessionId (\r
- IN VOID *Tls,\r
- IN UINT8 *SessionId,\r
- IN UINT16 SessionIdLen\r
+ IN VOID *Tls,\r
+ IN UINT8 *SessionId,\r
+ IN UINT16 SessionIdLen\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetSessionId, (Tls, SessionId, SessionIdLen), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetCaCertificate (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetCaCertificate, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPublicCert (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetHostPublicCert, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPrivateKey (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetHostPrivateKey, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsSetCertRevocationList (\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsSetCertRevocationList, (Data, DataSize), EFI_UNSUPPORTED);\r
UINT16\r
EFIAPI\r
TlsGetVersion (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetVersion, (Tls), 0);\r
UINT8\r
EFIAPI\r
TlsGetConnectionEnd (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetConnectionEnd, (Tls), 0);\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCipher (\r
- IN VOID *Tls,\r
- IN OUT UINT16 *CipherId\r
+ IN VOID *Tls,\r
+ IN OUT UINT16 *CipherId\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetCurrentCipher, (Tls, CipherId), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCompressionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *CompressionId\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *CompressionId\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetCurrentCompressionId, (Tls, CompressionId), EFI_UNSUPPORTED);\r
UINT32\r
EFIAPI\r
TlsGetVerify (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetVerify, (Tls), 0);\r
EFI_STATUS\r
EFIAPI\r
TlsGetSessionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *SessionId,\r
- IN OUT UINT16 *SessionIdLen\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *SessionId,\r
+ IN OUT UINT16 *SessionIdLen\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetSessionId, (Tls, SessionId, SessionIdLen), EFI_UNSUPPORTED);\r
VOID\r
EFIAPI\r
TlsGetClientRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ClientRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ClientRandom\r
)\r
{\r
CALL_VOID_CRYPTO_SERVICE (TlsGetClientRandom, (Tls, ClientRandom));\r
VOID\r
EFIAPI\r
TlsGetServerRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ServerRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ServerRandom\r
)\r
{\r
CALL_VOID_CRYPTO_SERVICE (TlsGetServerRandom, (Tls, ServerRandom));\r
EFI_STATUS\r
EFIAPI\r
TlsGetKeyMaterial (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *KeyMaterial\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *KeyMaterial\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetKeyMaterial, (Tls, KeyMaterial), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsGetCaCertificate (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetCaCertificate, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPublicCert (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetHostPublicCert, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPrivateKey (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetHostPrivateKey, (Tls, Data, DataSize), EFI_UNSUPPORTED);\r
EFI_STATUS\r
EFIAPI\r
TlsGetCertRevocationList (\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
CALL_CRYPTO_SERVICE (TlsGetCertRevocationList, (Data, DataSize), EFI_UNSUPPORTED);\r
(VOID **)&mCryptoProtocol\r
);\r
\r
- if (EFI_ERROR (Status) || mCryptoProtocol == NULL) {\r
- DEBUG((DEBUG_ERROR, "[DxeCryptLib] Failed to locate Crypto Protocol. Status = %r\n", Status));\r
+ if (EFI_ERROR (Status) || (mCryptoProtocol == NULL)) {\r
+ DEBUG ((DEBUG_ERROR, "[DxeCryptLib] Failed to locate Crypto Protocol. Status = %r\n", Status));\r
ASSERT_EFI_ERROR (Status);\r
ASSERT (mCryptoProtocol != NULL);\r
mCryptoProtocol = NULL;\r
\r
Version = mCryptoProtocol->GetVersion ();\r
if (Version < EDKII_CRYPTO_VERSION) {\r
- DEBUG((DEBUG_ERROR, "[DxeCryptLib] Crypto Protocol unsupported version %d\n", Version));\r
+ DEBUG ((DEBUG_ERROR, "[DxeCryptLib] Crypto Protocol unsupported version %d\n", Version));\r
ASSERT (Version >= EDKII_CRYPTO_VERSION);\r
mCryptoProtocol = NULL;\r
return EFI_NOT_FOUND;\r
UINTN Version;\r
\r
CryptoPpi = NULL;\r
- Status = PeiServicesLocatePpi (\r
- &gEdkiiCryptoPpiGuid,\r
- 0,\r
- NULL,\r
- (VOID **)&CryptoPpi\r
- );\r
- if (EFI_ERROR (Status) || CryptoPpi == NULL) {\r
- DEBUG((DEBUG_ERROR, "[PeiCryptLib] Failed to locate Crypto PPI. Status = %r\n", Status));\r
+ Status = PeiServicesLocatePpi (\r
+ &gEdkiiCryptoPpiGuid,\r
+ 0,\r
+ NULL,\r
+ (VOID **)&CryptoPpi\r
+ );\r
+ if (EFI_ERROR (Status) || (CryptoPpi == NULL)) {\r
+ DEBUG ((DEBUG_ERROR, "[PeiCryptLib] Failed to locate Crypto PPI. Status = %r\n", Status));\r
ASSERT_EFI_ERROR (Status);\r
ASSERT (CryptoPpi != NULL);\r
return NULL;\r
\r
Version = CryptoPpi->GetVersion ();\r
if (Version < EDKII_CRYPTO_VERSION) {\r
- DEBUG((DEBUG_ERROR, "[PeiCryptLib] Crypto PPI unsupported version %d\n", Version));\r
+ DEBUG ((DEBUG_ERROR, "[PeiCryptLib] Crypto PPI unsupported version %d\n", Version));\r
ASSERT (Version >= EDKII_CRYPTO_VERSION);\r
return NULL;\r
}\r
NULL,\r
(VOID **)&mSmmCryptoProtocol\r
);\r
- if (EFI_ERROR (Status) || mSmmCryptoProtocol == NULL) {\r
- DEBUG((DEBUG_ERROR, "[SmmCryptLib] Failed to locate Crypto SMM Protocol. Status = %r\n", Status));\r
+ if (EFI_ERROR (Status) || (mSmmCryptoProtocol == NULL)) {\r
+ DEBUG ((DEBUG_ERROR, "[SmmCryptLib] Failed to locate Crypto SMM Protocol. Status = %r\n", Status));\r
ASSERT_EFI_ERROR (Status);\r
ASSERT (mSmmCryptoProtocol != NULL);\r
mSmmCryptoProtocol = NULL;\r
\r
Version = mSmmCryptoProtocol->GetVersion ();\r
if (Version < EDKII_CRYPTO_VERSION) {\r
- DEBUG((DEBUG_ERROR, "[SmmCryptLib] Crypto SMM Protocol unsupported version %d\n", Version));\r
+ DEBUG ((DEBUG_ERROR, "[SmmCryptLib] Crypto SMM Protocol unsupported version %d\n", Version));\r
ASSERT (Version >= EDKII_CRYPTO_VERSION);\r
mSmmCryptoProtocol = NULL;\r
return EFI_NOT_FOUND;\r
#include <Library/DebugLib.h>\r
#include <Library/PrintLib.h>\r
\r
-#define OPENSSLDIR ""\r
-#define ENGINESDIR ""\r
+#define OPENSSLDIR ""\r
+#define ENGINESDIR ""\r
\r
#define MAX_STRING_SIZE 0x1000\r
\r
// define our own here.\r
//\r
#ifdef CONFIG_HEADER_BN_H\r
-#error CONFIG_HEADER_BN_H already defined\r
+ #error CONFIG_HEADER_BN_H already defined\r
#endif\r
\r
#define CONFIG_HEADER_BN_H\r
\r
-#if !defined(SIXTY_FOUR_BIT) && !defined (THIRTY_TWO_BIT)\r
-#if defined(MDE_CPU_X64) || defined(MDE_CPU_AARCH64) || defined(MDE_CPU_IA64) || defined(MDE_CPU_RISCV64)\r
+#if !defined (SIXTY_FOUR_BIT) && !defined (THIRTY_TWO_BIT)\r
+ #if defined (MDE_CPU_X64) || defined (MDE_CPU_AARCH64) || defined (MDE_CPU_IA64) || defined (MDE_CPU_RISCV64)\r
//\r
// With GCC we would normally use SIXTY_FOUR_BIT_LONG, but MSVC needs\r
// SIXTY_FOUR_BIT, because 'long' is 32-bit and only 'long long' is\r
// 64-bit. Since using 'long long' works fine on GCC too, just do that.\r
//\r
#define SIXTY_FOUR_BIT\r
-#elif defined(MDE_CPU_IA32) || defined(MDE_CPU_ARM) || defined(MDE_CPU_EBC)\r
+ #elif defined (MDE_CPU_IA32) || defined (MDE_CPU_ARM) || defined (MDE_CPU_EBC)\r
#define THIRTY_TWO_BIT\r
-#else\r
-#error Unknown target architecture\r
-#endif\r
+ #else\r
+ #error Unknown target architecture\r
+ #endif\r
#endif\r
\r
//\r
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h\r
//\r
-#if !defined(__CC_ARM) // if va_list is not already defined\r
+#if !defined (__CC_ARM) // if va_list is not already defined\r
#define va_list VA_LIST\r
#define va_arg VA_ARG\r
#define va_start VA_START\r
#define va_end VA_END\r
#else // __CC_ARM\r
-#define va_start(Marker, Parameter) __va_start(Marker, Parameter)\r
-#define va_arg(Marker, TYPE) __va_arg(Marker, TYPE)\r
-#define va_end(Marker) ((void)0)\r
+#define va_start(Marker, Parameter) __va_start(Marker, Parameter)\r
+#define va_arg(Marker, TYPE) __va_arg(Marker, TYPE)\r
+#define va_end(Marker) ((void)0)\r
#endif\r
\r
//\r
// Definitions for global constants used by CRT library routines\r
//\r
-#define EINVAL 22 /* Invalid argument */\r
-#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */\r
-#define INT_MAX 0x7FFFFFFF /* Maximum (signed) int value */\r
-#define LONG_MAX 0X7FFFFFFFL /* max value for a long */\r
-#define LONG_MIN (-LONG_MAX-1) /* min value for a long */\r
-#define ULONG_MAX 0xFFFFFFFF /* Maximum unsigned long value */\r
-#define CHAR_BIT 8 /* Number of bits in a char */\r
+#define EINVAL 22 /* Invalid argument */\r
+#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */\r
+#define INT_MAX 0x7FFFFFFF /* Maximum (signed) int value */\r
+#define LONG_MAX 0X7FFFFFFFL /* max value for a long */\r
+#define LONG_MIN (-LONG_MAX-1) /* min value for a long */\r
+#define ULONG_MAX 0xFFFFFFFF /* Maximum unsigned long value */\r
+#define CHAR_BIT 8 /* Number of bits in a char */\r
\r
//\r
// Address families.\r
//\r
// Basic types mapping\r
//\r
-typedef UINTN size_t;\r
-typedef UINTN u_int;\r
-typedef INTN ptrdiff_t;\r
-typedef INTN ssize_t;\r
-typedef INT32 time_t;\r
-typedef UINT8 __uint8_t;\r
-typedef UINT8 sa_family_t;\r
-typedef UINT8 u_char;\r
-typedef UINT32 uid_t;\r
-typedef UINT32 gid_t;\r
-typedef CHAR16 wchar_t;\r
+typedef UINTN size_t;\r
+typedef UINTN u_int;\r
+typedef INTN ptrdiff_t;\r
+typedef INTN ssize_t;\r
+typedef INT32 time_t;\r
+typedef UINT8 __uint8_t;\r
+typedef UINT8 sa_family_t;\r
+typedef UINT8 u_char;\r
+typedef UINT32 uid_t;\r
+typedef UINT32 gid_t;\r
+typedef CHAR16 wchar_t;\r
\r
//\r
// File operations are not required for EFI building,\r
// so FILE is mapped to VOID * to pass build\r
//\r
-typedef VOID *FILE;\r
+typedef VOID *FILE;\r
\r
//\r
// Structures Definitions\r
//\r
struct tm {\r
- int tm_sec; /* seconds after the minute [0-60] */\r
- int tm_min; /* minutes after the hour [0-59] */\r
- int tm_hour; /* hours since midnight [0-23] */\r
- int tm_mday; /* day of the month [1-31] */\r
- int tm_mon; /* months since January [0-11] */\r
- int tm_year; /* years since 1900 */\r
- int tm_wday; /* days since Sunday [0-6] */\r
- int tm_yday; /* days since January 1 [0-365] */\r
- int tm_isdst; /* Daylight Savings Time flag */\r
- long tm_gmtoff; /* offset from CUT in seconds */\r
- char *tm_zone; /* timezone abbreviation */\r
+ int tm_sec; /* seconds after the minute [0-60] */\r
+ int tm_min; /* minutes after the hour [0-59] */\r
+ int tm_hour; /* hours since midnight [0-23] */\r
+ int tm_mday; /* day of the month [1-31] */\r
+ int tm_mon; /* months since January [0-11] */\r
+ int tm_year; /* years since 1900 */\r
+ int tm_wday; /* days since Sunday [0-6] */\r
+ int tm_yday; /* days since January 1 [0-365] */\r
+ int tm_isdst; /* Daylight Savings Time flag */\r
+ long tm_gmtoff; /* offset from CUT in seconds */\r
+ char *tm_zone; /* timezone abbreviation */\r
};\r
\r
struct timeval {\r
- long tv_sec; /* time value, in seconds */\r
- long tv_usec; /* time value, in microseconds */\r
+ long tv_sec; /* time value, in seconds */\r
+ long tv_usec; /* time value, in microseconds */\r
};\r
\r
struct sockaddr {\r
- __uint8_t sa_len; /* total length */\r
- sa_family_t sa_family; /* address family */\r
- char sa_data[14]; /* actually longer; address value */\r
+ __uint8_t sa_len; /* total length */\r
+ sa_family_t sa_family; /* address family */\r
+ char sa_data[14]; /* actually longer; address value */\r
};\r
\r
//\r
// Global variables\r
//\r
-extern int errno;\r
-extern FILE *stderr;\r
+extern int errno;\r
+extern FILE *stderr;\r
\r
//\r
// Function prototypes of CRT Library routines\r
//\r
-void *malloc (size_t);\r
-void *realloc (void *, size_t);\r
-void free (void *);\r
-void *memset (void *, int, size_t);\r
-int memcmp (const void *, const void *, size_t);\r
-int isdigit (int);\r
-int isspace (int);\r
-int isxdigit (int);\r
-int isalnum (int);\r
-int isupper (int);\r
-int tolower (int);\r
-int strcmp (const char *, const char *);\r
-int strncasecmp (const char *, const char *, size_t);\r
-char *strchr (const char *, int);\r
-char *strrchr (const char *, int);\r
-unsigned long strtoul (const char *, char **, int);\r
-long strtol (const char *, char **, int);\r
-char *strerror (int);\r
-size_t strspn (const char *, const char *);\r
-size_t strcspn (const char *, const char *);\r
-int printf (const char *, ...);\r
-int sscanf (const char *, const char *, ...);\r
-FILE *fopen (const char *, const char *);\r
-size_t fread (void *, size_t, size_t, FILE *);\r
-size_t fwrite (const void *, size_t, size_t, FILE *);\r
-int fclose (FILE *);\r
-int fprintf (FILE *, const char *, ...);\r
-time_t time (time_t *);\r
-struct tm *gmtime (const time_t *);\r
-uid_t getuid (void);\r
-uid_t geteuid (void);\r
-gid_t getgid (void);\r
-gid_t getegid (void);\r
-int issetugid (void);\r
-void qsort (void *, size_t, size_t, int (*)(const void *, const void *));\r
-char *getenv (const char *);\r
-char *secure_getenv (const char *);\r
-#if defined(__GNUC__) && (__GNUC__ >= 2)\r
-void abort (void) __attribute__((__noreturn__));\r
+void *\r
+malloc (\r
+ size_t\r
+ );\r
+\r
+void *\r
+realloc (\r
+ void *,\r
+ size_t\r
+ );\r
+\r
+void\r
+free (\r
+ void *\r
+ );\r
+\r
+void *\r
+memset (\r
+ void *,\r
+ int,\r
+ size_t\r
+ );\r
+\r
+int\r
+memcmp (\r
+ const void *,\r
+ const void *,\r
+ size_t\r
+ );\r
+\r
+int\r
+isdigit (\r
+ int\r
+ );\r
+\r
+int\r
+isspace (\r
+ int\r
+ );\r
+\r
+int\r
+isxdigit (\r
+ int\r
+ );\r
+\r
+int\r
+isalnum (\r
+ int\r
+ );\r
+\r
+int\r
+isupper (\r
+ int\r
+ );\r
+\r
+int\r
+tolower (\r
+ int\r
+ );\r
+\r
+int\r
+strcmp (\r
+ const char *,\r
+ const char *\r
+ );\r
+\r
+int\r
+strncasecmp (\r
+ const char *,\r
+ const char *,\r
+ size_t\r
+ );\r
+\r
+char *\r
+strchr (\r
+ const char *,\r
+ int\r
+ );\r
+\r
+char *\r
+strrchr (\r
+ const char *,\r
+ int\r
+ );\r
+\r
+unsigned long\r
+strtoul (\r
+ const char *,\r
+ char **,\r
+ int\r
+ );\r
+\r
+long\r
+strtol (\r
+ const char *,\r
+ char **,\r
+ int\r
+ );\r
+\r
+char *\r
+strerror (\r
+ int\r
+ );\r
+\r
+size_t\r
+strspn (\r
+ const char *,\r
+ const char *\r
+ );\r
+\r
+size_t\r
+strcspn (\r
+ const char *,\r
+ const char *\r
+ );\r
+\r
+int\r
+printf (\r
+ const char *,\r
+ ...\r
+ );\r
+\r
+int\r
+sscanf (\r
+ const char *,\r
+ const char *,\r
+ ...\r
+ );\r
+\r
+FILE *\r
+fopen (\r
+ const char *,\r
+ const char *\r
+ );\r
+\r
+size_t\r
+fread (\r
+ void *,\r
+ size_t,\r
+ size_t,\r
+ FILE *\r
+ );\r
+\r
+size_t\r
+fwrite (\r
+ const void *,\r
+ size_t,\r
+ size_t,\r
+ FILE *\r
+ );\r
+\r
+int\r
+fclose (\r
+ FILE *\r
+ );\r
+\r
+int\r
+fprintf (\r
+ FILE *,\r
+ const char *,\r
+ ...\r
+ );\r
+\r
+time_t\r
+time (\r
+ time_t *\r
+ );\r
+\r
+struct tm *\r
+gmtime (\r
+ const time_t *\r
+ );\r
+\r
+uid_t\r
+getuid (\r
+ void\r
+ );\r
+\r
+uid_t\r
+geteuid (\r
+ void\r
+ );\r
+\r
+gid_t\r
+getgid (\r
+ void\r
+ );\r
+\r
+gid_t\r
+getegid (\r
+ void\r
+ );\r
+\r
+int\r
+issetugid (\r
+ void\r
+ );\r
+\r
+void\r
+qsort (\r
+ void *,\r
+ size_t,\r
+ size_t,\r
+ int (*)(const void *, const void *)\r
+ );\r
+\r
+char *\r
+getenv (\r
+ const char *\r
+ );\r
+\r
+char *\r
+secure_getenv (\r
+ const char *\r
+ );\r
+\r
+#if defined (__GNUC__) && (__GNUC__ >= 2)\r
+void\r
+abort (\r
+ void\r
+ ) __attribute__ ((__noreturn__));\r
+\r
#else\r
-void abort (void);\r
+void\r
+abort (\r
+ void\r
+ );\r
+\r
#endif\r
-int inet_pton (int, const char *, void *);\r
+int\r
+inet_pton (\r
+ int,\r
+ const char *,\r
+ void *\r
+ );\r
\r
//\r
// Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions\r
//\r
-#define memcpy(dest,source,count) CopyMem(dest,source,(UINTN)(count))\r
-#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))\r
-#define memchr(buf,ch,count) ScanMem8(buf,(UINTN)(count),(UINT8)ch)\r
-#define memcmp(buf1,buf2,count) (int)(CompareMem(buf1,buf2,(UINTN)(count)))\r
-#define memmove(dest,source,count) CopyMem(dest,source,(UINTN)(count))\r
-#define strlen(str) (size_t)(AsciiStrnLenS(str,MAX_STRING_SIZE))\r
-#define strcpy(strDest,strSource) AsciiStrCpyS(strDest,MAX_STRING_SIZE,strSource)\r
-#define strncpy(strDest,strSource,count) AsciiStrnCpyS(strDest,MAX_STRING_SIZE,strSource,(UINTN)count)\r
-#define strcat(strDest,strSource) AsciiStrCatS(strDest,MAX_STRING_SIZE,strSource)\r
-#define strncmp(string1,string2,count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count)))\r
-#define strcasecmp(str1,str2) (int)AsciiStriCmp(str1,str2)\r
-#define sprintf(buf,...) AsciiSPrint(buf,MAX_STRING_SIZE,__VA_ARGS__)\r
-#define localtime(timer) NULL\r
+#define memcpy(dest, source, count) CopyMem(dest,source,(UINTN)(count))\r
+#define memset(dest, ch, count) SetMem(dest,(UINTN)(count),(UINT8)(ch))\r
+#define memchr(buf, ch, count) ScanMem8(buf,(UINTN)(count),(UINT8)ch)\r
+#define memcmp(buf1, buf2, count) (int)(CompareMem(buf1,buf2,(UINTN)(count)))\r
+#define memmove(dest, source, count) CopyMem(dest,source,(UINTN)(count))\r
+#define strlen(str) (size_t)(AsciiStrnLenS(str,MAX_STRING_SIZE))\r
+#define strcpy(strDest, strSource) AsciiStrCpyS(strDest,MAX_STRING_SIZE,strSource)\r
+#define strncpy(strDest, strSource, count) AsciiStrnCpyS(strDest,MAX_STRING_SIZE,strSource,(UINTN)count)\r
+#define strcat(strDest, strSource) AsciiStrCatS(strDest,MAX_STRING_SIZE,strSource)\r
+#define strncmp(string1, string2, count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count)))\r
+#define strcasecmp(str1, str2) (int)AsciiStriCmp(str1,str2)\r
+#define sprintf(buf, ...) AsciiSPrint(buf,MAX_STRING_SIZE,__VA_ARGS__)\r
+#define localtime(timer) NULL\r
#define assert(expression)\r
-#define offsetof(type,member) OFFSET_OF(type,member)\r
-#define atoi(nptr) AsciiStrDecimalToUintn(nptr)\r
-#define gettimeofday(tvp,tz) do { (tvp)->tv_sec = time(NULL); (tvp)->tv_usec = 0; } while (0)\r
+#define offsetof(type, member) OFFSET_OF(type,member)\r
+#define atoi(nptr) AsciiStrDecimalToUintn(nptr)\r
+#define gettimeofday(tvp, tz) do { (tvp)->tv_sec = time(NULL); (tvp)->tv_usec = 0; } while (0)\r
\r
#endif\r
/* WARNING: do not edit! */\r
/* Generated from include/crypto/dso_conf.h.in */\r
+\r
/*\r
* Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.\r
*\r
*/\r
\r
#ifndef OSSL_CRYPTO_DSO_CONF_H\r
-# define OSSL_CRYPTO_DSO_CONF_H\r
-# define DSO_NONE\r
-# define DSO_EXTENSION ".so"\r
+#define OSSL_CRYPTO_DSO_CONF_H\r
+#define DSO_NONE\r
+#define DSO_EXTENSION ".so"\r
#endif\r
#endif\r
\r
#ifdef OPENSSL_ALGORITHM_DEFINES\r
-# error OPENSSL_ALGORITHM_DEFINES no longer supported\r
+ #error OPENSSL_ALGORITHM_DEFINES no longer supported\r
#endif\r
\r
/*\r
*/\r
\r
#ifndef OPENSSL_SYS_UEFI\r
-# define OPENSSL_SYS_UEFI 1\r
+#define OPENSSL_SYS_UEFI 1\r
#endif\r
-#define OPENSSL_MIN_API 0x10100000L\r
+#define OPENSSL_MIN_API 0x10100000L\r
#ifndef OPENSSL_NO_BF\r
-# define OPENSSL_NO_BF\r
+#define OPENSSL_NO_BF\r
#endif\r
#ifndef OPENSSL_NO_BLAKE2\r
-# define OPENSSL_NO_BLAKE2\r
+#define OPENSSL_NO_BLAKE2\r
#endif\r
#ifndef OPENSSL_NO_CAMELLIA\r
-# define OPENSSL_NO_CAMELLIA\r
+#define OPENSSL_NO_CAMELLIA\r
#endif\r
#ifndef OPENSSL_NO_CAST\r
-# define OPENSSL_NO_CAST\r
+#define OPENSSL_NO_CAST\r
#endif\r
#ifndef OPENSSL_NO_CHACHA\r
-# define OPENSSL_NO_CHACHA\r
+#define OPENSSL_NO_CHACHA\r
#endif\r
#ifndef OPENSSL_NO_CMS\r
-# define OPENSSL_NO_CMS\r
+#define OPENSSL_NO_CMS\r
#endif\r
#ifndef OPENSSL_NO_CT\r
-# define OPENSSL_NO_CT\r
+#define OPENSSL_NO_CT\r
#endif\r
#ifndef OPENSSL_NO_DES\r
-# define OPENSSL_NO_DES\r
+#define OPENSSL_NO_DES\r
#endif\r
#ifndef OPENSSL_NO_DSA\r
-# define OPENSSL_NO_DSA\r
+#define OPENSSL_NO_DSA\r
#endif\r
#ifndef OPENSSL_NO_EC\r
-# define OPENSSL_NO_EC\r
+#define OPENSSL_NO_EC\r
#endif\r
#ifndef OPENSSL_NO_IDEA\r
-# define OPENSSL_NO_IDEA\r
+#define OPENSSL_NO_IDEA\r
#endif\r
#ifndef OPENSSL_NO_MD2\r
-# define OPENSSL_NO_MD2\r
+#define OPENSSL_NO_MD2\r
#endif\r
#ifndef OPENSSL_NO_MD4\r
-# define OPENSSL_NO_MD4\r
+#define OPENSSL_NO_MD4\r
#endif\r
#ifndef OPENSSL_NO_MDC2\r
-# define OPENSSL_NO_MDC2\r
+#define OPENSSL_NO_MDC2\r
#endif\r
#ifndef OPENSSL_NO_POLY1305\r
-# define OPENSSL_NO_POLY1305\r
+#define OPENSSL_NO_POLY1305\r
#endif\r
#ifndef OPENSSL_NO_RC2\r
-# define OPENSSL_NO_RC2\r
+#define OPENSSL_NO_RC2\r
#endif\r
#ifndef OPENSSL_NO_RC4\r
-# define OPENSSL_NO_RC4\r
+#define OPENSSL_NO_RC4\r
#endif\r
#ifndef OPENSSL_NO_RC5\r
-# define OPENSSL_NO_RC5\r
+#define OPENSSL_NO_RC5\r
#endif\r
#ifndef OPENSSL_NO_RMD160\r
-# define OPENSSL_NO_RMD160\r
+#define OPENSSL_NO_RMD160\r
#endif\r
#ifndef OPENSSL_NO_SEED\r
-# define OPENSSL_NO_SEED\r
+#define OPENSSL_NO_SEED\r
#endif\r
#ifndef OPENSSL_NO_SM2\r
-# define OPENSSL_NO_SM2\r
+#define OPENSSL_NO_SM2\r
#endif\r
#ifndef OPENSSL_NO_SRP\r
-# define OPENSSL_NO_SRP\r
+#define OPENSSL_NO_SRP\r
#endif\r
#ifndef OPENSSL_NO_TS\r
-# define OPENSSL_NO_TS\r
+#define OPENSSL_NO_TS\r
#endif\r
#ifndef OPENSSL_NO_WHIRLPOOL\r
-# define OPENSSL_NO_WHIRLPOOL\r
+#define OPENSSL_NO_WHIRLPOOL\r
#endif\r
#ifndef OPENSSL_RAND_SEED_NONE\r
-# define OPENSSL_RAND_SEED_NONE\r
+#define OPENSSL_RAND_SEED_NONE\r
#endif\r
#ifndef OPENSSL_NO_AFALGENG\r
-# define OPENSSL_NO_AFALGENG\r
+#define OPENSSL_NO_AFALGENG\r
#endif\r
#ifndef OPENSSL_NO_APPS\r
-# define OPENSSL_NO_APPS\r
+#define OPENSSL_NO_APPS\r
#endif\r
#ifndef OPENSSL_NO_ASAN\r
-# define OPENSSL_NO_ASAN\r
+#define OPENSSL_NO_ASAN\r
#endif\r
#ifndef OPENSSL_NO_ASYNC\r
-# define OPENSSL_NO_ASYNC\r
+#define OPENSSL_NO_ASYNC\r
#endif\r
#ifndef OPENSSL_NO_AUTOERRINIT\r
-# define OPENSSL_NO_AUTOERRINIT\r
+#define OPENSSL_NO_AUTOERRINIT\r
#endif\r
#ifndef OPENSSL_NO_AUTOLOAD_CONFIG\r
-# define OPENSSL_NO_AUTOLOAD_CONFIG\r
+#define OPENSSL_NO_AUTOLOAD_CONFIG\r
#endif\r
#ifndef OPENSSL_NO_CAPIENG\r
-# define OPENSSL_NO_CAPIENG\r
+#define OPENSSL_NO_CAPIENG\r
#endif\r
#ifndef OPENSSL_NO_CRYPTO_MDEBUG\r
-# define OPENSSL_NO_CRYPTO_MDEBUG\r
+#define OPENSSL_NO_CRYPTO_MDEBUG\r
#endif\r
#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
-# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
+#define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE\r
#endif\r
#ifndef OPENSSL_NO_DEPRECATED\r
-# define OPENSSL_NO_DEPRECATED\r
+#define OPENSSL_NO_DEPRECATED\r
#endif\r
#ifndef OPENSSL_NO_DEVCRYPTOENG\r
-# define OPENSSL_NO_DEVCRYPTOENG\r
+#define OPENSSL_NO_DEVCRYPTOENG\r
#endif\r
#ifndef OPENSSL_NO_DGRAM\r
-# define OPENSSL_NO_DGRAM\r
+#define OPENSSL_NO_DGRAM\r
#endif\r
#ifndef OPENSSL_NO_DTLS\r
-# define OPENSSL_NO_DTLS\r
+#define OPENSSL_NO_DTLS\r
#endif\r
#ifndef OPENSSL_NO_DTLS1\r
-# define OPENSSL_NO_DTLS1\r
+#define OPENSSL_NO_DTLS1\r
#endif\r
#ifndef OPENSSL_NO_DTLS1_2\r
-# define OPENSSL_NO_DTLS1_2\r
+#define OPENSSL_NO_DTLS1_2\r
#endif\r
#ifndef OPENSSL_NO_EC2M\r
-# define OPENSSL_NO_EC2M\r
+#define OPENSSL_NO_EC2M\r
#endif\r
#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128\r
-# define OPENSSL_NO_EC_NISTP_64_GCC_128\r
+#define OPENSSL_NO_EC_NISTP_64_GCC_128\r
#endif\r
#ifndef OPENSSL_NO_ECDH\r
-# define OPENSSL_NO_ECDH\r
+#define OPENSSL_NO_ECDH\r
#endif\r
#ifndef OPENSSL_NO_ECDSA\r
-# define OPENSSL_NO_ECDSA\r
+#define OPENSSL_NO_ECDSA\r
#endif\r
#ifndef OPENSSL_NO_EGD\r
-# define OPENSSL_NO_EGD\r
+#define OPENSSL_NO_EGD\r
#endif\r
#ifndef OPENSSL_NO_ENGINE\r
-# define OPENSSL_NO_ENGINE\r
+#define OPENSSL_NO_ENGINE\r
#endif\r
#ifndef OPENSSL_NO_ERR\r
-# define OPENSSL_NO_ERR\r
+#define OPENSSL_NO_ERR\r
#endif\r
#ifndef OPENSSL_NO_EXTERNAL_TESTS\r
-# define OPENSSL_NO_EXTERNAL_TESTS\r
+#define OPENSSL_NO_EXTERNAL_TESTS\r
#endif\r
#ifndef OPENSSL_NO_FILENAMES\r
-# define OPENSSL_NO_FILENAMES\r
+#define OPENSSL_NO_FILENAMES\r
#endif\r
#ifndef OPENSSL_NO_FUZZ_AFL\r
-# define OPENSSL_NO_FUZZ_AFL\r
+#define OPENSSL_NO_FUZZ_AFL\r
#endif\r
#ifndef OPENSSL_NO_FUZZ_LIBFUZZER\r
-# define OPENSSL_NO_FUZZ_LIBFUZZER\r
+#define OPENSSL_NO_FUZZ_LIBFUZZER\r
#endif\r
#ifndef OPENSSL_NO_GOST\r
-# define OPENSSL_NO_GOST\r
+#define OPENSSL_NO_GOST\r
#endif\r
#ifndef OPENSSL_NO_HEARTBEATS\r
-# define OPENSSL_NO_HEARTBEATS\r
+#define OPENSSL_NO_HEARTBEATS\r
#endif\r
#ifndef OPENSSL_NO_HW\r
-# define OPENSSL_NO_HW\r
+#define OPENSSL_NO_HW\r
#endif\r
#ifndef OPENSSL_NO_MSAN\r
-# define OPENSSL_NO_MSAN\r
+#define OPENSSL_NO_MSAN\r
#endif\r
#ifndef OPENSSL_NO_OCB\r
-# define OPENSSL_NO_OCB\r
+#define OPENSSL_NO_OCB\r
#endif\r
#ifndef OPENSSL_NO_POSIX_IO\r
-# define OPENSSL_NO_POSIX_IO\r
+#define OPENSSL_NO_POSIX_IO\r
#endif\r
#ifndef OPENSSL_NO_RFC3779\r
-# define OPENSSL_NO_RFC3779\r
+#define OPENSSL_NO_RFC3779\r
#endif\r
#ifndef OPENSSL_NO_SCRYPT\r
-# define OPENSSL_NO_SCRYPT\r
+#define OPENSSL_NO_SCRYPT\r
#endif\r
#ifndef OPENSSL_NO_SCTP\r
-# define OPENSSL_NO_SCTP\r
+#define OPENSSL_NO_SCTP\r
#endif\r
#ifndef OPENSSL_NO_SOCK\r
-# define OPENSSL_NO_SOCK\r
+#define OPENSSL_NO_SOCK\r
#endif\r
#ifndef OPENSSL_NO_SSL_TRACE\r
-# define OPENSSL_NO_SSL_TRACE\r
+#define OPENSSL_NO_SSL_TRACE\r
#endif\r
#ifndef OPENSSL_NO_SSL3\r
-# define OPENSSL_NO_SSL3\r
+#define OPENSSL_NO_SSL3\r
#endif\r
#ifndef OPENSSL_NO_SSL3_METHOD\r
-# define OPENSSL_NO_SSL3_METHOD\r
+#define OPENSSL_NO_SSL3_METHOD\r
#endif\r
#ifndef OPENSSL_NO_STDIO\r
-# define OPENSSL_NO_STDIO\r
+#define OPENSSL_NO_STDIO\r
#endif\r
#ifndef OPENSSL_NO_TESTS\r
-# define OPENSSL_NO_TESTS\r
+#define OPENSSL_NO_TESTS\r
#endif\r
#ifndef OPENSSL_NO_TLS1_3\r
-# define OPENSSL_NO_TLS1_3\r
+#define OPENSSL_NO_TLS1_3\r
#endif\r
#ifndef OPENSSL_NO_UBSAN\r
-# define OPENSSL_NO_UBSAN\r
+#define OPENSSL_NO_UBSAN\r
#endif\r
#ifndef OPENSSL_NO_UI_CONSOLE\r
-# define OPENSSL_NO_UI_CONSOLE\r
+#define OPENSSL_NO_UI_CONSOLE\r
#endif\r
#ifndef OPENSSL_NO_UNIT_TEST\r
-# define OPENSSL_NO_UNIT_TEST\r
+#define OPENSSL_NO_UNIT_TEST\r
#endif\r
#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS\r
-# define OPENSSL_NO_WEAK_SSL_CIPHERS\r
+#define OPENSSL_NO_WEAK_SSL_CIPHERS\r
#endif\r
#ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
-# define OPENSSL_NO_DYNAMIC_ENGINE\r
+#define OPENSSL_NO_DYNAMIC_ENGINE\r
#endif\r
\r
-\r
/*\r
* Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers\r
* don't like that. This will hopefully silence them.\r
*/\r
-#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;\r
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;\r
\r
/*\r
* Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the\r
* functions.\r
*/\r
#ifndef DECLARE_DEPRECATED\r
-# define DECLARE_DEPRECATED(f) f;\r
-# ifdef __GNUC__\r
-# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)\r
-# undef DECLARE_DEPRECATED\r
-# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
-# endif\r
-#elif defined(__SUNPRO_C)\r
-#if (__SUNPRO_C >= 0x5130)\r
-#undef DECLARE_DEPRECATED\r
-#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
-#endif\r
-# endif\r
+#define DECLARE_DEPRECATED(f) f;\r
+ #ifdef __GNUC__\r
+ #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)\r
+ #undef DECLARE_DEPRECATED\r
+#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
+ #endif\r
+ #elif defined (__SUNPRO_C)\r
+ #if (__SUNPRO_C >= 0x5130)\r
+ #undef DECLARE_DEPRECATED\r
+#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));\r
+ #endif\r
+ #endif\r
#endif\r
\r
#ifndef OPENSSL_FILE\r
-# ifdef OPENSSL_NO_FILENAMES\r
-# define OPENSSL_FILE ""\r
-# define OPENSSL_LINE 0\r
-# else\r
-# define OPENSSL_FILE __FILE__\r
-# define OPENSSL_LINE __LINE__\r
-# endif\r
+ #ifdef OPENSSL_NO_FILENAMES\r
+#define OPENSSL_FILE ""\r
+#define OPENSSL_LINE 0\r
+ #else\r
+#define OPENSSL_FILE __FILE__\r
+#define OPENSSL_LINE __LINE__\r
+ #endif\r
#endif\r
\r
#ifndef OPENSSL_MIN_API\r
-# define OPENSSL_MIN_API 0\r
+#define OPENSSL_MIN_API 0\r
#endif\r
\r
-#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API\r
-# undef OPENSSL_API_COMPAT\r
-# define OPENSSL_API_COMPAT OPENSSL_MIN_API\r
+#if !defined (OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API\r
+ #undef OPENSSL_API_COMPAT\r
+#define OPENSSL_API_COMPAT OPENSSL_MIN_API\r
#endif\r
\r
/*\r
* OpenSSL version number matches.\r
*/\r
#if OPENSSL_VERSION_NUMBER < 0x10200000L\r
-# define DEPRECATEDIN_1_2_0(f) f;\r
+#define DEPRECATEDIN_1_2_0(f) f;\r
#elif OPENSSL_API_COMPAT < 0x10200000L\r
-# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)\r
+#define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)\r
#else\r
-# define DEPRECATEDIN_1_2_0(f)\r
+#define DEPRECATEDIN_1_2_0(f)\r
#endif\r
\r
#if OPENSSL_API_COMPAT < 0x10100000L\r
-# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)\r
+#define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)\r
#else\r
-# define DEPRECATEDIN_1_1_0(f)\r
+#define DEPRECATEDIN_1_1_0(f)\r
#endif\r
\r
#if OPENSSL_API_COMPAT < 0x10000000L\r
-# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)\r
+#define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)\r
#else\r
-# define DEPRECATEDIN_1_0_0(f)\r
+#define DEPRECATEDIN_1_0_0(f)\r
#endif\r
\r
#if OPENSSL_API_COMPAT < 0x00908000L\r
-# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)\r
+#define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)\r
#else\r
-# define DEPRECATEDIN_0_9_8(f)\r
+#define DEPRECATEDIN_0_9_8(f)\r
#endif\r
\r
/* Generate 80386 code? */\r
#undef I386_ONLY\r
\r
#undef OPENSSL_UNISTD\r
-#define OPENSSL_UNISTD <unistd.h>\r
+#define OPENSSL_UNISTD <unistd.h>\r
\r
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\r
\r
/*\r
* The following are cipher-specific, but are part of the public API.\r
*/\r
-#if !defined(OPENSSL_SYS_UEFI)\r
-# undef BN_LLONG\r
+#if !defined (OPENSSL_SYS_UEFI)\r
+ #undef BN_LLONG\r
/* Only one for the following should be defined */\r
-# undef SIXTY_FOUR_BIT_LONG\r
-# undef SIXTY_FOUR_BIT\r
-# define THIRTY_TWO_BIT\r
+ #undef SIXTY_FOUR_BIT_LONG\r
+ #undef SIXTY_FOUR_BIT\r
+#define THIRTY_TWO_BIT\r
#endif\r
\r
-#define RC4_INT unsigned int\r
+#define RC4_INT unsigned int\r
\r
#ifdef __cplusplus\r
}\r
**/\r
\r
#include <CrtLibSupport.h>\r
-\r
#include <Base.h>\r
#include <Library/BaseMemoryLib.h>\r
\r
-#if defined(__clang__) && !defined(__APPLE__)\r
+#if defined (__clang__) && !defined (__APPLE__)\r
\r
/* Copies bytes between buffers */\r
-static __attribute__((__used__))\r
-void * __memcpy (void *dest, const void *src, unsigned int count)\r
+static __attribute__ ((__used__))\r
+void *\r
+__memcpy (\r
+ void *dest,\r
+ const void *src,\r
+ unsigned int count\r
+ )\r
{\r
return CopyMem (dest, src, (UINTN)count);\r
}\r
-__attribute__((__alias__("__memcpy")))\r
-void * memcpy (void *dest, const void *src, unsigned int count);\r
+\r
+__attribute__ ((__alias__ ("__memcpy")))\r
+void *\r
+memcpy (\r
+ void *dest,\r
+ const void *src,\r
+ unsigned int count\r
+ );\r
\r
#else\r
/* Copies bytes between buffers */\r
-void * memcpy (void *dest, const void *src, unsigned int count)\r
+void *\r
+memcpy (\r
+ void *dest,\r
+ const void *src,\r
+ unsigned int count\r
+ )\r
{\r
return CopyMem (dest, src, (UINTN)count);\r
}\r
+\r
#endif\r
/*\r
* Floating point to integer conversion.\r
*/\r
-__declspec(naked) void _ftol2 (void)\r
+__declspec(naked) void\r
+_ftol2 (\r
+ void\r
+ )\r
{\r
_asm {\r
fistp qword ptr [esp-8]\r
\r
**/\r
\r
-\r
/*\r
* Shifts a 64-bit signed value left by a particular number of bits.\r
*/\r
-__declspec(naked) void __cdecl _allshl (void)\r
+__declspec(naked) void __cdecl\r
+_allshl (\r
+ void\r
+ )\r
{\r
_asm {\r
;\r
; Handle shifting of 64 or more bits (return 0)\r
;\r
+\r
cmp cl, 64\r
jae short ReturnZero\r
\r
\r
**/\r
\r
-\r
/*\r
* Shifts a 64-bit unsigned value right by a certain number of bits.\r
*/\r
-__declspec(naked) void __cdecl _aullshr (void)\r
+__declspec(naked) void __cdecl\r
+_aullshr (\r
+ void\r
+ )\r
{\r
_asm {\r
;\r
ret\r
\r
;\r
- ; Invalid number (less then 32bits), return 0\r
+ ; Invalid number (less then 32bits), return 0\r
;\r
+\r
_Exit:\r
xor eax, eax\r
xor edx, edx\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/BaseLib.h>\r
\r
-typedef UINTN size_t;\r
+typedef UINTN size_t;\r
\r
-#if defined(__GNUC__) || defined(__clang__)\r
- #define GLOBAL_USED __attribute__((used))\r
+#if defined (__GNUC__) || defined (__clang__)\r
+#define GLOBAL_USED __attribute__((used))\r
#else\r
- #define GLOBAL_USED\r
+#define GLOBAL_USED\r
#endif\r
\r
/* OpenSSL will use floating point support, and C compiler produces the _fltused\r
symbol by default. Simply define this symbol here to satisfy the linker. */\r
-int GLOBAL_USED _fltused = 1;\r
+int GLOBAL_USED _fltused = 1;\r
\r
/* Sets buffers to a specified character */\r
-void * memset (void *dest, int ch, size_t count)\r
+void *\r
+memset (\r
+ void *dest,\r
+ int ch,\r
+ size_t count\r
+ )\r
{\r
//\r
// NOTE: Here we use one base implementation for memset, instead of the direct\r
}\r
\r
/* Compare bytes in two buffers. */\r
-int memcmp (const void *buf1, const void *buf2, size_t count)\r
+int\r
+memcmp (\r
+ const void *buf1,\r
+ const void *buf2,\r
+ size_t count\r
+ )\r
{\r
- return (int)CompareMem(buf1, buf2, count);\r
+ return (int)CompareMem (buf1, buf2, count);\r
}\r
\r
-int strcmp (const char *s1, const char *s2)\r
+int\r
+strcmp (\r
+ const char *s1,\r
+ const char *s2\r
+ )\r
{\r
- return (int)AsciiStrCmp(s1, s2);\r
+ return (int)AsciiStrCmp (s1, s2);\r
}\r
\r
#include <Uefi.h>\r
\r
-\r
/**\r
An internal OpenSSL function which fetches a local copy of the hardware\r
capability flags.\r
\r
return EFI_SUCCESS;\r
}\r
-\r
**/\r
VOID *\r
__imp_RtlVirtualUnwind (\r
- VOID * Args\r
+ VOID *Args\r
)\r
{\r
return NULL;\r
}\r
-\r
#define PLATFORM "UEFI"\r
#define DATE "Fri Dec 22 01:23:45 PDT 2017"\r
\r
-const char * compiler_flags = "compiler: information not available from edk2";\r
+const char *compiler_flags = "compiler: information not available from edk2";\r
*\r
* Dummy Implement for UEFI\r
*/\r
-void ossl_store_cleanup_int(void)\r
+void\r
+ossl_store_cleanup_int (\r
+ void\r
+ )\r
{\r
}\r
-\r
BOOLEAN\r
EFIAPI\r
RandGetBytes (\r
- IN UINTN Length,\r
- OUT UINT8 *RandBuffer\r
+ IN UINTN Length,\r
+ OUT UINT8 *RandBuffer\r
)\r
{\r
- BOOLEAN Ret;\r
- UINT64 TempRand;\r
+ BOOLEAN Ret;\r
+ UINT64 TempRand;\r
\r
Ret = FALSE;\r
\r
if (RandBuffer == NULL) {\r
- DEBUG((DEBUG_ERROR, "[OPENSSL_RAND_POOL] NULL RandBuffer. No random numbers are generated and your system is not secure\n"));\r
+ DEBUG ((DEBUG_ERROR, "[OPENSSL_RAND_POOL] NULL RandBuffer. No random numbers are generated and your system is not secure\n"));\r
ASSERT (RandBuffer != NULL); // Since we can't generate random numbers, we should assert. Otherwise we will just blow up later.\r
return Ret;\r
}\r
\r
-\r
while (Length > 0) {\r
// Use RngLib to get random number\r
Ret = GetRandomNumber64 (&TempRand);\r
if (!Ret) {\r
return Ret;\r
}\r
+\r
if (Length >= sizeof (TempRand)) {\r
- *((UINT64*) RandBuffer) = TempRand;\r
- RandBuffer += sizeof (UINT64);\r
- Length -= sizeof (TempRand);\r
- }\r
- else {\r
+ *((UINT64 *)RandBuffer) = TempRand;\r
+ RandBuffer += sizeof (UINT64);\r
+ Length -= sizeof (TempRand);\r
+ } else {\r
CopyMem (RandBuffer, &TempRand, Length);\r
Length = 0;\r
}\r
*/\r
size_t\r
rand_pool_acquire_entropy (\r
- RAND_POOL *pool\r
+ RAND_POOL *pool\r
)\r
{\r
BOOLEAN Ret;\r
size_t Bytes_needed;\r
- unsigned char *Buffer;\r
+ unsigned char *Buffer;\r
\r
Bytes_needed = rand_pool_bytes_needed (pool, 1 /*entropy_factor*/);\r
if (Bytes_needed > 0) {\r
Ret = RandGetBytes (Bytes_needed, Buffer);\r
if (FALSE == Ret) {\r
rand_pool_add_end (pool, 0, 0);\r
- }\r
- else {\r
+ } else {\r
rand_pool_add_end (pool, Bytes_needed, 8 * Bytes_needed);\r
}\r
}\r
*/\r
int\r
rand_pool_add_nonce_data (\r
- RAND_POOL *pool\r
+ RAND_POOL *pool\r
)\r
{\r
- UINT8 data[16];\r
- RandGetBytes (sizeof(data), data);\r
+ UINT8 data[16];\r
+\r
+ RandGetBytes (sizeof (data), data);\r
\r
- return rand_pool_add (pool, (unsigned char*)&data, sizeof(data), 0);\r
+ return rand_pool_add (pool, (unsigned char *)&data, sizeof (data), 0);\r
}\r
\r
/*\r
*/\r
int\r
rand_pool_add_additional_data (\r
- RAND_POOL *pool\r
+ RAND_POOL *pool\r
)\r
{\r
- UINT8 data[16];\r
- RandGetBytes (sizeof(data), data);\r
+ UINT8 data[16];\r
+\r
+ RandGetBytes (sizeof (data), data);\r
\r
- return rand_pool_add (pool, (unsigned char*)&data, sizeof(data), 0);\r
+ return rand_pool_add (pool, (unsigned char *)&data, sizeof (data), 0);\r
}\r
\r
/*\r
* This is OpenSSL required interface.\r
*/\r
VOID\r
-rand_pool_cleanup(\r
+rand_pool_cleanup (\r
VOID\r
)\r
{\r
*/\r
VOID\r
rand_pool_keep_random_devices_open (\r
- int keep\r
+ int keep\r
)\r
{\r
}\r
// Main SSL Connection which is created by a server or a client\r
// per established connection.\r
//\r
- SSL *Ssl;\r
+ SSL *Ssl;\r
//\r
// Memory BIO for the TLS/SSL Reading operations.\r
//\r
- BIO *InBio;\r
+ BIO *InBio;\r
//\r
// Memory BIO for the TLS/SSL Writing operations.\r
//\r
- BIO *OutBio;\r
+ BIO *OutBio;\r
} TLS_CONNECTION;\r
\r
#endif\r
-\r
//\r
// IANA/IETF defined Cipher Suite ID\r
//\r
- UINT16 IanaCipher;\r
+ UINT16 IanaCipher;\r
//\r
// OpenSSL-used Cipher Suite String\r
//\r
- CONST CHAR8 *OpensslCipher;\r
+ CONST CHAR8 *OpensslCipher;\r
//\r
// Length of OpensslCipher\r
//\r
- UINTN OpensslCipherLength;\r
+ UINTN OpensslCipherLength;\r
} TLS_CIPHER_MAPPING;\r
\r
//\r
//\r
// Keep the table uniquely sorted by the IanaCipher field, in increasing order.\r
//\r
-STATIC CONST TLS_CIPHER_MAPPING TlsCipherMappingTable[] = {\r
- MAP ( 0x0001, "NULL-MD5" ), /// TLS_RSA_WITH_NULL_MD5\r
- MAP ( 0x0002, "NULL-SHA" ), /// TLS_RSA_WITH_NULL_SHA\r
- MAP ( 0x0004, "RC4-MD5" ), /// TLS_RSA_WITH_RC4_128_MD5\r
- MAP ( 0x0005, "RC4-SHA" ), /// TLS_RSA_WITH_RC4_128_SHA\r
- MAP ( 0x000A, "DES-CBC3-SHA" ), /// TLS_RSA_WITH_3DES_EDE_CBC_SHA, mandatory TLS 1.1\r
- MAP ( 0x0016, "DHE-RSA-DES-CBC3-SHA" ), /// TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA\r
- MAP ( 0x002F, "AES128-SHA" ), /// TLS_RSA_WITH_AES_128_CBC_SHA, mandatory TLS 1.2\r
- MAP ( 0x0030, "DH-DSS-AES128-SHA" ), /// TLS_DH_DSS_WITH_AES_128_CBC_SHA\r
- MAP ( 0x0031, "DH-RSA-AES128-SHA" ), /// TLS_DH_RSA_WITH_AES_128_CBC_SHA\r
- MAP ( 0x0033, "DHE-RSA-AES128-SHA" ), /// TLS_DHE_RSA_WITH_AES_128_CBC_SHA\r
- MAP ( 0x0035, "AES256-SHA" ), /// TLS_RSA_WITH_AES_256_CBC_SHA\r
- MAP ( 0x0036, "DH-DSS-AES256-SHA" ), /// TLS_DH_DSS_WITH_AES_256_CBC_SHA\r
- MAP ( 0x0037, "DH-RSA-AES256-SHA" ), /// TLS_DH_RSA_WITH_AES_256_CBC_SHA\r
- MAP ( 0x0039, "DHE-RSA-AES256-SHA" ), /// TLS_DHE_RSA_WITH_AES_256_CBC_SHA\r
- MAP ( 0x003B, "NULL-SHA256" ), /// TLS_RSA_WITH_NULL_SHA256\r
- MAP ( 0x003C, "AES128-SHA256" ), /// TLS_RSA_WITH_AES_128_CBC_SHA256\r
- MAP ( 0x003D, "AES256-SHA256" ), /// TLS_RSA_WITH_AES_256_CBC_SHA256\r
- MAP ( 0x003E, "DH-DSS-AES128-SHA256" ), /// TLS_DH_DSS_WITH_AES_128_CBC_SHA256\r
- MAP ( 0x003F, "DH-RSA-AES128-SHA256" ), /// TLS_DH_RSA_WITH_AES_128_CBC_SHA256\r
- MAP ( 0x0067, "DHE-RSA-AES128-SHA256" ), /// TLS_DHE_RSA_WITH_AES_128_CBC_SHA256\r
- MAP ( 0x0068, "DH-DSS-AES256-SHA256" ), /// TLS_DH_DSS_WITH_AES_256_CBC_SHA256\r
- MAP ( 0x0069, "DH-RSA-AES256-SHA256" ), /// TLS_DH_RSA_WITH_AES_256_CBC_SHA256\r
- MAP ( 0x006B, "DHE-RSA-AES256-SHA256" ), /// TLS_DHE_RSA_WITH_AES_256_CBC_SHA256\r
+STATIC CONST TLS_CIPHER_MAPPING TlsCipherMappingTable[] = {\r
+ MAP (0x0001, "NULL-MD5"), /// TLS_RSA_WITH_NULL_MD5\r
+ MAP (0x0002, "NULL-SHA"), /// TLS_RSA_WITH_NULL_SHA\r
+ MAP (0x0004, "RC4-MD5"), /// TLS_RSA_WITH_RC4_128_MD5\r
+ MAP (0x0005, "RC4-SHA"), /// TLS_RSA_WITH_RC4_128_SHA\r
+ MAP (0x000A, "DES-CBC3-SHA"), /// TLS_RSA_WITH_3DES_EDE_CBC_SHA, mandatory TLS 1.1\r
+ MAP (0x0016, "DHE-RSA-DES-CBC3-SHA"), /// TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA\r
+ MAP (0x002F, "AES128-SHA"), /// TLS_RSA_WITH_AES_128_CBC_SHA, mandatory TLS 1.2\r
+ MAP (0x0030, "DH-DSS-AES128-SHA"), /// TLS_DH_DSS_WITH_AES_128_CBC_SHA\r
+ MAP (0x0031, "DH-RSA-AES128-SHA"), /// TLS_DH_RSA_WITH_AES_128_CBC_SHA\r
+ MAP (0x0033, "DHE-RSA-AES128-SHA"), /// TLS_DHE_RSA_WITH_AES_128_CBC_SHA\r
+ MAP (0x0035, "AES256-SHA"), /// TLS_RSA_WITH_AES_256_CBC_SHA\r
+ MAP (0x0036, "DH-DSS-AES256-SHA"), /// TLS_DH_DSS_WITH_AES_256_CBC_SHA\r
+ MAP (0x0037, "DH-RSA-AES256-SHA"), /// TLS_DH_RSA_WITH_AES_256_CBC_SHA\r
+ MAP (0x0039, "DHE-RSA-AES256-SHA"), /// TLS_DHE_RSA_WITH_AES_256_CBC_SHA\r
+ MAP (0x003B, "NULL-SHA256"), /// TLS_RSA_WITH_NULL_SHA256\r
+ MAP (0x003C, "AES128-SHA256"), /// TLS_RSA_WITH_AES_128_CBC_SHA256\r
+ MAP (0x003D, "AES256-SHA256"), /// TLS_RSA_WITH_AES_256_CBC_SHA256\r
+ MAP (0x003E, "DH-DSS-AES128-SHA256"), /// TLS_DH_DSS_WITH_AES_128_CBC_SHA256\r
+ MAP (0x003F, "DH-RSA-AES128-SHA256"), /// TLS_DH_RSA_WITH_AES_128_CBC_SHA256\r
+ MAP (0x0067, "DHE-RSA-AES128-SHA256"), /// TLS_DHE_RSA_WITH_AES_128_CBC_SHA256\r
+ MAP (0x0068, "DH-DSS-AES256-SHA256"), /// TLS_DH_DSS_WITH_AES_256_CBC_SHA256\r
+ MAP (0x0069, "DH-RSA-AES256-SHA256"), /// TLS_DH_RSA_WITH_AES_256_CBC_SHA256\r
+ MAP (0x006B, "DHE-RSA-AES256-SHA256"), /// TLS_DHE_RSA_WITH_AES_256_CBC_SHA256\r
};\r
\r
/**\r
STATIC\r
CONST TLS_CIPHER_MAPPING *\r
TlsGetCipherMapping (\r
- IN UINT16 CipherId\r
+ IN UINT16 CipherId\r
)\r
{\r
- INTN Left;\r
- INTN Right;\r
- INTN Middle;\r
+ INTN Left;\r
+ INTN Right;\r
+ INTN Middle;\r
\r
//\r
// Binary Search Cipher Mapping Table for IANA-OpenSSL Cipher Translation\r
if (CipherId < TlsCipherMappingTable[Middle].IanaCipher) {\r
Right = Middle - 1;\r
} else {\r
- Left = Middle + 1;\r
+ Left = Middle + 1;\r
}\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetVersion (\r
- IN VOID *Tls,\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN VOID *Tls,\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
UINT16 ProtoVersion;\r
\r
TlsConn = (TLS_CONNECTION *)Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// Bound TLS method to the particular specified version.\r
//\r
switch (ProtoVersion) {\r
- case TLS1_VERSION:\r
- //\r
- // TLS 1.0\r
- //\r
- SSL_set_min_proto_version (TlsConn->Ssl, TLS1_VERSION);\r
- SSL_set_max_proto_version (TlsConn->Ssl, TLS1_VERSION);\r
- break;\r
- case TLS1_1_VERSION:\r
- //\r
- // TLS 1.1\r
- //\r
- SSL_set_min_proto_version (TlsConn->Ssl, TLS1_1_VERSION);\r
- SSL_set_max_proto_version (TlsConn->Ssl, TLS1_1_VERSION);\r
- break;\r
- case TLS1_2_VERSION:\r
- //\r
- // TLS 1.2\r
- //\r
- SSL_set_min_proto_version (TlsConn->Ssl, TLS1_2_VERSION);\r
- SSL_set_max_proto_version (TlsConn->Ssl, TLS1_2_VERSION);\r
- break;\r
- default:\r
- //\r
- // Unsupported Protocol Version\r
- //\r
- return EFI_UNSUPPORTED;\r
+ case TLS1_VERSION:\r
+ //\r
+ // TLS 1.0\r
+ //\r
+ SSL_set_min_proto_version (TlsConn->Ssl, TLS1_VERSION);\r
+ SSL_set_max_proto_version (TlsConn->Ssl, TLS1_VERSION);\r
+ break;\r
+ case TLS1_1_VERSION:\r
+ //\r
+ // TLS 1.1\r
+ //\r
+ SSL_set_min_proto_version (TlsConn->Ssl, TLS1_1_VERSION);\r
+ SSL_set_max_proto_version (TlsConn->Ssl, TLS1_1_VERSION);\r
+ break;\r
+ case TLS1_2_VERSION:\r
+ //\r
+ // TLS 1.2\r
+ //\r
+ SSL_set_min_proto_version (TlsConn->Ssl, TLS1_2_VERSION);\r
+ SSL_set_max_proto_version (TlsConn->Ssl, TLS1_2_VERSION);\r
+ break;\r
+ default:\r
+ //\r
+ // Unsupported Protocol Version\r
+ //\r
+ return EFI_UNSUPPORTED;\r
}\r
\r
- return EFI_SUCCESS;;\r
+ return EFI_SUCCESS;\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsSetConnectionEnd (\r
- IN VOID *Tls,\r
- IN BOOLEAN IsServer\r
+ IN VOID *Tls,\r
+ IN BOOLEAN IsServer\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// Set TLS to work in Server mode.\r
// It is unsupported for UEFI version currently.\r
//\r
- //SSL_set_accept_state (TlsConn->Ssl);\r
+ // SSL_set_accept_state (TlsConn->Ssl);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetCipherList (\r
- IN VOID *Tls,\r
- IN UINT16 *CipherId,\r
- IN UINTN CipherNum\r
+ IN VOID *Tls,\r
+ IN UINT16 *CipherId,\r
+ IN UINTN CipherNum\r
)\r
{\r
- TLS_CONNECTION *TlsConn;\r
- EFI_STATUS Status;\r
- CONST TLS_CIPHER_MAPPING **MappedCipher;\r
- UINTN MappedCipherBytes;\r
- UINTN MappedCipherCount;\r
- UINTN CipherStringSize;\r
- UINTN Index;\r
- CONST TLS_CIPHER_MAPPING *Mapping;\r
- CHAR8 *CipherString;\r
- CHAR8 *CipherStringPosition;\r
-\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || CipherId == NULL) {\r
+ TLS_CONNECTION *TlsConn;\r
+ EFI_STATUS Status;\r
+ CONST TLS_CIPHER_MAPPING **MappedCipher;\r
+ UINTN MappedCipherBytes;\r
+ UINTN MappedCipherCount;\r
+ UINTN CipherStringSize;\r
+ UINTN Index;\r
+ CONST TLS_CIPHER_MAPPING *Mapping;\r
+ CHAR8 *CipherString;\r
+ CHAR8 *CipherStringPosition;\r
+\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (CipherId == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// Allocate the MappedCipher array for recording the mappings that we find\r
// for the input IANA identifiers in CipherId.\r
//\r
- Status = SafeUintnMult (CipherNum, sizeof (*MappedCipher),\r
- &MappedCipherBytes);\r
+ Status = SafeUintnMult (\r
+ CipherNum,\r
+ sizeof (*MappedCipher),\r
+ &MappedCipherBytes\r
+ );\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
MappedCipher = AllocatePool (MappedCipherBytes);\r
if (MappedCipher == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
// CipherString.\r
//\r
MappedCipherCount = 0;\r
- CipherStringSize = 0;\r
+ CipherStringSize = 0;\r
for (Index = 0; Index < CipherNum; Index++) {\r
//\r
// Look up the IANA-to-OpenSSL mapping.\r
//\r
Mapping = TlsGetCipherMapping (CipherId[Index]);\r
if (Mapping == NULL) {\r
- DEBUG ((DEBUG_VERBOSE, "%a:%a: skipping CipherId=0x%04x\n",\r
- gEfiCallerBaseName, __FUNCTION__, CipherId[Index]));\r
+ DEBUG ((\r
+ DEBUG_VERBOSE,\r
+ "%a:%a: skipping CipherId=0x%04x\n",\r
+ gEfiCallerBaseName,\r
+ __FUNCTION__,\r
+ CipherId[Index]\r
+ ));\r
//\r
// Skipping the cipher is valid because CipherId is an ordered\r
// preference list of ciphers, thus we can filter it as long as we\r
//\r
continue;\r
}\r
+\r
//\r
// Accumulate Mapping->OpensslCipherLength into CipherStringSize. If this\r
// is not the first successful mapping, account for a colon (":") prefix\r
goto FreeMappedCipher;\r
}\r
}\r
- Status = SafeUintnAdd (CipherStringSize, Mapping->OpensslCipherLength,\r
- &CipherStringSize);\r
+\r
+ Status = SafeUintnAdd (\r
+ CipherStringSize,\r
+ Mapping->OpensslCipherLength,\r
+ &CipherStringSize\r
+ );\r
if (EFI_ERROR (Status)) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto FreeMappedCipher;\r
}\r
+\r
//\r
// Record the mapping.\r
//\r
// terminating NUL character in CipherStringSize; allocate CipherString.\r
//\r
if (MappedCipherCount == 0) {\r
- DEBUG ((DEBUG_ERROR, "%a:%a: no CipherId could be mapped\n",\r
- gEfiCallerBaseName, __FUNCTION__));\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ "%a:%a: no CipherId could be mapped\n",\r
+ gEfiCallerBaseName,\r
+ __FUNCTION__\r
+ ));\r
Status = EFI_UNSUPPORTED;\r
goto FreeMappedCipher;\r
}\r
+\r
Status = SafeUintnAdd (CipherStringSize, 1, &CipherStringSize);\r
if (EFI_ERROR (Status)) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto FreeMappedCipher;\r
}\r
+\r
CipherString = AllocatePool (CipherStringSize);\r
if (CipherString == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
if (Index > 0) {\r
*(CipherStringPosition++) = ':';\r
}\r
- CopyMem (CipherStringPosition, Mapping->OpensslCipher,\r
- Mapping->OpensslCipherLength);\r
+\r
+ CopyMem (\r
+ CipherStringPosition,\r
+ Mapping->OpensslCipher,\r
+ Mapping->OpensslCipherLength\r
+ );\r
CipherStringPosition += Mapping->OpensslCipherLength;\r
}\r
\r
// DebugLib instances.)\r
//\r
DEBUG_CODE_BEGIN ();\r
- UINTN FullLength;\r
- UINTN SegmentLength;\r
-\r
- FullLength = CipherStringSize - 1;\r
- DEBUG ((DEBUG_VERBOSE, "%a:%a: CipherString={\n", gEfiCallerBaseName,\r
- __FUNCTION__));\r
- for (CipherStringPosition = CipherString;\r
- CipherStringPosition < CipherString + FullLength;\r
- CipherStringPosition += SegmentLength) {\r
- SegmentLength = FullLength - (CipherStringPosition - CipherString);\r
- if (SegmentLength > 79) {\r
- SegmentLength = 79;\r
- }\r
- DEBUG ((DEBUG_VERBOSE, "%.*a\n", SegmentLength, CipherStringPosition));\r
+ UINTN FullLength;\r
+ UINTN SegmentLength;\r
+\r
+ FullLength = CipherStringSize - 1;\r
+ DEBUG ((\r
+ DEBUG_VERBOSE,\r
+ "%a:%a: CipherString={\n",\r
+ gEfiCallerBaseName,\r
+ __FUNCTION__\r
+ ));\r
+ for (CipherStringPosition = CipherString;\r
+ CipherStringPosition < CipherString + FullLength;\r
+ CipherStringPosition += SegmentLength)\r
+ {\r
+ SegmentLength = FullLength - (CipherStringPosition - CipherString);\r
+ if (SegmentLength > 79) {\r
+ SegmentLength = 79;\r
}\r
- DEBUG ((DEBUG_VERBOSE, "}\n"));\r
- //\r
- // Restore the pre-debug value of CipherStringPosition by skipping over the\r
- // trailing NUL.\r
- //\r
- CipherStringPosition++;\r
- ASSERT (CipherStringPosition == CipherString + CipherStringSize);\r
+\r
+ DEBUG ((DEBUG_VERBOSE, "%.*a\n", SegmentLength, CipherStringPosition));\r
+ }\r
+\r
+ DEBUG ((DEBUG_VERBOSE, "}\n"));\r
+ //\r
+ // Restore the pre-debug value of CipherStringPosition by skipping over the\r
+ // trailing NUL.\r
+ //\r
+ CipherStringPosition++;\r
+ ASSERT (CipherStringPosition == CipherString + CipherStringSize);\r
DEBUG_CODE_END ();\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
TlsSetCompressionMethod (\r
- IN UINT8 CompMethod\r
+ IN UINT8 CompMethod\r
)\r
{\r
COMP_METHOD *Cm;\r
//\r
return EFI_SUCCESS;\r
} else if (CompMethod == 1) {\r
- Cm = COMP_zlib();\r
+ Cm = COMP_zlib ();\r
} else {\r
return EFI_UNSUPPORTED;\r
}\r
VOID\r
EFIAPI\r
TlsSetVerify (\r
- IN VOID *Tls,\r
- IN UINT32 VerifyMode\r
+ IN VOID *Tls,\r
+ IN UINT32 VerifyMode\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL)) {\r
return;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetVerifyHost (\r
- IN VOID *Tls,\r
- IN UINT32 Flags,\r
- IN CHAR8 *HostName\r
+ IN VOID *Tls,\r
+ IN UINT32 Flags,\r
+ IN CHAR8 *HostName\r
)\r
{\r
- TLS_CONNECTION *TlsConn;\r
- X509_VERIFY_PARAM *VerifyParam;\r
- UINTN BinaryAddressSize;\r
- UINT8 BinaryAddress[MAX (NS_INADDRSZ, NS_IN6ADDRSZ)];\r
- INTN ParamStatus;\r
-\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || HostName == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
+ TLS_CONNECTION *TlsConn;\r
+ X509_VERIFY_PARAM *VerifyParam;\r
+ UINTN BinaryAddressSize;\r
+ UINT8 BinaryAddress[MAX (NS_INADDRSZ, NS_IN6ADDRSZ)];\r
+ INTN ParamStatus;\r
+\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (HostName == NULL)) {\r
+ return EFI_INVALID_PARAMETER;\r
}\r
\r
- SSL_set_hostflags(TlsConn->Ssl, Flags);\r
+ SSL_set_hostflags (TlsConn->Ssl, Flags);\r
\r
VerifyParam = SSL_get0_param (TlsConn->Ssl);\r
ASSERT (VerifyParam != NULL);\r
}\r
\r
if (BinaryAddressSize > 0) {\r
- DEBUG ((DEBUG_VERBOSE, "%a:%a: parsed \"%a\" as an IPv%c address "\r
- "literal\n", gEfiCallerBaseName, __FUNCTION__, HostName,\r
- (UINTN)((BinaryAddressSize == NS_IN6ADDRSZ) ? '6' : '4')));\r
- ParamStatus = X509_VERIFY_PARAM_set1_ip (VerifyParam, BinaryAddress,\r
- BinaryAddressSize);\r
+ DEBUG ((\r
+ DEBUG_VERBOSE,\r
+ "%a:%a: parsed \"%a\" as an IPv%c address "\r
+ "literal\n",\r
+ gEfiCallerBaseName,\r
+ __FUNCTION__,\r
+ HostName,\r
+ (UINTN)((BinaryAddressSize == NS_IN6ADDRSZ) ? '6' : '4')\r
+ ));\r
+ ParamStatus = X509_VERIFY_PARAM_set1_ip (\r
+ VerifyParam,\r
+ BinaryAddress,\r
+ BinaryAddressSize\r
+ );\r
} else {\r
ParamStatus = X509_VERIFY_PARAM_set1_host (VerifyParam, HostName, 0);\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsSetSessionId (\r
- IN VOID *Tls,\r
- IN UINT8 *SessionId,\r
- IN UINT16 SessionIdLen\r
+ IN VOID *Tls,\r
+ IN UINT8 *SessionId,\r
+ IN UINT16 SessionIdLen\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
SSL_SESSION *Session;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
Session = NULL;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || SessionId == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (SessionId == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetCaCertificate (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
BIO *BioCert;\r
Cert = NULL;\r
X509Store = NULL;\r
Status = EFI_SUCCESS;\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
Ret = 0;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || Data == NULL || DataSize == 0) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (Data == NULL) || (DataSize == 0)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// DER-encoded binary X.509 certificate or PEM-encoded X.509 certificate.\r
// Determine whether certificate is from DER encoding, if so, translate it to X509 structure.\r
//\r
- Cert = d2i_X509 (NULL, (const unsigned char ** )&Data, (long) DataSize);\r
+ Cert = d2i_X509 (NULL, (const unsigned char **)&Data, (long)DataSize);\r
if (Cert == NULL) {\r
//\r
// Certificate is from PEM encoding.\r
goto ON_EXIT;\r
}\r
\r
- if (BIO_write (BioCert, Data, (UINT32) DataSize) <= 0) {\r
+ if (BIO_write (BioCert, Data, (UINT32)DataSize) <= 0) {\r
Status = EFI_ABORTED;\r
goto ON_EXIT;\r
}\r
SslCtx = SSL_get_SSL_CTX (TlsConn->Ssl);\r
X509Store = SSL_CTX_get_cert_store (SslCtx);\r
if (X509Store == NULL) {\r
- Status = EFI_ABORTED;\r
- goto ON_EXIT;\r
+ Status = EFI_ABORTED;\r
+ goto ON_EXIT;\r
}\r
\r
//\r
//\r
// Ignore "already in table" errors\r
//\r
- if (!(ERR_GET_FUNC (ErrorCode) == X509_F_X509_STORE_ADD_CERT &&\r
- ERR_GET_REASON (ErrorCode) == X509_R_CERT_ALREADY_IN_HASH_TABLE)) {\r
+ if (!((ERR_GET_FUNC (ErrorCode) == X509_F_X509_STORE_ADD_CERT) &&\r
+ (ERR_GET_REASON (ErrorCode) == X509_R_CERT_ALREADY_IN_HASH_TABLE)))\r
+ {\r
Status = EFI_ABORTED;\r
goto ON_EXIT;\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPublicCert (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
BIO *BioCert;\r
BioCert = NULL;\r
Cert = NULL;\r
Status = EFI_SUCCESS;\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || Data == NULL || DataSize == 0) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (Data == NULL) || (DataSize == 0)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// DER-encoded binary X.509 certificate or PEM-encoded X.509 certificate.\r
// Determine whether certificate is from DER encoding, if so, translate it to X509 structure.\r
//\r
- Cert = d2i_X509 (NULL, (const unsigned char ** )&Data, (long) DataSize);\r
+ Cert = d2i_X509 (NULL, (const unsigned char **)&Data, (long)DataSize);\r
if (Cert == NULL) {\r
//\r
// Certificate is from PEM encoding.\r
goto ON_EXIT;\r
}\r
\r
- if (BIO_write (BioCert, Data, (UINT32) DataSize) <= 0) {\r
+ if (BIO_write (BioCert, Data, (UINT32)DataSize) <= 0) {\r
Status = EFI_ABORTED;\r
goto ON_EXIT;\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPrivateKey (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
return EFI_UNSUPPORTED;\r
EFI_STATUS\r
EFIAPI\r
TlsSetCertRevocationList (\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
return EFI_UNSUPPORTED;\r
UINT16\r
EFIAPI\r
TlsGetVersion (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
ASSERT (TlsConn != NULL);\r
\r
UINT8\r
EFIAPI\r
TlsGetConnectionEnd (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
ASSERT (TlsConn != NULL);\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCipher (\r
- IN VOID *Tls,\r
- IN OUT UINT16 *CipherId\r
+ IN VOID *Tls,\r
+ IN OUT UINT16 *CipherId\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
CONST SSL_CIPHER *Cipher;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
Cipher = NULL;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || CipherId == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (CipherId == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCompressionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *CompressionId\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *CompressionId\r
)\r
{\r
return EFI_UNSUPPORTED;\r
UINT32\r
EFIAPI\r
TlsGetVerify (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
ASSERT (TlsConn != NULL);\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetSessionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *SessionId,\r
- IN OUT UINT16 *SessionIdLen\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *SessionId,\r
+ IN OUT UINT16 *SessionIdLen\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
SSL_SESSION *Session;\r
CONST UINT8 *SslSessionId;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
Session = NULL;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || SessionId == NULL || SessionIdLen == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (SessionId == NULL) || (SessionIdLen == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
VOID\r
EFIAPI\r
TlsGetClientRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ClientRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ClientRandom\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || ClientRandom == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (ClientRandom == NULL)) {\r
return;\r
}\r
\r
VOID\r
EFIAPI\r
TlsGetServerRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ServerRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ServerRandom\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || ServerRandom == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (ServerRandom == NULL)) {\r
return;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetKeyMaterial (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *KeyMaterial\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *KeyMaterial\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
SSL_SESSION *Session;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
Session = NULL;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || KeyMaterial == NULL) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (KeyMaterial == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCaCertificate (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return EFI_UNSUPPORTED;\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPublicCert (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
X509 *Cert;\r
TLS_CONNECTION *TlsConn;\r
\r
Cert = NULL;\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL || DataSize == NULL || (*DataSize != 0 && Data == NULL)) {\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL) || (DataSize == NULL) || ((*DataSize != 0) && (Data == NULL))) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- Cert = SSL_get_certificate(TlsConn->Ssl);\r
+ Cert = SSL_get_certificate (TlsConn->Ssl);\r
if (Cert == NULL) {\r
return EFI_NOT_FOUND;\r
}\r
//\r
// Only DER encoding is supported currently.\r
//\r
- if (*DataSize < (UINTN) i2d_X509 (Cert, NULL)) {\r
- *DataSize = (UINTN) i2d_X509 (Cert, NULL);\r
+ if (*DataSize < (UINTN)i2d_X509 (Cert, NULL)) {\r
+ *DataSize = (UINTN)i2d_X509 (Cert, NULL);\r
return EFI_BUFFER_TOO_SMALL;\r
}\r
\r
- *DataSize = (UINTN) i2d_X509 (Cert, (unsigned char **) &Data);\r
+ *DataSize = (UINTN)i2d_X509 (Cert, (unsigned char **)&Data);\r
\r
return EFI_SUCCESS;\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPrivateKey (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return EFI_UNSUPPORTED;\r
EFI_STATUS\r
EFIAPI\r
TlsGetCertRevocationList (\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
return EFI_UNSUPPORTED;\r
VOID\r
)\r
{\r
- INTN Ret;\r
+ INTN Ret;\r
\r
//\r
// Performs initialization of crypto and ssl library, and loads required\r
VOID\r
EFIAPI\r
TlsCtxFree (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
if (TlsCtx == NULL) {\r
}\r
\r
if (TlsCtx != NULL) {\r
- SSL_CTX_free ((SSL_CTX *) (TlsCtx));\r
+ SSL_CTX_free ((SSL_CTX *)(TlsCtx));\r
}\r
}\r
\r
VOID *\r
EFIAPI\r
TlsCtxNew (\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
SSL_CTX *TlsCtx;\r
//\r
SSL_CTX_set_min_proto_version (TlsCtx, ProtoVersion);\r
\r
- return (VOID *) TlsCtx;\r
+ return (VOID *)TlsCtx;\r
}\r
\r
/**\r
VOID\r
EFIAPI\r
TlsFree (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
if (TlsConn == NULL) {\r
return;\r
}\r
VOID *\r
EFIAPI\r
TlsNew (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
//\r
// Allocate one new TLS_CONNECTION object\r
//\r
- TlsConn = (TLS_CONNECTION *) OPENSSL_malloc (sizeof (TLS_CONNECTION));\r
+ TlsConn = (TLS_CONNECTION *)OPENSSL_malloc (sizeof (TLS_CONNECTION));\r
if (TlsConn == NULL) {\r
return NULL;\r
}\r
//\r
// Create a new SSL Object\r
//\r
- TlsConn->Ssl = SSL_new ((SSL_CTX *) TlsCtx);\r
+ TlsConn->Ssl = SSL_new ((SSL_CTX *)TlsCtx);\r
if (TlsConn->Ssl == NULL) {\r
- TlsFree ((VOID *) TlsConn);\r
+ TlsFree ((VOID *)TlsConn);\r
return NULL;\r
}\r
\r
//\r
TlsConn->InBio = BIO_new (BIO_s_mem ());\r
if (TlsConn->InBio == NULL) {\r
- TlsFree ((VOID *) TlsConn);\r
+ TlsFree ((VOID *)TlsConn);\r
return NULL;\r
}\r
\r
//\r
TlsConn->OutBio = BIO_new (BIO_s_mem ());\r
if (TlsConn->OutBio == NULL) {\r
- TlsFree ((VOID *) TlsConn);\r
+ TlsFree ((VOID *)TlsConn);\r
return NULL;\r
}\r
\r
if (X509Store == NULL) {\r
X509Store = X509_STORE_new ();\r
if (X509Store == NULL) {\r
- TlsFree ((VOID *) TlsConn);\r
+ TlsFree ((VOID *)TlsConn);\r
return NULL;\r
}\r
+\r
SSL_CTX_set1_verify_cert_store (SslCtx, X509Store);\r
X509_STORE_free (X509Store);\r
}\r
X509Store,\r
X509_V_FLAG_PARTIAL_CHAIN | X509_V_FLAG_NO_CHECK_TIME\r
);\r
- return (VOID *) TlsConn;\r
+ return (VOID *)TlsConn;\r
}\r
-\r
\r
#include "InternalTlsLib.h"\r
\r
-#define MAX_BUFFER_SIZE 32768\r
+#define MAX_BUFFER_SIZE 32768\r
\r
/**\r
Checks if the TLS handshake was done.\r
BOOLEAN\r
EFIAPI\r
TlsInHandshake (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL)) {\r
return FALSE;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsDoHandshake (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
INTN Ret;\r
UINTN ErrorCode;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
PendingBufferSize = 0;\r
Ret = 1;\r
\r
- if (TlsConn == NULL || \\r
- TlsConn->Ssl == NULL || TlsConn->InBio == NULL || TlsConn->OutBio == NULL || \\r
- BufferOutSize == NULL || \\r
- (BufferIn == NULL && BufferInSize != 0) || \\r
- (BufferIn != NULL && BufferInSize == 0) || \\r
- (BufferOut == NULL && *BufferOutSize != 0)) {\r
+ if ((TlsConn == NULL) || \\r
+ (TlsConn->Ssl == NULL) || (TlsConn->InBio == NULL) || (TlsConn->OutBio == NULL) || \\r
+ (BufferOutSize == NULL) || \\r
+ ((BufferIn == NULL) && (BufferInSize != 0)) || \\r
+ ((BufferIn != NULL) && (BufferInSize == 0)) || \\r
+ ((BufferOut == NULL) && (*BufferOutSize != 0)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if(BufferIn == NULL && BufferInSize == 0) {\r
+ if ((BufferIn == NULL) && (BufferInSize == 0)) {\r
//\r
// If RequestBuffer is NULL and RequestSize is 0, and TLS session\r
// status is EfiTlsSessionNotStarted, the TLS session will be initiated\r
// and the response packet needs to be ClientHello.\r
//\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
if (PendingBufferSize == 0) {\r
SSL_set_connect_state (TlsConn->Ssl);\r
- Ret = SSL_do_handshake (TlsConn->Ssl);\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ Ret = SSL_do_handshake (TlsConn->Ssl);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
}\r
} else {\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
if (PendingBufferSize == 0) {\r
- BIO_write (TlsConn->InBio, BufferIn, (UINT32) BufferInSize);\r
- Ret = SSL_do_handshake (TlsConn->Ssl);\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ BIO_write (TlsConn->InBio, BufferIn, (UINT32)BufferInSize);\r
+ Ret = SSL_do_handshake (TlsConn->Ssl);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
}\r
}\r
\r
if (Ret < 1) {\r
- Ret = SSL_get_error (TlsConn->Ssl, (int) Ret);\r
- if (Ret == SSL_ERROR_SSL ||\r
- Ret == SSL_ERROR_SYSCALL ||\r
- Ret == SSL_ERROR_ZERO_RETURN) {\r
+ Ret = SSL_get_error (TlsConn->Ssl, (int)Ret);\r
+ if ((Ret == SSL_ERROR_SSL) ||\r
+ (Ret == SSL_ERROR_SYSCALL) ||\r
+ (Ret == SSL_ERROR_ZERO_RETURN))\r
+ {\r
DEBUG ((\r
DEBUG_ERROR,\r
"%a SSL_HANDSHAKE_ERROR State=0x%x SSL_ERROR_%a\n",\r
Ret == SSL_ERROR_SSL ? "SSL" : Ret == SSL_ERROR_SYSCALL ? "SYSCALL" : "ZERO_RETURN"\r
));\r
DEBUG_CODE_BEGIN ();\r
- while (TRUE) {\r
- ErrorCode = ERR_get_error ();\r
- if (ErrorCode == 0) {\r
- break;\r
- }\r
- DEBUG ((\r
- DEBUG_ERROR,\r
- "%a ERROR 0x%x=L%x:F%x:R%x\n",\r
- __FUNCTION__,\r
- ErrorCode,\r
- ERR_GET_LIB (ErrorCode),\r
- ERR_GET_FUNC (ErrorCode),\r
- ERR_GET_REASON (ErrorCode)\r
- ));\r
+ while (TRUE) {\r
+ ErrorCode = ERR_get_error ();\r
+ if (ErrorCode == 0) {\r
+ break;\r
}\r
+\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ "%a ERROR 0x%x=L%x:F%x:R%x\n",\r
+ __FUNCTION__,\r
+ ErrorCode,\r
+ ERR_GET_LIB (ErrorCode),\r
+ ERR_GET_FUNC (ErrorCode),\r
+ ERR_GET_REASON (ErrorCode)\r
+ ));\r
+ }\r
+\r
DEBUG_CODE_END ();\r
return EFI_ABORTED;\r
}\r
}\r
\r
if (PendingBufferSize > 0) {\r
- *BufferOutSize = BIO_read (TlsConn->OutBio, BufferOut, (UINT32) PendingBufferSize);\r
+ *BufferOutSize = BIO_read (TlsConn->OutBio, BufferOut, (UINT32)PendingBufferSize);\r
} else {\r
*BufferOutSize = 0;\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsHandleAlert (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
UINT8 *TempBuffer;\r
INTN Ret;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
PendingBufferSize = 0;\r
TempBuffer = NULL;\r
Ret = 0;\r
\r
- if (TlsConn == NULL || \\r
- TlsConn->Ssl == NULL || TlsConn->InBio == NULL || TlsConn->OutBio == NULL || \\r
- BufferOutSize == NULL || \\r
- (BufferIn == NULL && BufferInSize != 0) || \\r
- (BufferIn != NULL && BufferInSize == 0) || \\r
- (BufferOut == NULL && *BufferOutSize != 0)) {\r
+ if ((TlsConn == NULL) || \\r
+ (TlsConn->Ssl == NULL) || (TlsConn->InBio == NULL) || (TlsConn->OutBio == NULL) || \\r
+ (BufferOutSize == NULL) || \\r
+ ((BufferIn == NULL) && (BufferInSize != 0)) || \\r
+ ((BufferIn != NULL) && (BufferInSize == 0)) || \\r
+ ((BufferOut == NULL) && (*BufferOutSize != 0)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
- if (PendingBufferSize == 0 && BufferIn != NULL && BufferInSize != 0) {\r
- Ret = BIO_write (TlsConn->InBio, BufferIn, (UINT32) BufferInSize);\r
- if (Ret != (INTN) BufferInSize) {\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
+ if ((PendingBufferSize == 0) && (BufferIn != NULL) && (BufferInSize != 0)) {\r
+ Ret = BIO_write (TlsConn->InBio, BufferIn, (UINT32)BufferInSize);\r
+ if (Ret != (INTN)BufferInSize) {\r
return EFI_ABORTED;\r
}\r
\r
- TempBuffer = (UINT8 *) OPENSSL_malloc (MAX_BUFFER_SIZE);\r
+ TempBuffer = (UINT8 *)OPENSSL_malloc (MAX_BUFFER_SIZE);\r
\r
//\r
// ssl3_send_alert() will be called in ssl3_read_bytes() function.\r
\r
OPENSSL_free (TempBuffer);\r
\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
}\r
\r
if (PendingBufferSize > *BufferOutSize) {\r
}\r
\r
if (PendingBufferSize > 0) {\r
- *BufferOutSize = BIO_read (TlsConn->OutBio, BufferOut, (UINT32) PendingBufferSize);\r
+ *BufferOutSize = BIO_read (TlsConn->OutBio, BufferOut, (UINT32)PendingBufferSize);\r
} else {\r
*BufferOutSize = 0;\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsCloseNotify (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *Buffer,\r
- IN OUT UINTN *BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *Buffer,\r
+ IN OUT UINTN *BufferSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
UINTN PendingBufferSize;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
PendingBufferSize = 0;\r
\r
- if (TlsConn == NULL || \\r
- TlsConn->Ssl == NULL || TlsConn->InBio == NULL || TlsConn->OutBio == NULL || \\r
- BufferSize == NULL || \\r
- (Buffer == NULL && *BufferSize != 0)) {\r
+ if ((TlsConn == NULL) || \\r
+ (TlsConn->Ssl == NULL) || (TlsConn->InBio == NULL) || (TlsConn->OutBio == NULL) || \\r
+ (BufferSize == NULL) || \\r
+ ((Buffer == NULL) && (*BufferSize != 0)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
if (PendingBufferSize == 0) {\r
//\r
// ssl3_send_alert() and ssl3_dispatch_alert() function will be called.\r
//\r
SSL_shutdown (TlsConn->Ssl);\r
- PendingBufferSize = (UINTN) BIO_ctrl_pending (TlsConn->OutBio);\r
+ PendingBufferSize = (UINTN)BIO_ctrl_pending (TlsConn->OutBio);\r
}\r
\r
if (PendingBufferSize > *BufferSize) {\r
}\r
\r
if (PendingBufferSize > 0) {\r
- *BufferSize = BIO_read (TlsConn->OutBio, Buffer, (UINT32) PendingBufferSize);\r
+ *BufferSize = BIO_read (TlsConn->OutBio, Buffer, (UINT32)PendingBufferSize);\r
} else {\r
*BufferSize = 0;\r
}\r
INTN\r
EFIAPI\r
TlsCtrlTrafficOut (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->OutBio == 0) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->OutBio == 0)) {\r
return -1;\r
}\r
\r
//\r
// Read and return the amount of data from the BIO.\r
//\r
- return BIO_read (TlsConn->OutBio, Buffer, (UINT32) BufferSize);\r
+ return BIO_read (TlsConn->OutBio, Buffer, (UINT32)BufferSize);\r
}\r
\r
/**\r
INTN\r
EFIAPI\r
TlsCtrlTrafficIn (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->InBio == 0) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->InBio == 0)) {\r
return -1;\r
}\r
\r
//\r
// Write and return the amount of data to the BIO.\r
//\r
- return BIO_write (TlsConn->InBio, Buffer, (UINT32) BufferSize);\r
+ return BIO_write (TlsConn->InBio, Buffer, (UINT32)BufferSize);\r
}\r
+\r
/**\r
Attempts to read bytes from the specified TLS connection into the buffer.\r
\r
INTN\r
EFIAPI\r
TlsRead (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL)) {\r
return -1;\r
}\r
\r
//\r
// Read bytes from the specified TLS connection.\r
//\r
- return SSL_read (TlsConn->Ssl, Buffer, (UINT32) BufferSize);\r
+ return SSL_read (TlsConn->Ssl, Buffer, (UINT32)BufferSize);\r
}\r
\r
/**\r
INTN\r
EFIAPI\r
TlsWrite (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
TLS_CONNECTION *TlsConn;\r
\r
- TlsConn = (TLS_CONNECTION *) Tls;\r
- if (TlsConn == NULL || TlsConn->Ssl == NULL) {\r
+ TlsConn = (TLS_CONNECTION *)Tls;\r
+ if ((TlsConn == NULL) || (TlsConn->Ssl == NULL)) {\r
return -1;\r
}\r
\r
//\r
// Write bytes to the specified TLS connection.\r
//\r
- return SSL_write (TlsConn->Ssl, Buffer, (UINT32) BufferSize);\r
+ return SSL_write (TlsConn->Ssl, Buffer, (UINT32)BufferSize);\r
}\r
EFI_STATUS\r
EFIAPI\r
TlsSetVersion (\r
- IN VOID *Tls,\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN VOID *Tls,\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetConnectionEnd (\r
- IN VOID *Tls,\r
- IN BOOLEAN IsServer\r
+ IN VOID *Tls,\r
+ IN BOOLEAN IsServer\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetCipherList (\r
- IN VOID *Tls,\r
- IN UINT16 *CipherId,\r
- IN UINTN CipherNum\r
+ IN VOID *Tls,\r
+ IN UINT16 *CipherId,\r
+ IN UINTN CipherNum\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetCompressionMethod (\r
- IN UINT8 CompMethod\r
+ IN UINT8 CompMethod\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
VOID\r
EFIAPI\r
TlsSetVerify (\r
- IN VOID *Tls,\r
- IN UINT32 VerifyMode\r
+ IN VOID *Tls,\r
+ IN UINT32 VerifyMode\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
\r
// MU_CHANGE - Proposed fixes for TCBZ960, invalid domain name (CN) accepted. [BEGIN]\r
+\r
/**\r
Set the specified host name to be verified.\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetVerifyHost (\r
- IN VOID *Tls,\r
- IN UINT32 Flags,\r
- IN CHAR8 *HostName\r
+ IN VOID *Tls,\r
+ IN UINT32 Flags,\r
+ IN CHAR8 *HostName\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetSessionId (\r
- IN VOID *Tls,\r
- IN UINT8 *SessionId,\r
- IN UINT16 SessionIdLen\r
+ IN VOID *Tls,\r
+ IN UINT8 *SessionId,\r
+ IN UINT16 SessionIdLen\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetCaCertificate (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPublicCert (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetHostPrivateKey (\r
- IN VOID *Tls,\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Tls,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsSetCertRevocationList (\r
- IN VOID *Data,\r
- IN UINTN DataSize\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
UINT16\r
EFIAPI\r
TlsGetVersion (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
\r
UINT8\r
EFIAPI\r
TlsGetConnectionEnd (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCipher (\r
- IN VOID *Tls,\r
- IN OUT UINT16 *CipherId\r
+ IN VOID *Tls,\r
+ IN OUT UINT16 *CipherId\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCurrentCompressionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *CompressionId\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *CompressionId\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
UINT32\r
EFIAPI\r
TlsGetVerify (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetSessionId (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *SessionId,\r
- IN OUT UINT16 *SessionIdLen\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *SessionId,\r
+ IN OUT UINT16 *SessionIdLen\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
VOID\r
EFIAPI\r
TlsGetClientRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ClientRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ClientRandom\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
\r
/**\r
VOID\r
EFIAPI\r
TlsGetServerRandom (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *ServerRandom\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *ServerRandom\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TlsGetKeyMaterial (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *KeyMaterial\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *KeyMaterial\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCaCertificate (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPublicCert (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetHostPrivateKey (\r
- IN VOID *Tls,\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ IN VOID *Tls,\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsGetCertRevocationList (\r
- OUT VOID *Data,\r
- IN OUT UINTN *DataSize\r
+ OUT VOID *Data,\r
+ IN OUT UINTN *DataSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
VOID\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return FALSE;\r
}\r
\r
VOID\r
EFIAPI\r
TlsCtxFree (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return;\r
}\r
\r
VOID *\r
EFIAPI\r
TlsCtxNew (\r
- IN UINT8 MajorVer,\r
- IN UINT8 MinorVer\r
+ IN UINT8 MajorVer,\r
+ IN UINT8 MinorVer\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return NULL;\r
}\r
\r
VOID\r
EFIAPI\r
TlsFree (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
\r
/**\r
VOID *\r
EFIAPI\r
TlsNew (\r
- IN VOID *TlsCtx\r
+ IN VOID *TlsCtx\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return NULL;\r
}\r
-\r
BOOLEAN\r
EFIAPI\r
TlsInHandshake (\r
- IN VOID *Tls\r
+ IN VOID *Tls\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return FALSE;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsDoHandshake (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsHandleAlert (\r
- IN VOID *Tls,\r
- IN UINT8 *BufferIn OPTIONAL,\r
- IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
- IN OUT UINTN *BufferOutSize\r
+ IN VOID *Tls,\r
+ IN UINT8 *BufferIn OPTIONAL,\r
+ IN UINTN BufferInSize OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
+ IN OUT UINTN *BufferOutSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
TlsCloseNotify (\r
- IN VOID *Tls,\r
- IN OUT UINT8 *Buffer,\r
- IN OUT UINTN *BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT UINT8 *Buffer,\r
+ IN OUT UINTN *BufferSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return EFI_UNSUPPORTED;\r
}\r
\r
INTN\r
EFIAPI\r
TlsCtrlTrafficOut (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
\r
INTN\r
EFIAPI\r
TlsCtrlTrafficIn (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
+\r
/**\r
Attempts to read bytes from the specified TLS connection into the buffer.\r
\r
INTN\r
EFIAPI\r
TlsRead (\r
- IN VOID *Tls,\r
- IN OUT VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN OUT VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
\r
INTN\r
EFIAPI\r
TlsWrite (\r
- IN VOID *Tls,\r
- IN VOID *Buffer,\r
- IN UINTN BufferSize\r
+ IN VOID *Tls,\r
+ IN VOID *Buffer,\r
+ IN UINTN BufferSize\r
)\r
{\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
return 0;\r
}\r
///\r
typedef EDKII_CRYPTO_PROTOCOL EDKII_CRYPTO_PPI;\r
\r
-extern GUID gEdkiiCryptoPpiGuid;\r
+extern GUID gEdkiiCryptoPpiGuid;\r
\r
#endif\r
/// the EDK II Crypto Protocol is extended, this version define must be\r
/// increased.\r
///\r
-#define EDKII_CRYPTO_VERSION 7\r
+#define EDKII_CRYPTO_VERSION 7\r
\r
///\r
/// EDK II Crypto Protocol forward declaration\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *EDKII_CRYPTO_GET_VERSION) (\r
+(EFIAPI *EDKII_CRYPTO_GET_VERSION)(\r
VOID\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// MAC (Message Authentication Code) Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
+\r
/**\r
HMAC MD5 is deprecated and unsupported any longer.\r
Keep the function field for binary compability.\r
\r
**/\r
typedef\r
-VOID*\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_NEW) (\r
+VOID *\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_NEW)(\r
VOID\r
);\r
\r
typedef\r
VOID\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FREE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FREE)(\r
IN VOID *HmacMd5Ctx\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_SET_KEY) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_SET_KEY)(\r
OUT VOID *HmacMd5Context,\r
IN CONST UINT8 *Key,\r
IN UINTN KeySize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_DUPLICATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_DUPLICATE)(\r
IN CONST VOID *HmacMd5Context,\r
OUT VOID *NewHmacMd5Context\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_UPDATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_UPDATE)(\r
IN OUT VOID *HmacMd5Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FINAL) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FINAL)(\r
IN OUT VOID *HmacMd5Context,\r
OUT UINT8 *HmacValue\r
);\r
\r
**/\r
typedef\r
-VOID*\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_NEW) (\r
+VOID *\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_NEW)(\r
VOID\r
);\r
\r
typedef\r
VOID\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FREE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FREE)(\r
IN VOID *HmacSha1Ctx\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_SET_KEY) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_SET_KEY)(\r
OUT VOID *HmacSha1Context,\r
IN CONST UINT8 *Key,\r
IN UINTN KeySize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_DUPLICATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_DUPLICATE)(\r
IN CONST VOID *HmacSha1Context,\r
OUT VOID *NewHmacSha1Context\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_UPDATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_UPDATE)(\r
IN OUT VOID *HmacSha1Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FINAL) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FINAL)(\r
IN OUT VOID *HmacSha1Context,\r
OUT UINT8 *HmacValue\r
);\r
\r
-\r
/**\r
Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA256 use.\r
\r
**/\r
typedef\r
VOID *\r
-(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_NEW) (\r
+(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_NEW)(\r
VOID\r
);\r
\r
**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_FREE) (\r
+(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_FREE)(\r
IN VOID *HmacSha256Ctx\r
);\r
\r
-\r
/**\r
Set user-supplied key for subsequent use. It must be done before any\r
calling to HmacSha256Update().\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_SET_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_SET_KEY)(\r
OUT VOID *HmacSha256Context,\r
IN CONST UINT8 *Key,\r
IN UINTN KeySize\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_DUPLICATE) (\r
+(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_DUPLICATE)(\r
IN CONST VOID *HmacSha256Context,\r
OUT VOID *NewHmacSha256Context\r
);\r
\r
-\r
/**\r
Digests the input data and updates HMAC-SHA256 context.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_UPDATE) (\r
+(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_UPDATE)(\r
IN OUT VOID *HmacSha256Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_FINAL) (\r
+(EFIAPI *EDKII_CRYPTO_HMAC_SHA256_FINAL)(\r
IN OUT VOID *HmacSha256Context,\r
OUT UINT8 *HmacValue\r
);\r
\r
-\r
-//=====================================================================================\r
+// =====================================================================================\r
// One-Way Cryptographic Hash Primitives\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
MD4 is deprecated and unsupported any longer.\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
-\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_INIT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_INIT)(\r
OUT VOID *Md4Context\r
);\r
\r
-\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_DUPLICATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_DUPLICATE)(\r
IN CONST VOID *Md4Context,\r
OUT VOID *NewMd4Context\r
);\r
\r
-\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_UPDATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_UPDATE)(\r
IN OUT VOID *Md4Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
);\r
\r
-\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_FINAL) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_FINAL)(\r
IN OUT VOID *Md4Context,\r
OUT UINT8 *HashValue\r
);\r
\r
-\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_HASH_ALL) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_HASH_ALL)(\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
**/\r
typedef\r
UINTN\r
-(EFIAPI* EDKII_CRYPTO_MD5_GET_CONTEXT_SIZE)(\r
+(EFIAPI *EDKII_CRYPTO_MD5_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_MD5_INIT)(\r
- OUT VOID *Md5Context);\r
+(EFIAPI *EDKII_CRYPTO_MD5_INIT)(\r
+ OUT VOID *Md5Context\r
+ );\r
\r
/**\r
Makes a copy of an existing MD5 context.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_MD5_DUPLICATE) (\r
- IN CONST VOID *Md5Context,\r
- OUT VOID *NewMd5Context);\r
-\r
+(EFIAPI *EDKII_CRYPTO_MD5_DUPLICATE)(\r
+ IN CONST VOID *Md5Context,\r
+ OUT VOID *NewMd5Context\r
+ );\r
\r
/**\r
Digests the input data and updates MD5 context.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_MD5_UPDATE)(\r
- IN OUT VOID *Md5Context,\r
- IN CONST VOID *Data,\r
- IN UINTN DataSize);\r
-\r
+(EFIAPI *EDKII_CRYPTO_MD5_UPDATE)(\r
+ IN OUT VOID *Md5Context,\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize\r
+ );\r
\r
/**\r
Completes computation of the MD5 digest value.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_MD5_FINAL)(\r
- IN OUT VOID *Md5Context,\r
- OUT UINT8 *HashValue);\r
-\r
+(EFIAPI *EDKII_CRYPTO_MD5_FINAL)(\r
+ IN OUT VOID *Md5Context,\r
+ OUT UINT8 *HashValue\r
+ );\r
\r
/**\r
Computes the MD5 message digest of a input data buffer.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_MD5_HASH_ALL)(\r
- IN CONST VOID *Data,\r
- IN UINTN DataSize,\r
- OUT UINT8 *HashValue);\r
-\r
+(EFIAPI *EDKII_CRYPTO_MD5_HASH_ALL)(\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize,\r
+ OUT UINT8 *HashValue\r
+ );\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// PKCS\r
-//=====================================================================================\r
-\r
+// =====================================================================================\r
\r
/**\r
Encrypts a blob using PKCS1v2 (RSAES-OAEP) schema. On success, will return the encrypted message in\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS1_ENCRYPT_V2) (\r
-IN CONST UINT8 *PublicKey,\r
-IN UINTN PublicKeySize,\r
-IN UINT8 *InData,\r
-IN UINTN InDataSize,\r
-IN CONST UINT8 *PrngSeed OPTIONAL,\r
-IN UINTN PrngSeedSize OPTIONAL,\r
-OUT UINT8 **EncryptedData,\r
-OUT UINTN *EncryptedDataSize\r
-);\r
-\r
-\r
-\r
+(EFIAPI *EDKII_CRYPTO_PKCS1_ENCRYPT_V2)(\r
+ IN CONST UINT8 *PublicKey,\r
+ IN UINTN PublicKeySize,\r
+ IN UINT8 *InData,\r
+ IN UINTN InDataSize,\r
+ IN CONST UINT8 *PrngSeed OPTIONAL,\r
+ IN UINTN PrngSeedSize OPTIONAL,\r
+ OUT UINT8 **EncryptedData,\r
+ OUT UINTN *EncryptedDataSize\r
+ );\r
\r
// ---------------------------------------------\r
// PKCS5\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS5_PW_HASH) (\r
+(EFIAPI *EDKII_CRYPTO_PKCS5_PW_HASH)(\r
IN UINTN PasswordSize,\r
IN CONST CHAR8 *Password,\r
IN UINTN SaltSize,\r
OUT UINT8 *Output\r
);\r
\r
-\r
-\r
// ---------------------------------------------\r
// PKCS7\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_VERIFY) (\r
-IN CONST UINT8 *P7Data,\r
-IN UINTN P7DataLength,\r
-IN CONST UINT8 *TrustedCert,\r
-IN UINTN TrustedCertLength,\r
-IN CONST UINT8 *Data,\r
-IN UINTN DataLength\r
-);\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_VERIFY)(\r
+ IN CONST UINT8 *P7Data,\r
+ IN UINTN P7DataLength,\r
+ IN CONST UINT8 *TrustedCert,\r
+ IN UINTN TrustedCertLength,\r
+ IN CONST UINT8 *Data,\r
+ IN UINTN DataLength\r
+ );\r
\r
/**\r
VerifyEKUsInPkcs7Signature()\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_VERIFY_EKU) (\r
-IN CONST UINT8 *Pkcs7Signature,\r
-IN CONST UINT32 SignatureSize,\r
-IN CONST CHAR8 *RequiredEKUs[],\r
-IN CONST UINT32 RequiredEKUsSize,\r
-IN BOOLEAN RequireAllPresent\r
-);\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_VERIFY_EKU)(\r
+ IN CONST UINT8 *Pkcs7Signature,\r
+ IN CONST UINT32 SignatureSize,\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST UINT32 RequiredEKUsSize,\r
+ IN BOOLEAN RequireAllPresent\r
+ );\r
\r
/**\r
Get the signer's certificates from PKCS#7 signed data as described in "PKCS #7:\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_GET_SIGNERS) (\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_GET_SIGNERS)(\r
IN CONST UINT8 *P7Data,\r
IN UINTN P7Length,\r
OUT UINT8 **CertStack,\r
**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_FREE_SIGNERS) (\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_FREE_SIGNERS)(\r
IN UINT8 *Certs\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_SIGN) (\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_SIGN)(\r
IN CONST UINT8 *PrivateKey,\r
IN UINTN PrivateKeySize,\r
IN CONST UINT8 *KeyPassword,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_GET_ATTACHED_CONTENT) (\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_GET_ATTACHED_CONTENT)(\r
IN CONST UINT8 *P7Data,\r
IN UINTN P7Length,\r
OUT VOID **Content,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_PKCS7_GET_CERTIFICATES_LIST) (\r
+(EFIAPI *EDKII_CRYPTO_PKCS7_GET_CERTIFICATES_LIST)(\r
IN CONST UINT8 *P7Data,\r
IN UINTN P7Length,\r
OUT UINT8 **SignerChainCerts,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_AUTHENTICODE_VERIFY) (\r
+(EFIAPI *EDKII_CRYPTO_AUTHENTICODE_VERIFY)(\r
IN CONST UINT8 *AuthData,\r
IN UINTN DataSize,\r
IN CONST UINT8 *TrustedCert,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_IMAGE_TIMESTAMP_VERIFY) (\r
+(EFIAPI *EDKII_CRYPTO_IMAGE_TIMESTAMP_VERIFY)(\r
IN CONST UINT8 *AuthData,\r
IN UINTN DataSize,\r
IN CONST UINT8 *TsaCert,\r
OUT EFI_TIME *SigningTime\r
);\r
\r
-\r
-//=====================================================================================\r
+// =====================================================================================\r
// DH Key Exchange Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Allocates and Initializes one Diffie-Hellman Context for subsequent use.\r
\r
**/\r
typedef\r
-VOID*\r
-(EFIAPI *EDKII_CRYPTO_DH_NEW) (\r
+VOID *\r
+(EFIAPI *EDKII_CRYPTO_DH_NEW)(\r
VOID\r
);\r
\r
**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_DH_FREE) (\r
+(EFIAPI *EDKII_CRYPTO_DH_FREE)(\r
IN VOID *DhContext\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_DH_GENERATE_PARAMETER) (\r
+(EFIAPI *EDKII_CRYPTO_DH_GENERATE_PARAMETER)(\r
IN OUT VOID *DhContext,\r
IN UINTN Generator,\r
IN UINTN PrimeLength,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_DH_SET_PARAMETER) (\r
+(EFIAPI *EDKII_CRYPTO_DH_SET_PARAMETER)(\r
IN OUT VOID *DhContext,\r
IN UINTN Generator,\r
IN UINTN PrimeLength,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_DH_GENERATE_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_DH_GENERATE_KEY)(\r
IN OUT VOID *DhContext,\r
OUT UINT8 *PublicKey,\r
IN OUT UINTN *PublicKeySize\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_DH_COMPUTE_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_DH_COMPUTE_KEY)(\r
IN OUT VOID *DhContext,\r
IN CONST UINT8 *PeerPublicKey,\r
IN UINTN PeerPublicKeySize,\r
IN OUT UINTN *KeySize\r
);\r
\r
-//=====================================================================================\r
+// =====================================================================================\r
// Pseudo-Random Generation Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
Sets up the seed value for the pseudorandom number generator.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RANDOM_SEED) (\r
+(EFIAPI *EDKII_CRYPTO_RANDOM_SEED)(\r
IN CONST UINT8 *Seed OPTIONAL,\r
IN UINTN SeedSize\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RANDOM_BYTES) (\r
+(EFIAPI *EDKII_CRYPTO_RANDOM_BYTES)(\r
OUT UINT8 *Output,\r
IN UINTN Size\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_VERIFY_PKCS1) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_VERIFY_PKCS1)(\r
IN VOID *RsaContext,\r
IN CONST UINT8 *MessageHash,\r
IN UINTN HashSize,\r
\r
**/\r
typedef\r
-VOID*\r
-(EFIAPI *EDKII_CRYPTO_RSA_NEW) (\r
+VOID *\r
+(EFIAPI *EDKII_CRYPTO_RSA_NEW)(\r
VOID\r
);\r
\r
**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_RSA_FREE) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_FREE)(\r
IN VOID *RsaContext\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_SET_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_SET_KEY)(\r
IN OUT VOID *RsaContext,\r
IN RSA_KEY_TAG KeyTag,\r
IN CONST UINT8 *BigNumber,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_GET_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_GET_KEY)(\r
IN OUT VOID *RsaContext,\r
IN RSA_KEY_TAG KeyTag,\r
OUT UINT8 *BigNumber,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_GENERATE_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_GENERATE_KEY)(\r
IN OUT VOID *RsaContext,\r
IN UINTN ModulusLength,\r
IN CONST UINT8 *PublicExponent,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_CHECK_KEY) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_CHECK_KEY)(\r
IN VOID *RsaContext\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_PKCS1_SIGN) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_PKCS1_SIGN)(\r
IN VOID *RsaContext,\r
IN CONST UINT8 *MessageHash,\r
IN UINTN HashSize,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_PKCS1_VERIFY) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_PKCS1_VERIFY)(\r
IN VOID *RsaContext,\r
IN CONST UINT8 *MessageHash,\r
IN UINTN HashSize,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_GET_PRIVATE_KEY_FROM_PEM) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_GET_PRIVATE_KEY_FROM_PEM)(\r
IN CONST UINT8 *PemData,\r
IN UINTN PemSize,\r
IN CONST CHAR8 *Password,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_RSA_GET_PUBLIC_KEY_FROM_X509) (\r
+(EFIAPI *EDKII_CRYPTO_RSA_GET_PUBLIC_KEY_FROM_X509)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
OUT VOID **RsaContext\r
);\r
\r
-//----------------------------------------\r
+// ----------------------------------------\r
// SHA\r
-//----------------------------------------\r
+// ----------------------------------------\r
\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *EDKII_CRYPTO_SHA1_GET_CONTEXT_SIZE ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA1_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA1_INIT ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA1_INIT)(\r
OUT VOID *Sha1Context\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA1_DUPLICATE ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA1_DUPLICATE)(\r
IN CONST VOID *Sha1Context,\r
OUT VOID *NewSha1Context\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA1_UPDATE ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA1_UPDATE)(\r
IN OUT VOID *Sha1Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA1_FINAL ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA1_FINAL)(\r
IN OUT VOID *Sha1Context,\r
OUT UINT8 *HashValue\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA1_HASH_ALL ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA1_HASH_ALL)(\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *EDKII_CRYPTO_SHA256_GET_CONTEXT_SIZE ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA256_GET_CONTEXT_SIZE)(\r
VOID\r
-);\r
+ );\r
\r
/**\r
Initializes user-supplied memory pointed by Sha256Context as SHA-256 hash context for\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA256_INIT ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA256_INIT)(\r
OUT VOID *Sha256Context\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA256_DUPLICATE ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA256_DUPLICATE)(\r
IN CONST VOID *Sha256Context,\r
OUT VOID *NewSha256Context\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA256_UPDATE ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA256_UPDATE)(\r
IN OUT VOID *Sha256Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA256_FINAL ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA256_FINAL)(\r
IN OUT VOID *Sha256Context,\r
OUT UINT8 *HashValue\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA256_HASH_ALL ) (\r
+(EFIAPI *EDKII_CRYPTO_SHA256_HASH_ALL)(\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
);\r
\r
-\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SHA-384 hash operations.\r
If this interface is not supported, then return zero.\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *EDKII_CRYPTO_SHA384_GET_CONTEXT_SIZE) (\r
+(EFIAPI *EDKII_CRYPTO_SHA384_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
-\r
/**\r
Initializes user-supplied memory pointed by Sha384Context as SHA-384 hash context for\r
subsequent use.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA384_INIT) (\r
+(EFIAPI *EDKII_CRYPTO_SHA384_INIT)(\r
OUT VOID *Sha384Context\r
);\r
\r
-\r
/**\r
Makes a copy of an existing SHA-384 context.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA384_DUPLICATE) (\r
+(EFIAPI *EDKII_CRYPTO_SHA384_DUPLICATE)(\r
IN CONST VOID *Sha384Context,\r
OUT VOID *NewSha384Context\r
);\r
\r
-\r
/**\r
Digests the input data and updates SHA-384 context.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA384_UPDATE) (\r
+(EFIAPI *EDKII_CRYPTO_SHA384_UPDATE)(\r
IN OUT VOID *Sha384Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
);\r
\r
-\r
/**\r
Completes computation of the SHA-384 digest value.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA384_FINAL) (\r
+(EFIAPI *EDKII_CRYPTO_SHA384_FINAL)(\r
IN OUT VOID *Sha384Context,\r
OUT UINT8 *HashValue\r
);\r
\r
-\r
/**\r
Computes the SHA-384 message digest of a input data buffer.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA384_HASH_ALL) (\r
+(EFIAPI *EDKII_CRYPTO_SHA384_HASH_ALL)(\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *EDKII_CRYPTO_SHA512_GET_CONTEXT_SIZE) (\r
+(EFIAPI *EDKII_CRYPTO_SHA512_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
-\r
/**\r
Initializes user-supplied memory pointed by Sha512Context as SHA-512 hash context for\r
subsequent use.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA512_INIT) (\r
+(EFIAPI *EDKII_CRYPTO_SHA512_INIT)(\r
OUT VOID *Sha512Context\r
);\r
\r
-\r
/**\r
Makes a copy of an existing SHA-512 context.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA512_DUPLICATE) (\r
+(EFIAPI *EDKII_CRYPTO_SHA512_DUPLICATE)(\r
IN CONST VOID *Sha512Context,\r
OUT VOID *NewSha512Context\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA512_UPDATE) (\r
+(EFIAPI *EDKII_CRYPTO_SHA512_UPDATE)(\r
IN OUT VOID *Sha512Context,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
);\r
\r
-\r
/**\r
Completes computation of the SHA-512 digest value.\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA512_FINAL) (\r
+(EFIAPI *EDKII_CRYPTO_SHA512_FINAL)(\r
IN OUT VOID *Sha512Context,\r
OUT UINT8 *HashValue\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_SHA512_HASH_ALL) (\r
+(EFIAPI *EDKII_CRYPTO_SHA512_HASH_ALL)(\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
);\r
\r
-//----------------------------------------------------------------------------\r
+// ----------------------------------------------------------------------------\r
// X509\r
-//----------------------------------------------------------------------------\r
+// ----------------------------------------------------------------------------\r
\r
/**\r
Retrieve the subject bytes from one X.509 certificate.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_X509_GET_SUBJECT_NAME) (\r
+(EFIAPI *EDKII_CRYPTO_X509_GET_SUBJECT_NAME)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
OUT UINT8 *CertSubject,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EDKII_CRYPTO_X509_GET_COMMON_NAME) (\r
+(EFIAPI *EDKII_CRYPTO_X509_GET_COMMON_NAME)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
OUT CHAR8 *CommonName OPTIONAL,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EDKII_CRYPTO_X509_GET_ORGANIZATION_NAME) (\r
+(EFIAPI *EDKII_CRYPTO_X509_GET_ORGANIZATION_NAME)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
OUT CHAR8 *NameBuffer OPTIONAL,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_X509_VERIFY_CERT) (\r
+(EFIAPI *EDKII_CRYPTO_X509_VERIFY_CERT)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
IN CONST UINT8 *CACert,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE) (\r
+(EFIAPI *EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
OUT UINT8 **SingleX509Cert\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK) (\r
+(EFIAPI *EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK)(\r
IN OUT UINT8 **X509Stack,\r
...\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK_V) (\r
+(EFIAPI *EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK_V)(\r
IN OUT UINT8 **X509Stack,\r
IN VA_LIST Args\r
);\r
**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_X509_FREE) (\r
+(EFIAPI *EDKII_CRYPTO_X509_FREE)(\r
IN VOID *X509Cert\r
);\r
\r
**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_X509_STACK_FREE) (\r
+(EFIAPI *EDKII_CRYPTO_X509_STACK_FREE)(\r
IN VOID *X509Stack\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_X509_GET_TBS_CERT) (\r
+(EFIAPI *EDKII_CRYPTO_X509_GET_TBS_CERT)(\r
IN CONST UINT8 *Cert,\r
IN UINTN CertSize,\r
OUT UINT8 **TBSCert,\r
OUT UINTN *TBSCertSize\r
);\r
\r
-\r
-\r
-//=====================================================================================\r
+// =====================================================================================\r
// Symmetric Cryptography Primitive\r
-//=====================================================================================\r
+// =====================================================================================\r
\r
/**\r
TDES is deprecated and unsupported any longer.\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_GET_CONTEXT_SIZE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_INIT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_INIT)(\r
OUT VOID *TdesContext,\r
IN CONST UINT8 *Key,\r
IN UINTN KeyLength\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_ECB_ENCRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_ECB_ENCRYPT)(\r
IN VOID *TdesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_ECB_DECRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_ECB_DECRYPT)(\r
IN VOID *TdesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_CBC_ENCRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_CBC_ENCRYPT)(\r
IN VOID *TdesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_CBC_DECRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_TDES_CBC_DECRYPT)(\r
IN VOID *TdesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *EDKII_CRYPTO_AES_GET_CONTEXT_SIZE) (\r
+(EFIAPI *EDKII_CRYPTO_AES_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_AES_INIT) (\r
+(EFIAPI *EDKII_CRYPTO_AES_INIT)(\r
OUT VOID *AesContext,\r
IN CONST UINT8 *Key,\r
IN UINTN KeyLength\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_AES_ECB_ENCRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_AES_ECB_ENCRYPT)(\r
IN VOID *AesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_AES_ECB_DECRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_AES_ECB_DECRYPT)(\r
IN VOID *AesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_AES_CBC_ENCRYPT) (\r
+(EFIAPI *EDKII_CRYPTO_AES_CBC_ENCRYPT)(\r
IN VOID *AesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_AES_CBC_DECRYPT) (\r
+(EFIAPI *EDKII_CRYPTO_AES_CBC_DECRYPT)(\r
IN VOID *AesContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
**/\r
typedef\r
UINTN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_GET_CONTEXT_SIZE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_INIT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_INIT)(\r
OUT VOID *Arc4Context,\r
IN CONST UINT8 *Key,\r
IN UINTN KeySize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_ENCRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_ENCRYPT)(\r
IN OUT VOID *Arc4Context,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_DECRYPT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_DECRYPT)(\r
IN OUT VOID *Arc4Context,\r
IN UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_RESET) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_ARC4_RESET)(\r
IN OUT VOID *Arc4Context\r
);\r
\r
-\r
/**\r
Retrieves the size, in bytes, of the context buffer required for SM3 hash operations.\r
\r
**/\r
typedef\r
UINTN\r
-(EFIAPI* EDKII_CRYPTO_SM3_GET_CONTEXT_SIZE)(\r
+(EFIAPI *EDKII_CRYPTO_SM3_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_SM3_INIT)(\r
- OUT VOID *Sm3Context);\r
+(EFIAPI *EDKII_CRYPTO_SM3_INIT)(\r
+ OUT VOID *Sm3Context\r
+ );\r
\r
/**\r
Makes a copy of an existing SM3 context.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_SM3_DUPLICATE) (\r
- IN CONST VOID *Sm3Context,\r
- OUT VOID *NewSm3Context);\r
-\r
+(EFIAPI *EDKII_CRYPTO_SM3_DUPLICATE)(\r
+ IN CONST VOID *Sm3Context,\r
+ OUT VOID *NewSm3Context\r
+ );\r
\r
/**\r
Digests the input data and updates SM3 context.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_SM3_UPDATE)(\r
- IN OUT VOID *Sm3Context,\r
- IN CONST VOID *Data,\r
- IN UINTN DataSize);\r
-\r
+(EFIAPI *EDKII_CRYPTO_SM3_UPDATE)(\r
+ IN OUT VOID *Sm3Context,\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize\r
+ );\r
\r
/**\r
Completes computation of the SM3 digest value.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_SM3_FINAL)(\r
- IN OUT VOID *Sm3Context,\r
- OUT UINT8 *HashValue);\r
-\r
+(EFIAPI *EDKII_CRYPTO_SM3_FINAL)(\r
+ IN OUT VOID *Sm3Context,\r
+ OUT UINT8 *HashValue\r
+ );\r
\r
/**\r
Computes the SM3 message digest of a input data buffer.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_SM3_HASH_ALL)(\r
- IN CONST VOID *Data,\r
- IN UINTN DataSize,\r
- OUT UINT8 *HashValue);\r
-\r
+(EFIAPI *EDKII_CRYPTO_SM3_HASH_ALL)(\r
+ IN CONST VOID *Data,\r
+ IN UINTN DataSize,\r
+ OUT UINT8 *HashValue\r
+ );\r
\r
/**\r
Derive key data using HMAC-SHA256 based KDF.\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_HKDF_SHA_256_EXTRACT_AND_EXPAND)(\r
+(EFIAPI *EDKII_CRYPTO_HKDF_SHA_256_EXTRACT_AND_EXPAND)(\r
IN CONST UINT8 *Key,\r
IN UINTN KeySize,\r
IN CONST UINT8 *Salt,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_TLS_INITIALIZE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_INITIALIZE)(\r
VOID\r
);\r
\r
**/\r
typedef\r
VOID\r
-(EFIAPI* EDKII_CRYPTO_TLS_CTX_FREE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_CTX_FREE)(\r
IN VOID *TlsCtx\r
);\r
\r
**/\r
typedef\r
VOID *\r
-(EFIAPI* EDKII_CRYPTO_TLS_CTX_NEW)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_CTX_NEW)(\r
IN UINT8 MajorVer,\r
IN UINT8 MinorVer\r
);\r
**/\r
typedef\r
VOID\r
-(EFIAPI* EDKII_CRYPTO_TLS_FREE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_FREE)(\r
IN VOID *Tls\r
);\r
\r
**/\r
typedef\r
VOID *\r
-(EFIAPI* EDKII_CRYPTO_TLS_NEW)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_NEW)(\r
IN VOID *TlsCtx\r
);\r
\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_TLS_IN_HANDSHAKE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_IN_HANDSHAKE)(\r
IN VOID *Tls\r
);\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_DO_HANDSHAKE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_DO_HANDSHAKE)(\r
IN VOID *Tls,\r
IN UINT8 *BufferIn OPTIONAL,\r
IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
IN OUT UINTN *BufferOutSize\r
);\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_HANDLE_ALERT)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_HANDLE_ALERT)(\r
IN VOID *Tls,\r
IN UINT8 *BufferIn OPTIONAL,\r
IN UINTN BufferInSize OPTIONAL,\r
- OUT UINT8 *BufferOut OPTIONAL,\r
+ OUT UINT8 *BufferOut OPTIONAL,\r
IN OUT UINTN *BufferOutSize\r
);\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_CLOSE_NOTIFY)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_CLOSE_NOTIFY)(\r
IN VOID *Tls,\r
IN OUT UINT8 *Buffer,\r
IN OUT UINTN *BufferSize\r
**/\r
typedef\r
INTN\r
-(EFIAPI* EDKII_CRYPTO_TLS_CTRL_TRAFFIC_OUT)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_CTRL_TRAFFIC_OUT)(\r
IN VOID *Tls,\r
IN OUT VOID *Buffer,\r
IN UINTN BufferSize\r
**/\r
typedef\r
INTN\r
-(EFIAPI* EDKII_CRYPTO_TLS_CTRL_TRAFFIC_IN)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_CTRL_TRAFFIC_IN)(\r
IN VOID *Tls,\r
IN VOID *Buffer,\r
IN UINTN BufferSize\r
**/\r
typedef\r
INTN\r
-(EFIAPI* EDKII_CRYPTO_TLS_READ)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_READ)(\r
IN VOID *Tls,\r
IN OUT VOID *Buffer,\r
IN UINTN BufferSize\r
**/\r
typedef\r
INTN\r
-(EFIAPI* EDKII_CRYPTO_TLS_WRITE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_WRITE)(\r
IN VOID *Tls,\r
IN VOID *Buffer,\r
IN UINTN BufferSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_VERSION)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_VERSION)(\r
IN VOID *Tls,\r
IN UINT8 MajorVer,\r
IN UINT8 MinorVer\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_CONNECTION_END)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_CONNECTION_END)(\r
IN VOID *Tls,\r
IN BOOLEAN IsServer\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_CIPHER_LIST)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_CIPHER_LIST)(\r
IN VOID *Tls,\r
IN UINT16 *CipherId,\r
IN UINTN CipherNum\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_COMPRESSION_METHOD)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_COMPRESSION_METHOD)(\r
IN UINT8 CompMethod\r
);\r
\r
**/\r
typedef\r
VOID\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_VERIFY)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_VERIFY)(\r
IN VOID *Tls,\r
IN UINT32 VerifyMode\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_VERIFY_HOST)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_VERIFY_HOST)(\r
IN VOID *Tls,\r
IN UINT32 Flags,\r
IN CHAR8 *HostName\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_SESSIONID)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_SESSIONID)(\r
IN VOID *Tls,\r
IN UINT8 *SessionId,\r
IN UINT16 SessionIdLen\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_CA_CERTIFICATE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_CA_CERTIFICATE)(\r
IN VOID *Tls,\r
IN VOID *Data,\r
IN UINTN DataSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_HOST_PUBLIC_CERT)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_HOST_PUBLIC_CERT)(\r
IN VOID *Tls,\r
IN VOID *Data,\r
IN UINTN DataSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_HOST_PRIVATE_KEY)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_HOST_PRIVATE_KEY)(\r
IN VOID *Tls,\r
IN VOID *Data,\r
IN UINTN DataSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_SET_CERT_REVOCATION_LIST)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_SET_CERT_REVOCATION_LIST)(\r
IN VOID *Data,\r
IN UINTN DataSize\r
);\r
**/\r
typedef\r
UINT16\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_VERSION)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_VERSION)(\r
IN VOID *Tls\r
);\r
\r
**/\r
typedef\r
UINT8\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_CONNECTION_END)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_CONNECTION_END)(\r
IN VOID *Tls\r
);\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_CURRENT_CIPHER)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_CURRENT_CIPHER)(\r
IN VOID *Tls,\r
IN OUT UINT16 *CipherId\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_CURRENT_COMPRESSION_ID)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_CURRENT_COMPRESSION_ID)(\r
IN VOID *Tls,\r
IN OUT UINT8 *CompressionId\r
);\r
**/\r
typedef\r
UINT32\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_VERIFY)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_VERIFY)(\r
IN VOID *Tls\r
);\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_SESSION_ID)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_SESSION_ID)(\r
IN VOID *Tls,\r
IN OUT UINT8 *SessionId,\r
IN OUT UINT16 *SessionIdLen\r
**/\r
typedef\r
VOID\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_CLIENT_RANDOM)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_CLIENT_RANDOM)(\r
IN VOID *Tls,\r
IN OUT UINT8 *ClientRandom\r
);\r
**/\r
typedef\r
VOID\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_SERVER_RANDOM)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_SERVER_RANDOM)(\r
IN VOID *Tls,\r
IN OUT UINT8 *ServerRandom\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_KEY_MATERIAL)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_KEY_MATERIAL)(\r
IN VOID *Tls,\r
IN OUT UINT8 *KeyMaterial\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_CA_CERTIFICATE)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_CA_CERTIFICATE)(\r
IN VOID *Tls,\r
OUT VOID *Data,\r
IN OUT UINTN *DataSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_HOST_PUBLIC_CERT)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_HOST_PUBLIC_CERT)(\r
IN VOID *Tls,\r
OUT VOID *Data,\r
IN OUT UINTN *DataSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_HOST_PRIVATE_KEY)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_HOST_PRIVATE_KEY)(\r
IN VOID *Tls,\r
OUT VOID *Data,\r
IN OUT UINTN *DataSize\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI* EDKII_CRYPTO_TLS_GET_CERT_REVOCATION_LIST)(\r
+(EFIAPI *EDKII_CRYPTO_TLS_GET_CERT_REVOCATION_LIST)(\r
OUT VOID *DATA,\r
IN OUT UINTN *DataSize\r
);\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_RSA_PSS_SIGN)(\r
+(EFIAPI *EDKII_CRYPTO_RSA_PSS_SIGN)(\r
IN VOID *RsaContext,\r
IN CONST UINT8 *Message,\r
IN UINTN MsgSize,\r
**/\r
typedef\r
BOOLEAN\r
-(EFIAPI* EDKII_CRYPTO_RSA_PSS_VERIFY)(\r
+(EFIAPI *EDKII_CRYPTO_RSA_PSS_VERIFY)(\r
IN VOID *RsaContext,\r
IN CONST UINT8 *Message,\r
IN UINTN MsgSize,\r
IN UINT16 SaltLen\r
);\r
\r
-\r
-\r
///\r
/// EDK II Crypto Protocol\r
///\r
struct _EDKII_CRYPTO_PROTOCOL {\r
/// Version\r
- EDKII_CRYPTO_GET_VERSION GetVersion;\r
+ EDKII_CRYPTO_GET_VERSION GetVersion;\r
/// HMAC MD5 - deprecated and unsupported\r
- DEPRECATED_EDKII_CRYPTO_HMAC_MD5_NEW DeprecatedHmacMd5New;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FREE DeprecatedHmacMd5Free;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_MD5_SET_KEY DeprecatedHmacMd5SetKey;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_MD5_DUPLICATE DeprecatedHmacMd5Duplicate;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_MD5_UPDATE DeprecatedHmacMd5Update;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FINAL DeprecatedHmacMd5Final;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_MD5_NEW DeprecatedHmacMd5New;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FREE DeprecatedHmacMd5Free;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_MD5_SET_KEY DeprecatedHmacMd5SetKey;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_MD5_DUPLICATE DeprecatedHmacMd5Duplicate;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_MD5_UPDATE DeprecatedHmacMd5Update;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FINAL DeprecatedHmacMd5Final;\r
/// HMAC SHA1 - deprecated and unsupported\r
- DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_NEW DeprecatedHmacSha1New;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FREE DeprecatedHmacSha1Free;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_SET_KEY DeprecatedHmacSha1SetKey;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_DUPLICATE DeprecatedHmacSha1Duplicate;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_UPDATE DeprecatedHmacSha1Update;\r
- DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FINAL DeprecatedHmacSha1Final;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_NEW DeprecatedHmacSha1New;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FREE DeprecatedHmacSha1Free;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_SET_KEY DeprecatedHmacSha1SetKey;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_DUPLICATE DeprecatedHmacSha1Duplicate;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_UPDATE DeprecatedHmacSha1Update;\r
+ DEPRECATED_EDKII_CRYPTO_HMAC_SHA1_FINAL DeprecatedHmacSha1Final;\r
/// HMAC SHA256\r
- EDKII_CRYPTO_HMAC_SHA256_NEW HmacSha256New;\r
- EDKII_CRYPTO_HMAC_SHA256_FREE HmacSha256Free;\r
- EDKII_CRYPTO_HMAC_SHA256_SET_KEY HmacSha256SetKey;\r
- EDKII_CRYPTO_HMAC_SHA256_DUPLICATE HmacSha256Duplicate;\r
- EDKII_CRYPTO_HMAC_SHA256_UPDATE HmacSha256Update;\r
- EDKII_CRYPTO_HMAC_SHA256_FINAL HmacSha256Final;\r
+ EDKII_CRYPTO_HMAC_SHA256_NEW HmacSha256New;\r
+ EDKII_CRYPTO_HMAC_SHA256_FREE HmacSha256Free;\r
+ EDKII_CRYPTO_HMAC_SHA256_SET_KEY HmacSha256SetKey;\r
+ EDKII_CRYPTO_HMAC_SHA256_DUPLICATE HmacSha256Duplicate;\r
+ EDKII_CRYPTO_HMAC_SHA256_UPDATE HmacSha256Update;\r
+ EDKII_CRYPTO_HMAC_SHA256_FINAL HmacSha256Final;\r
/// Md4 - deprecated and unsupported\r
- DEPRECATED_EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE DeprecatedMd4GetContextSize;\r
- DEPRECATED_EDKII_CRYPTO_MD4_INIT DeprecatedMd4Init;\r
- DEPRECATED_EDKII_CRYPTO_MD4_DUPLICATE DeprecatedMd4Duplicate;\r
- DEPRECATED_EDKII_CRYPTO_MD4_UPDATE DeprecatedMd4Update;\r
- DEPRECATED_EDKII_CRYPTO_MD4_FINAL DeprecatedMd4Final;\r
- DEPRECATED_EDKII_CRYPTO_MD4_HASH_ALL DeprecatedMd4HashAll;\r
+ DEPRECATED_EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE DeprecatedMd4GetContextSize;\r
+ DEPRECATED_EDKII_CRYPTO_MD4_INIT DeprecatedMd4Init;\r
+ DEPRECATED_EDKII_CRYPTO_MD4_DUPLICATE DeprecatedMd4Duplicate;\r
+ DEPRECATED_EDKII_CRYPTO_MD4_UPDATE DeprecatedMd4Update;\r
+ DEPRECATED_EDKII_CRYPTO_MD4_FINAL DeprecatedMd4Final;\r
+ DEPRECATED_EDKII_CRYPTO_MD4_HASH_ALL DeprecatedMd4HashAll;\r
/// Md5\r
- EDKII_CRYPTO_MD5_GET_CONTEXT_SIZE Md5GetContextSize;\r
- EDKII_CRYPTO_MD5_INIT Md5Init;\r
- EDKII_CRYPTO_MD5_DUPLICATE Md5Duplicate;\r
- EDKII_CRYPTO_MD5_UPDATE Md5Update;\r
- EDKII_CRYPTO_MD5_FINAL Md5Final;\r
- EDKII_CRYPTO_MD5_HASH_ALL Md5HashAll;\r
+ EDKII_CRYPTO_MD5_GET_CONTEXT_SIZE Md5GetContextSize;\r
+ EDKII_CRYPTO_MD5_INIT Md5Init;\r
+ EDKII_CRYPTO_MD5_DUPLICATE Md5Duplicate;\r
+ EDKII_CRYPTO_MD5_UPDATE Md5Update;\r
+ EDKII_CRYPTO_MD5_FINAL Md5Final;\r
+ EDKII_CRYPTO_MD5_HASH_ALL Md5HashAll;\r
/// Pkcs\r
- EDKII_CRYPTO_PKCS1_ENCRYPT_V2 Pkcs1v2Encrypt;\r
- EDKII_CRYPTO_PKCS5_PW_HASH Pkcs5HashPassword;\r
- EDKII_CRYPTO_PKCS7_VERIFY Pkcs7Verify;\r
- EDKII_CRYPTO_PKCS7_VERIFY_EKU VerifyEKUsInPkcs7Signature;\r
- EDKII_CRYPTO_PKCS7_GET_SIGNERS Pkcs7GetSigners;\r
- EDKII_CRYPTO_PKCS7_FREE_SIGNERS Pkcs7FreeSigners;\r
- EDKII_CRYPTO_PKCS7_SIGN Pkcs7Sign;\r
- EDKII_CRYPTO_PKCS7_GET_ATTACHED_CONTENT Pkcs7GetAttachedContent;\r
- EDKII_CRYPTO_PKCS7_GET_CERTIFICATES_LIST Pkcs7GetCertificatesList;\r
- EDKII_CRYPTO_AUTHENTICODE_VERIFY AuthenticodeVerify;\r
- EDKII_CRYPTO_IMAGE_TIMESTAMP_VERIFY ImageTimestampVerify;\r
+ EDKII_CRYPTO_PKCS1_ENCRYPT_V2 Pkcs1v2Encrypt;\r
+ EDKII_CRYPTO_PKCS5_PW_HASH Pkcs5HashPassword;\r
+ EDKII_CRYPTO_PKCS7_VERIFY Pkcs7Verify;\r
+ EDKII_CRYPTO_PKCS7_VERIFY_EKU VerifyEKUsInPkcs7Signature;\r
+ EDKII_CRYPTO_PKCS7_GET_SIGNERS Pkcs7GetSigners;\r
+ EDKII_CRYPTO_PKCS7_FREE_SIGNERS Pkcs7FreeSigners;\r
+ EDKII_CRYPTO_PKCS7_SIGN Pkcs7Sign;\r
+ EDKII_CRYPTO_PKCS7_GET_ATTACHED_CONTENT Pkcs7GetAttachedContent;\r
+ EDKII_CRYPTO_PKCS7_GET_CERTIFICATES_LIST Pkcs7GetCertificatesList;\r
+ EDKII_CRYPTO_AUTHENTICODE_VERIFY AuthenticodeVerify;\r
+ EDKII_CRYPTO_IMAGE_TIMESTAMP_VERIFY ImageTimestampVerify;\r
/// DH\r
- EDKII_CRYPTO_DH_NEW DhNew;\r
- EDKII_CRYPTO_DH_FREE DhFree;\r
- EDKII_CRYPTO_DH_GENERATE_PARAMETER DhGenerateParameter;\r
- EDKII_CRYPTO_DH_SET_PARAMETER DhSetParameter;\r
- EDKII_CRYPTO_DH_GENERATE_KEY DhGenerateKey;\r
- EDKII_CRYPTO_DH_COMPUTE_KEY DhComputeKey;\r
+ EDKII_CRYPTO_DH_NEW DhNew;\r
+ EDKII_CRYPTO_DH_FREE DhFree;\r
+ EDKII_CRYPTO_DH_GENERATE_PARAMETER DhGenerateParameter;\r
+ EDKII_CRYPTO_DH_SET_PARAMETER DhSetParameter;\r
+ EDKII_CRYPTO_DH_GENERATE_KEY DhGenerateKey;\r
+ EDKII_CRYPTO_DH_COMPUTE_KEY DhComputeKey;\r
/// Random\r
- EDKII_CRYPTO_RANDOM_SEED RandomSeed;\r
- EDKII_CRYPTO_RANDOM_BYTES RandomBytes;\r
+ EDKII_CRYPTO_RANDOM_SEED RandomSeed;\r
+ EDKII_CRYPTO_RANDOM_BYTES RandomBytes;\r
/// RSA\r
- EDKII_CRYPTO_RSA_VERIFY_PKCS1 RsaVerifyPkcs1;\r
- EDKII_CRYPTO_RSA_NEW RsaNew;\r
- EDKII_CRYPTO_RSA_FREE RsaFree;\r
- EDKII_CRYPTO_RSA_SET_KEY RsaSetKey;\r
- EDKII_CRYPTO_RSA_GET_KEY RsaGetKey;\r
- EDKII_CRYPTO_RSA_GENERATE_KEY RsaGenerateKey;\r
- EDKII_CRYPTO_RSA_CHECK_KEY RsaCheckKey;\r
- EDKII_CRYPTO_RSA_PKCS1_SIGN RsaPkcs1Sign;\r
- EDKII_CRYPTO_RSA_PKCS1_VERIFY RsaPkcs1Verify;\r
- EDKII_CRYPTO_RSA_GET_PRIVATE_KEY_FROM_PEM RsaGetPrivateKeyFromPem;\r
- EDKII_CRYPTO_RSA_GET_PUBLIC_KEY_FROM_X509 RsaGetPublicKeyFromX509;\r
+ EDKII_CRYPTO_RSA_VERIFY_PKCS1 RsaVerifyPkcs1;\r
+ EDKII_CRYPTO_RSA_NEW RsaNew;\r
+ EDKII_CRYPTO_RSA_FREE RsaFree;\r
+ EDKII_CRYPTO_RSA_SET_KEY RsaSetKey;\r
+ EDKII_CRYPTO_RSA_GET_KEY RsaGetKey;\r
+ EDKII_CRYPTO_RSA_GENERATE_KEY RsaGenerateKey;\r
+ EDKII_CRYPTO_RSA_CHECK_KEY RsaCheckKey;\r
+ EDKII_CRYPTO_RSA_PKCS1_SIGN RsaPkcs1Sign;\r
+ EDKII_CRYPTO_RSA_PKCS1_VERIFY RsaPkcs1Verify;\r
+ EDKII_CRYPTO_RSA_GET_PRIVATE_KEY_FROM_PEM RsaGetPrivateKeyFromPem;\r
+ EDKII_CRYPTO_RSA_GET_PUBLIC_KEY_FROM_X509 RsaGetPublicKeyFromX509;\r
/// Sha1\r
- EDKII_CRYPTO_SHA1_GET_CONTEXT_SIZE Sha1GetContextSize;\r
- EDKII_CRYPTO_SHA1_INIT Sha1Init;\r
- EDKII_CRYPTO_SHA1_DUPLICATE Sha1Duplicate;\r
- EDKII_CRYPTO_SHA1_UPDATE Sha1Update;\r
- EDKII_CRYPTO_SHA1_FINAL Sha1Final;\r
- EDKII_CRYPTO_SHA1_HASH_ALL Sha1HashAll;\r
+ EDKII_CRYPTO_SHA1_GET_CONTEXT_SIZE Sha1GetContextSize;\r
+ EDKII_CRYPTO_SHA1_INIT Sha1Init;\r
+ EDKII_CRYPTO_SHA1_DUPLICATE Sha1Duplicate;\r
+ EDKII_CRYPTO_SHA1_UPDATE Sha1Update;\r
+ EDKII_CRYPTO_SHA1_FINAL Sha1Final;\r
+ EDKII_CRYPTO_SHA1_HASH_ALL Sha1HashAll;\r
/// Sha256\r
- EDKII_CRYPTO_SHA256_GET_CONTEXT_SIZE Sha256GetContextSize;\r
- EDKII_CRYPTO_SHA256_INIT Sha256Init;\r
- EDKII_CRYPTO_SHA256_DUPLICATE Sha256Duplicate;\r
- EDKII_CRYPTO_SHA256_UPDATE Sha256Update;\r
- EDKII_CRYPTO_SHA256_FINAL Sha256Final;\r
- EDKII_CRYPTO_SHA256_HASH_ALL Sha256HashAll;\r
+ EDKII_CRYPTO_SHA256_GET_CONTEXT_SIZE Sha256GetContextSize;\r
+ EDKII_CRYPTO_SHA256_INIT Sha256Init;\r
+ EDKII_CRYPTO_SHA256_DUPLICATE Sha256Duplicate;\r
+ EDKII_CRYPTO_SHA256_UPDATE Sha256Update;\r
+ EDKII_CRYPTO_SHA256_FINAL Sha256Final;\r
+ EDKII_CRYPTO_SHA256_HASH_ALL Sha256HashAll;\r
/// Sha384\r
- EDKII_CRYPTO_SHA384_GET_CONTEXT_SIZE Sha384GetContextSize;\r
- EDKII_CRYPTO_SHA384_INIT Sha384Init;\r
- EDKII_CRYPTO_SHA384_DUPLICATE Sha384Duplicate;\r
- EDKII_CRYPTO_SHA384_UPDATE Sha384Update;\r
- EDKII_CRYPTO_SHA384_FINAL Sha384Final;\r
- EDKII_CRYPTO_SHA384_HASH_ALL Sha384HashAll;\r
+ EDKII_CRYPTO_SHA384_GET_CONTEXT_SIZE Sha384GetContextSize;\r
+ EDKII_CRYPTO_SHA384_INIT Sha384Init;\r
+ EDKII_CRYPTO_SHA384_DUPLICATE Sha384Duplicate;\r
+ EDKII_CRYPTO_SHA384_UPDATE Sha384Update;\r
+ EDKII_CRYPTO_SHA384_FINAL Sha384Final;\r
+ EDKII_CRYPTO_SHA384_HASH_ALL Sha384HashAll;\r
/// Sha512\r
- EDKII_CRYPTO_SHA512_GET_CONTEXT_SIZE Sha512GetContextSize;\r
- EDKII_CRYPTO_SHA512_INIT Sha512Init;\r
- EDKII_CRYPTO_SHA512_DUPLICATE Sha512Duplicate;\r
- EDKII_CRYPTO_SHA512_UPDATE Sha512Update;\r
- EDKII_CRYPTO_SHA512_FINAL Sha512Final;\r
- EDKII_CRYPTO_SHA512_HASH_ALL Sha512HashAll;\r
+ EDKII_CRYPTO_SHA512_GET_CONTEXT_SIZE Sha512GetContextSize;\r
+ EDKII_CRYPTO_SHA512_INIT Sha512Init;\r
+ EDKII_CRYPTO_SHA512_DUPLICATE Sha512Duplicate;\r
+ EDKII_CRYPTO_SHA512_UPDATE Sha512Update;\r
+ EDKII_CRYPTO_SHA512_FINAL Sha512Final;\r
+ EDKII_CRYPTO_SHA512_HASH_ALL Sha512HashAll;\r
/// X509\r
- EDKII_CRYPTO_X509_GET_SUBJECT_NAME X509GetSubjectName;\r
- EDKII_CRYPTO_X509_GET_COMMON_NAME X509GetCommonName;\r
- EDKII_CRYPTO_X509_GET_ORGANIZATION_NAME X509GetOrganizationName;\r
- EDKII_CRYPTO_X509_VERIFY_CERT X509VerifyCert;\r
- EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE X509ConstructCertificate;\r
- EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK X509ConstructCertificateStack;\r
- EDKII_CRYPTO_X509_FREE X509Free;\r
- EDKII_CRYPTO_X509_STACK_FREE X509StackFree;\r
- EDKII_CRYPTO_X509_GET_TBS_CERT X509GetTBSCert;\r
+ EDKII_CRYPTO_X509_GET_SUBJECT_NAME X509GetSubjectName;\r
+ EDKII_CRYPTO_X509_GET_COMMON_NAME X509GetCommonName;\r
+ EDKII_CRYPTO_X509_GET_ORGANIZATION_NAME X509GetOrganizationName;\r
+ EDKII_CRYPTO_X509_VERIFY_CERT X509VerifyCert;\r
+ EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE X509ConstructCertificate;\r
+ EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK X509ConstructCertificateStack;\r
+ EDKII_CRYPTO_X509_FREE X509Free;\r
+ EDKII_CRYPTO_X509_STACK_FREE X509StackFree;\r
+ EDKII_CRYPTO_X509_GET_TBS_CERT X509GetTBSCert;\r
/// TDES - deprecated and unsupported\r
- DEPRECATED_EDKII_CRYPTO_TDES_GET_CONTEXT_SIZE DeprecatedTdesGetContextSize;\r
- DEPRECATED_EDKII_CRYPTO_TDES_INIT DeprecatedTdesInit;\r
- DEPRECATED_EDKII_CRYPTO_TDES_ECB_ENCRYPT DeprecatedTdesEcbEncrypt;\r
- DEPRECATED_EDKII_CRYPTO_TDES_ECB_DECRYPT DeprecatedTdesEcbDecrypt;\r
- DEPRECATED_EDKII_CRYPTO_TDES_CBC_ENCRYPT DeprecatedTdesCbcEncrypt;\r
- DEPRECATED_EDKII_CRYPTO_TDES_CBC_DECRYPT DeprecatedTdesCbcDecrypt;\r
+ DEPRECATED_EDKII_CRYPTO_TDES_GET_CONTEXT_SIZE DeprecatedTdesGetContextSize;\r
+ DEPRECATED_EDKII_CRYPTO_TDES_INIT DeprecatedTdesInit;\r
+ DEPRECATED_EDKII_CRYPTO_TDES_ECB_ENCRYPT DeprecatedTdesEcbEncrypt;\r
+ DEPRECATED_EDKII_CRYPTO_TDES_ECB_DECRYPT DeprecatedTdesEcbDecrypt;\r
+ DEPRECATED_EDKII_CRYPTO_TDES_CBC_ENCRYPT DeprecatedTdesCbcEncrypt;\r
+ DEPRECATED_EDKII_CRYPTO_TDES_CBC_DECRYPT DeprecatedTdesCbcDecrypt;\r
/// AES - ECB Mode is deprecated and unsupported\r
- EDKII_CRYPTO_AES_GET_CONTEXT_SIZE AesGetContextSize;\r
- EDKII_CRYPTO_AES_INIT AesInit;\r
- DEPRECATED_EDKII_CRYPTO_AES_ECB_ENCRYPT DeprecatedAesEcbEncrypt;\r
- DEPRECATED_EDKII_CRYPTO_AES_ECB_DECRYPT DeprecatedAesEcbDecrypt;\r
- EDKII_CRYPTO_AES_CBC_ENCRYPT AesCbcEncrypt;\r
- EDKII_CRYPTO_AES_CBC_DECRYPT AesCbcDecrypt;\r
+ EDKII_CRYPTO_AES_GET_CONTEXT_SIZE AesGetContextSize;\r
+ EDKII_CRYPTO_AES_INIT AesInit;\r
+ DEPRECATED_EDKII_CRYPTO_AES_ECB_ENCRYPT DeprecatedAesEcbEncrypt;\r
+ DEPRECATED_EDKII_CRYPTO_AES_ECB_DECRYPT DeprecatedAesEcbDecrypt;\r
+ EDKII_CRYPTO_AES_CBC_ENCRYPT AesCbcEncrypt;\r
+ EDKII_CRYPTO_AES_CBC_DECRYPT AesCbcDecrypt;\r
/// Arc4 - deprecated and unsupported\r
- DEPRECATED_EDKII_CRYPTO_ARC4_GET_CONTEXT_SIZE DeprecatedArc4GetContextSize;\r
- DEPRECATED_EDKII_CRYPTO_ARC4_INIT DeprecatedArc4Init;\r
- DEPRECATED_EDKII_CRYPTO_ARC4_ENCRYPT DeprecatedArc4Encrypt;\r
- DEPRECATED_EDKII_CRYPTO_ARC4_DECRYPT DeprecatedArc4Decrypt;\r
- DEPRECATED_EDKII_CRYPTO_ARC4_RESET DeprecatedArc4Reset;\r
+ DEPRECATED_EDKII_CRYPTO_ARC4_GET_CONTEXT_SIZE DeprecatedArc4GetContextSize;\r
+ DEPRECATED_EDKII_CRYPTO_ARC4_INIT DeprecatedArc4Init;\r
+ DEPRECATED_EDKII_CRYPTO_ARC4_ENCRYPT DeprecatedArc4Encrypt;\r
+ DEPRECATED_EDKII_CRYPTO_ARC4_DECRYPT DeprecatedArc4Decrypt;\r
+ DEPRECATED_EDKII_CRYPTO_ARC4_RESET DeprecatedArc4Reset;\r
/// SM3\r
- EDKII_CRYPTO_SM3_GET_CONTEXT_SIZE Sm3GetContextSize;\r
- EDKII_CRYPTO_SM3_INIT Sm3Init;\r
- EDKII_CRYPTO_SM3_DUPLICATE Sm3Duplicate;\r
- EDKII_CRYPTO_SM3_UPDATE Sm3Update;\r
- EDKII_CRYPTO_SM3_FINAL Sm3Final;\r
- EDKII_CRYPTO_SM3_HASH_ALL Sm3HashAll;\r
+ EDKII_CRYPTO_SM3_GET_CONTEXT_SIZE Sm3GetContextSize;\r
+ EDKII_CRYPTO_SM3_INIT Sm3Init;\r
+ EDKII_CRYPTO_SM3_DUPLICATE Sm3Duplicate;\r
+ EDKII_CRYPTO_SM3_UPDATE Sm3Update;\r
+ EDKII_CRYPTO_SM3_FINAL Sm3Final;\r
+ EDKII_CRYPTO_SM3_HASH_ALL Sm3HashAll;\r
/// HKDF\r
- EDKII_CRYPTO_HKDF_SHA_256_EXTRACT_AND_EXPAND HkdfSha256ExtractAndExpand;\r
+ EDKII_CRYPTO_HKDF_SHA_256_EXTRACT_AND_EXPAND HkdfSha256ExtractAndExpand;\r
/// X509 (Continued)\r
- EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK_V X509ConstructCertificateStackV;\r
+ EDKII_CRYPTO_X509_CONSTRUCT_CERTIFICATE_STACK_V X509ConstructCertificateStackV;\r
/// TLS\r
- EDKII_CRYPTO_TLS_INITIALIZE TlsInitialize;\r
- EDKII_CRYPTO_TLS_CTX_FREE TlsCtxFree;\r
- EDKII_CRYPTO_TLS_CTX_NEW TlsCtxNew;\r
- EDKII_CRYPTO_TLS_FREE TlsFree;\r
- EDKII_CRYPTO_TLS_NEW TlsNew;\r
- EDKII_CRYPTO_TLS_IN_HANDSHAKE TlsInHandshake;\r
- EDKII_CRYPTO_TLS_DO_HANDSHAKE TlsDoHandshake;\r
- EDKII_CRYPTO_TLS_HANDLE_ALERT TlsHandleAlert;\r
- EDKII_CRYPTO_TLS_CLOSE_NOTIFY TlsCloseNotify;\r
- EDKII_CRYPTO_TLS_CTRL_TRAFFIC_OUT TlsCtrlTrafficOut;\r
- EDKII_CRYPTO_TLS_CTRL_TRAFFIC_IN TlsCtrlTrafficIn;\r
- EDKII_CRYPTO_TLS_READ TlsRead;\r
- EDKII_CRYPTO_TLS_WRITE TlsWrite;\r
+ EDKII_CRYPTO_TLS_INITIALIZE TlsInitialize;\r
+ EDKII_CRYPTO_TLS_CTX_FREE TlsCtxFree;\r
+ EDKII_CRYPTO_TLS_CTX_NEW TlsCtxNew;\r
+ EDKII_CRYPTO_TLS_FREE TlsFree;\r
+ EDKII_CRYPTO_TLS_NEW TlsNew;\r
+ EDKII_CRYPTO_TLS_IN_HANDSHAKE TlsInHandshake;\r
+ EDKII_CRYPTO_TLS_DO_HANDSHAKE TlsDoHandshake;\r
+ EDKII_CRYPTO_TLS_HANDLE_ALERT TlsHandleAlert;\r
+ EDKII_CRYPTO_TLS_CLOSE_NOTIFY TlsCloseNotify;\r
+ EDKII_CRYPTO_TLS_CTRL_TRAFFIC_OUT TlsCtrlTrafficOut;\r
+ EDKII_CRYPTO_TLS_CTRL_TRAFFIC_IN TlsCtrlTrafficIn;\r
+ EDKII_CRYPTO_TLS_READ TlsRead;\r
+ EDKII_CRYPTO_TLS_WRITE TlsWrite;\r
/// TLS Set\r
- EDKII_CRYPTO_TLS_SET_VERSION TlsSetVersion;\r
- EDKII_CRYPTO_TLS_SET_CONNECTION_END TlsSetConnectionEnd;\r
- EDKII_CRYPTO_TLS_SET_CIPHER_LIST TlsSetCipherList;\r
- EDKII_CRYPTO_TLS_SET_COMPRESSION_METHOD TlsSetCompressionMethod;\r
- EDKII_CRYPTO_TLS_SET_VERIFY TlsSetVerify;\r
- EDKII_CRYPTO_TLS_SET_VERIFY_HOST TlsSetVerifyHost;\r
- EDKII_CRYPTO_TLS_SET_SESSIONID TlsSetSessionId;\r
- EDKII_CRYPTO_TLS_SET_CA_CERTIFICATE TlsSetCaCertificate;\r
- EDKII_CRYPTO_TLS_SET_HOST_PUBLIC_CERT TlsSetHostPublicCert;\r
- EDKII_CRYPTO_TLS_SET_HOST_PRIVATE_KEY TlsSetHostPrivateKey;\r
- EDKII_CRYPTO_TLS_SET_CERT_REVOCATION_LIST TlsSetCertRevocationList;\r
+ EDKII_CRYPTO_TLS_SET_VERSION TlsSetVersion;\r
+ EDKII_CRYPTO_TLS_SET_CONNECTION_END TlsSetConnectionEnd;\r
+ EDKII_CRYPTO_TLS_SET_CIPHER_LIST TlsSetCipherList;\r
+ EDKII_CRYPTO_TLS_SET_COMPRESSION_METHOD TlsSetCompressionMethod;\r
+ EDKII_CRYPTO_TLS_SET_VERIFY TlsSetVerify;\r
+ EDKII_CRYPTO_TLS_SET_VERIFY_HOST TlsSetVerifyHost;\r
+ EDKII_CRYPTO_TLS_SET_SESSIONID TlsSetSessionId;\r
+ EDKII_CRYPTO_TLS_SET_CA_CERTIFICATE TlsSetCaCertificate;\r
+ EDKII_CRYPTO_TLS_SET_HOST_PUBLIC_CERT TlsSetHostPublicCert;\r
+ EDKII_CRYPTO_TLS_SET_HOST_PRIVATE_KEY TlsSetHostPrivateKey;\r
+ EDKII_CRYPTO_TLS_SET_CERT_REVOCATION_LIST TlsSetCertRevocationList;\r
/// TLS Get\r
- EDKII_CRYPTO_TLS_GET_VERSION TlsGetVersion;\r
- EDKII_CRYPTO_TLS_GET_CONNECTION_END TlsGetConnectionEnd;\r
- EDKII_CRYPTO_TLS_GET_CURRENT_CIPHER TlsGetCurrentCipher;\r
- EDKII_CRYPTO_TLS_GET_CURRENT_COMPRESSION_ID TlsGetCurrentCompressionId;\r
- EDKII_CRYPTO_TLS_GET_VERIFY TlsGetVerify;\r
- EDKII_CRYPTO_TLS_GET_SESSION_ID TlsGetSessionId;\r
- EDKII_CRYPTO_TLS_GET_CLIENT_RANDOM TlsGetClientRandom;\r
- EDKII_CRYPTO_TLS_GET_SERVER_RANDOM TlsGetServerRandom;\r
- EDKII_CRYPTO_TLS_GET_KEY_MATERIAL TlsGetKeyMaterial;\r
- EDKII_CRYPTO_TLS_GET_CA_CERTIFICATE TlsGetCaCertificate;\r
- EDKII_CRYPTO_TLS_GET_HOST_PUBLIC_CERT TlsGetHostPublicCert;\r
- EDKII_CRYPTO_TLS_GET_HOST_PRIVATE_KEY TlsGetHostPrivateKey;\r
- EDKII_CRYPTO_TLS_GET_CERT_REVOCATION_LIST TlsGetCertRevocationList;\r
+ EDKII_CRYPTO_TLS_GET_VERSION TlsGetVersion;\r
+ EDKII_CRYPTO_TLS_GET_CONNECTION_END TlsGetConnectionEnd;\r
+ EDKII_CRYPTO_TLS_GET_CURRENT_CIPHER TlsGetCurrentCipher;\r
+ EDKII_CRYPTO_TLS_GET_CURRENT_COMPRESSION_ID TlsGetCurrentCompressionId;\r
+ EDKII_CRYPTO_TLS_GET_VERIFY TlsGetVerify;\r
+ EDKII_CRYPTO_TLS_GET_SESSION_ID TlsGetSessionId;\r
+ EDKII_CRYPTO_TLS_GET_CLIENT_RANDOM TlsGetClientRandom;\r
+ EDKII_CRYPTO_TLS_GET_SERVER_RANDOM TlsGetServerRandom;\r
+ EDKII_CRYPTO_TLS_GET_KEY_MATERIAL TlsGetKeyMaterial;\r
+ EDKII_CRYPTO_TLS_GET_CA_CERTIFICATE TlsGetCaCertificate;\r
+ EDKII_CRYPTO_TLS_GET_HOST_PUBLIC_CERT TlsGetHostPublicCert;\r
+ EDKII_CRYPTO_TLS_GET_HOST_PRIVATE_KEY TlsGetHostPrivateKey;\r
+ EDKII_CRYPTO_TLS_GET_CERT_REVOCATION_LIST TlsGetCertRevocationList;\r
/// RSA PSS\r
- EDKII_CRYPTO_RSA_PSS_SIGN RsaPssSign;\r
- EDKII_CRYPTO_RSA_PSS_VERIFY RsaPssVerify;\r
+ EDKII_CRYPTO_RSA_PSS_SIGN RsaPssSign;\r
+ EDKII_CRYPTO_RSA_PSS_VERIFY RsaPssVerify;\r
};\r
\r
-extern GUID gEdkiiCryptoProtocolGuid;\r
+extern GUID gEdkiiCryptoProtocolGuid;\r
\r
#endif\r
///\r
typedef EDKII_CRYPTO_PROTOCOL EDKII_SMM_CRYPTO_PROTOCOL;\r
\r
-extern GUID gEdkiiSmmCryptoProtocolGuid;\r
+extern GUID gEdkiiSmmCryptoProtocolGuid;\r
\r
#endif\r
// Sample PE/COFF Image Hash Value (Digested by SHA-1).\r
// This value should be calculated following MSFT's Authenticode Specification\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 PeSha1Hash[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 PeSha1Hash[] = {\r
0x44, 0xFD, 0x4F, 0xA9, 0x17, 0xEE, 0xAC, 0xCF, 0x1F, 0x0B, 0xE3, 0xA1, 0x4D, 0x5B, 0xA6, 0x61,\r
0x82, 0x97, 0xC4, 0xB6\r
- };\r
+};\r
\r
//\r
// Sample PE/COFF Image Hash Value (Digested by SHA-256).\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 PeSha256Hash[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 PeSha256Hash[] = {\r
0x61, 0x82, 0xB7, 0xF8, 0x8C, 0xFF, 0xC2, 0xEB, 0x79, 0x6E, 0x9D, 0xA9, 0xDD, 0x39, 0x52, 0xDD,\r
0x36, 0xDD, 0xF1, 0x43, 0x27, 0x58, 0x8C, 0xA7, 0xCC, 0xAE, 0xDE, 0xDD, 0x3C, 0x02, 0x12, 0x49\r
- };\r
+};\r
\r
//\r
// Sample Authenticode Data with SHA-1 hash algorithm.\r
// This data should be retrieved from signed PE/COFF image according to SECURITY\r
// directory in PE/COFF Header.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 AuthenticodeWithSha1[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 AuthenticodeWithSha1[] = {\r
0x30, 0x82, 0x1C, 0x43, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0,\r
0x82, 0x1C, 0x34, 0x30, 0x82, 0x1C, 0x30, 0x02, 0x01, 0x01, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05,\r
0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x68, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01,\r
0x0E, 0x99, 0x1F, 0xDF, 0x7E, 0xC9, 0x10, 0x56, 0xC7, 0x00, 0x6D, 0x5F, 0x23, 0x57, 0x12, 0x84,\r
0xCD, 0xAC, 0x82, 0xAE, 0x39, 0x52, 0xA5, 0x19, 0x23, 0xA3, 0x6B, 0xE7, 0x49, 0x8F, 0x86, 0x74,\r
0x46, 0x41, 0x2A, 0x0F, 0x3D, 0x29, 0xB7, 0xAE, 0x8C, 0x00\r
- };\r
+};\r
\r
//\r
// Sample Authenticode Data with SHA-256 hash algorithm.\r
// This data should be retrieved from signed PE/COFF image according to SECURITY\r
// directory in PE/COFF Header.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 AuthenticodeWithSha256[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 AuthenticodeWithSha256[] = {\r
0x30, 0x82, 0x0e, 0xd1, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0,\r
0x82, 0x0e, 0xc2, 0x30, 0x82, 0x0e, 0xbe, 0x02, 0x01, 0x01, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x09,\r
0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x5c, 0x06, 0x0a, 0x2b,\r
0x22, 0xb6, 0x17, 0x3f, 0x4f, 0x33, 0xed, 0xa6, 0xd9, 0x0f, 0x74, 0xfa, 0x97, 0x8d, 0x98, 0x55,\r
0x42, 0x14, 0x76, 0xd4, 0x89, 0x07, 0xf2, 0x30, 0x5a, 0x27, 0x96, 0x1b, 0x92, 0x70, 0x5a, 0x83,\r
0x89, 0x0f, 0xdb, 0x47, 0x7a, 0x00, 0x00, 0x00, 0x0a\r
- };\r
+};\r
\r
//\r
// Sample root certificate for code signing.\r
// A trusted certificate with self-signing, will be used to construct the certificate chains for\r
// authority checking.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestRootCert1[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestRootCert1[] = {\r
0x30, 0x82, 0x05, 0x99, 0x30, 0x82, 0x03, 0x81, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x79,\r
0xAD, 0x16, 0xA1, 0x4A, 0xA0, 0xA5, 0xAD, 0x4C, 0x73, 0x58, 0xF4, 0x07, 0x13, 0x2E, 0x65, 0x30,\r
0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x5F,\r
0x6B, 0x9D, 0x4A, 0xFD, 0xD1, 0xA1, 0x9D, 0x99, 0x43, 0x77, 0x3F, 0xB0, 0xDA\r
};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestRootCert2[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestRootCert2[] = {\r
0x30, 0x82, 0x05, 0xfd, 0x30, 0x82, 0x03, 0xe5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x74,\r
0x45, 0xc8, 0x78, 0x4e, 0x0c, 0xc9, 0x96, 0x4a, 0xb4, 0x2f, 0xbc, 0xda, 0x29, 0xe1, 0xbc, 0x30,\r
0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81,\r
0x5f, 0x70, 0x44, 0xfa, 0x89, 0x59, 0x93, 0xb0, 0x7b, 0x12, 0x0f, 0x5e, 0x62, 0x62, 0x51, 0x11,\r
0xbd, 0xba, 0x5a, 0xd0, 0xce, 0xa1, 0xb6, 0xef, 0x80, 0x20, 0xe6, 0x73, 0x4b, 0x11, 0x06, 0x56,\r
0xe2, 0x0a\r
- };\r
+};\r
\r
//\r
// OID ASN.1 Value for Hash Algorithms\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 HashOidValue[] = {\r
- 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, // OBJ_md5\r
- 0x2B, 0x0E, 0x03, 0x02, 0x1A, // OBJ_sha1\r
- 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04, // OBJ_sha224\r
- 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, // OBJ_sha256\r
- 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, // OBJ_sha384\r
- 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, // OBJ_sha512\r
- };\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 HashOidValue[] = {\r
+ 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05, // OBJ_md5\r
+ 0x2B, 0x0E, 0x03, 0x02, 0x1A, // OBJ_sha1\r
+ 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04, // OBJ_sha224\r
+ 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, // OBJ_sha256\r
+ 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, // OBJ_sha384\r
+ 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, // OBJ_sha512\r
+};\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyAuthenticodeVerify (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mAuthenticodeTest[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
- //\r
- {"TestVerifyAuthenticodeVerify()", "CryptoPkg.BaseCryptLib.Authenticode", TestVerifyAuthenticodeVerify, NULL, NULL, NULL},\r
+TEST_DESC mAuthenticodeTest[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyAuthenticodeVerify()", "CryptoPkg.BaseCryptLib.Authenticode", TestVerifyAuthenticodeVerify, NULL, NULL, NULL },\r
};\r
\r
-UINTN mAuthenticodeTestNum = ARRAY_SIZE(mAuthenticodeTest);\r
+UINTN mAuthenticodeTestNum = ARRAY_SIZE (mAuthenticodeTest);\r
#include "TestBaseCryptLib.h"\r
\r
SUITE_DESC mSuiteDesc[] = {\r
- //\r
- // Title--------------------------Package-------------------Sup--Tdn----TestNum------------TestDesc\r
- //\r
- {"EKU verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPkcs7EkuTestNum, mPkcs7EkuTest},\r
- {"HASH verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mHashTestNum, mHashTest},\r
- {"HMAC verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mHmacTestNum, mHmacTest},\r
- {"BlockCipher verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mBlockCipherTestNum, mBlockCipherTest},\r
- {"RSA verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mRsaTestNum, mRsaTest},\r
- {"RSA PSS verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mRsaPssTestNum, mRsaPssTest},\r
- {"RSACert verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mRsaCertTestNum, mRsaCertTest},\r
- {"PKCS7 verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPkcs7TestNum, mPkcs7Test},\r
- {"PKCS5 verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPkcs5TestNum, mPkcs5Test},\r
- {"Authenticode verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mAuthenticodeTestNum, mAuthenticodeTest},\r
- {"ImageTimestamp verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mImageTimestampTestNum, mImageTimestampTest},\r
- {"DH verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mDhTestNum, mDhTest},\r
- {"PRNG verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPrngTestNum, mPrngTest},\r
- {"OAEP encrypt verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mOaepTestNum, mOaepTest},\r
+ //\r
+ // Title--------------------------Package-------------------Sup--Tdn----TestNum------------TestDesc\r
+ //\r
+ { "EKU verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPkcs7EkuTestNum, mPkcs7EkuTest },\r
+ { "HASH verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mHashTestNum, mHashTest },\r
+ { "HMAC verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mHmacTestNum, mHmacTest },\r
+ { "BlockCipher verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mBlockCipherTestNum, mBlockCipherTest },\r
+ { "RSA verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mRsaTestNum, mRsaTest },\r
+ { "RSA PSS verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mRsaPssTestNum, mRsaPssTest },\r
+ { "RSACert verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mRsaCertTestNum, mRsaCertTest },\r
+ { "PKCS7 verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPkcs7TestNum, mPkcs7Test },\r
+ { "PKCS5 verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPkcs5TestNum, mPkcs5Test },\r
+ { "Authenticode verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mAuthenticodeTestNum, mAuthenticodeTest },\r
+ { "ImageTimestamp verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mImageTimestampTestNum, mImageTimestampTest },\r
+ { "DH verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mDhTestNum, mDhTest },\r
+ { "PRNG verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mPrngTestNum, mPrngTest },\r
+ { "OAEP encrypt verify tests", "CryptoPkg.BaseCryptLib", NULL, NULL, &mOaepTestNum, mOaepTest },\r
};\r
\r
EFI_STATUS\r
EFIAPI\r
CreateUnitTest (\r
- IN CHAR8* UnitTestName,\r
- IN CHAR8* UnitTestVersion,\r
- IN OUT UNIT_TEST_FRAMEWORK_HANDLE* Framework\r
-) {\r
- EFI_STATUS Status;\r
- UINTN SuiteIndex;\r
- UINTN TestIndex;\r
+ IN CHAR8 *UnitTestName,\r
+ IN CHAR8 *UnitTestVersion,\r
+ IN OUT UNIT_TEST_FRAMEWORK_HANDLE *Framework\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+ UINTN SuiteIndex;\r
+ UINTN TestIndex;\r
\r
- if ( Framework == NULL || UnitTestVersion == NULL || UnitTestName == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
- Status = EFI_SUCCESS;\r
- //\r
- // Start setting up the test framework for running the tests.\r
- //\r
- Status = InitUnitTestFramework (Framework, UnitTestName, gEfiCallerBaseName, UnitTestVersion);\r
+ if ((Framework == NULL) || (UnitTestVersion == NULL) || (UnitTestName == NULL)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ Status = EFI_SUCCESS;\r
+ //\r
+ // Start setting up the test framework for running the tests.\r
+ //\r
+ Status = InitUnitTestFramework (Framework, UnitTestName, gEfiCallerBaseName, UnitTestVersion);\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status = %r\n", Status));\r
+ goto EXIT;\r
+ }\r
+\r
+ for (SuiteIndex = 0; SuiteIndex < ARRAY_SIZE (mSuiteDesc); SuiteIndex++) {\r
+ UNIT_TEST_SUITE_HANDLE Suite = NULL;\r
+ Status = CreateUnitTestSuite (&Suite, *Framework, mSuiteDesc[SuiteIndex].Title, mSuiteDesc[SuiteIndex].Package, mSuiteDesc[SuiteIndex].Sup, mSuiteDesc[SuiteIndex].Tdn);\r
if (EFI_ERROR (Status)) {\r
- DEBUG((DEBUG_ERROR, "Failed in InitUnitTestFramework. Status = %r\n", Status));\r
- goto EXIT;\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ goto EXIT;\r
}\r
\r
- for (SuiteIndex = 0; SuiteIndex < ARRAY_SIZE(mSuiteDesc); SuiteIndex++) {\r
- UNIT_TEST_SUITE_HANDLE Suite = NULL;\r
- Status = CreateUnitTestSuite (&Suite, *Framework, mSuiteDesc[SuiteIndex].Title, mSuiteDesc[SuiteIndex].Package, mSuiteDesc[SuiteIndex].Sup, mSuiteDesc[SuiteIndex].Tdn);\r
- if (EFI_ERROR (Status)) {\r
- Status = EFI_OUT_OF_RESOURCES;\r
- goto EXIT;\r
- }\r
- for (TestIndex = 0; TestIndex < *mSuiteDesc[SuiteIndex].TestNum; TestIndex++) {\r
- AddTestCase (Suite, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->Description, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->ClassName, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->Func, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->PreReq, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->CleanUp, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->Context);\r
- }\r
+ for (TestIndex = 0; TestIndex < *mSuiteDesc[SuiteIndex].TestNum; TestIndex++) {\r
+ AddTestCase (Suite, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->Description, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->ClassName, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->Func, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->PreReq, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->CleanUp, (mSuiteDesc[SuiteIndex].TestDesc + TestIndex)->Context);\r
}\r
- EXIT:\r
- return Status;\r
+ }\r
+\r
+EXIT:\r
+ return Status;\r
}\r
//\r
// TDES test vectors are extracted from OpenSSL 0.9.8l, crypto\des\destest.c\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcbData[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcbData[] = {\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcbKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcbKey[] = {\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcbCipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcbCipher[] = {\r
0x8C, 0xA6, 0x4D, 0xE9, 0xC1, 0xB1, 0x23, 0xA7,\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcb2Cipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesEcb2Cipher[] = {\r
0x92, 0x95, 0xB5, 0x9B, 0xB3, 0x84, 0x73, 0x6E,\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesCbcData[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesCbcData[] = {\r
0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x20,\r
0x4E, 0x6F, 0x77, 0x20, 0x69, 0x73, 0x20, 0x74,\r
0x68, 0x65, 0x20, 0x74, 0x69, 0x6D, 0x65, 0x20\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesCbcKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesCbcKey[] = {\r
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,\r
0xf1, 0xe0, 0xd3, 0xc2, 0xb5, 0xa4, 0x97, 0x86,\r
0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TdesCbcIvec[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TdesCbcIvec[] = {\r
0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesCbc3Cipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TdesCbc3Cipher[] = {\r
0x3F, 0xE3, 0x01, 0xC9, 0x62, 0xAC, 0x01, 0xD0,\r
0x22, 0x13, 0x76, 0x3C, 0x1C, 0xBD, 0x4C, 0xDC,\r
0x79, 0x96, 0x57, 0xC0, 0x64, 0xEC, 0xF5, 0xD4\r
- };\r
+};\r
\r
//\r
// AES test vectors are from NIST KAT of AES\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128EcbData[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128EcbData[] = {\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128EcbKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128EcbKey[] = {\r
0x10, 0xa5, 0x88, 0x69, 0xd7, 0x4b, 0xe5, 0xa3, 0x74, 0xcf, 0x86, 0x7c, 0xfb, 0x47, 0x38, 0x59\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128EcbCipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128EcbCipher[] = {\r
0x6d, 0x25, 0x1e, 0x69, 0x44, 0xb0, 0x51, 0xe0, 0x4e, 0xaa, 0x6f, 0xb4, 0xdb, 0xf7, 0x84, 0x65\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes192EcbData[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes192EcbData[] = {\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes192EcbKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes192EcbKey[] = {\r
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\r
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes192EcbCipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes192EcbCipher[] = {\r
0xdd, 0x8a, 0x49, 0x35, 0x14, 0x23, 0x1c, 0xbf, 0x56, 0xec, 0xce, 0xe4, 0xc4, 0x08, 0x89, 0xfb\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes256EcbData[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes256EcbData[] = {\r
0x01, 0x47, 0x30, 0xf8, 0x0a, 0xc6, 0x25, 0xfe, 0x84, 0xf0, 0x26, 0xc6, 0x0b, 0xfd, 0x54, 0x7d\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes256EcbKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes256EcbKey[] = {\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes256EcbCipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes256EcbCipher[] = {\r
0x5c, 0x9d, 0x84, 0x4e, 0xd4, 0x6f, 0x98, 0x85, 0x08, 0x5e, 0x5d, 0x6a, 0x4f, 0x94, 0xc7, 0xd7\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcData[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcData[] = {\r
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\r
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcKey[] = {\r
0xc2, 0x86, 0x69, 0x6d, 0x88, 0x7c, 0x9a, 0xa0, 0x61, 0x1b, 0xbb, 0x3e, 0x20, 0x25, 0xa4, 0x5a\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcIvec[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcIvec[] = {\r
0x56, 0x2e, 0x17, 0x99, 0x6d, 0x09, 0x3d, 0x28, 0xdd, 0xb3, 0xba, 0x69, 0x5a, 0x2e, 0x6f, 0x58\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcCipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Aes128CbcCipher[] = {\r
0xd2, 0x96, 0xcd, 0x94, 0xc2, 0xcc, 0xcf, 0x8a, 0x3a, 0x86, 0x30, 0x28, 0xb5, 0xe1, 0xdc, 0x0a,\r
0x75, 0x86, 0x60, 0x2d, 0x25, 0x3c, 0xff, 0xf9, 0x1b, 0x82, 0x66, 0xbe, 0xa6, 0xd6, 0x1a, 0xb1\r
- };\r
+};\r
\r
//\r
// ARC4 Test Vector defined in "Appendix A.1 Test Vectors from [CRYPTLIB]" of\r
// IETF Draft draft-kaukonen-cipher-arcfour-03 ("A Stream Cipher Encryption Algorithm 'Arcfour'").\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Arc4Data[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Arc4Data[] = {\r
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Arc4Key[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Arc4Key[] = {\r
0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Arc4Cipher[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Arc4Cipher[] = {\r
0x74, 0x94, 0xC2, 0xE7, 0x10, 0x4B, 0x08, 0x79\r
- };\r
-\r
+};\r
\r
typedef\r
UINTN\r
-(EFIAPI *EFI_BLOCK_CIPHER_GET_CONTEXT_SIZE) (\r
+(EFIAPI *EFI_BLOCK_CIPHER_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_BLOCK_CIPHER_INIT) (\r
+(EFIAPI *EFI_BLOCK_CIPHER_INIT)(\r
OUT VOID *BlockCipherContext,\r
IN CONST UINT8 *Key,\r
IN UINTN KeyLength\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT) (\r
+(EFIAPI *EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT)(\r
IN VOID *BlockCipherContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_BLOCK_CIPHER_CBC_ENCRYPT_DECRYPT) (\r
+(EFIAPI *EFI_BLOCK_CIPHER_CBC_ENCRYPT_DECRYPT)(\r
IN VOID *BlockCipherContext,\r
IN CONST UINT8 *Input,\r
IN UINTN InputSize,\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_BLOCK_CIPHER_RESET) (\r
+(EFIAPI *EFI_BLOCK_CIPHER_RESET)(\r
IN OUT VOID *BlockCipherContext\r
);\r
\r
typedef struct {\r
- EFI_BLOCK_CIPHER_GET_CONTEXT_SIZE GetContextSize;\r
- EFI_BLOCK_CIPHER_INIT Init;\r
- EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT EcbEncrypt;\r
- EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT EcbDecrypt;\r
- EFI_BLOCK_CIPHER_CBC_ENCRYPT_DECRYPT CbcEncrypt;\r
- EFI_BLOCK_CIPHER_CBC_ENCRYPT_DECRYPT CbcDecrypt;\r
- EFI_BLOCK_CIPHER_RESET Reset;\r
- CONST UINT8 *Key;\r
- UINTN KeySize;\r
- CONST UINT8 *Ivec;\r
- CONST UINT8 *Data;\r
- UINTN DataSize;\r
- CONST UINT8 *Cipher;\r
- UINTN CipherSize;\r
- VOID *Ctx;\r
+ EFI_BLOCK_CIPHER_GET_CONTEXT_SIZE GetContextSize;\r
+ EFI_BLOCK_CIPHER_INIT Init;\r
+ EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT EcbEncrypt;\r
+ EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT EcbDecrypt;\r
+ EFI_BLOCK_CIPHER_CBC_ENCRYPT_DECRYPT CbcEncrypt;\r
+ EFI_BLOCK_CIPHER_CBC_ENCRYPT_DECRYPT CbcDecrypt;\r
+ EFI_BLOCK_CIPHER_RESET Reset;\r
+ CONST UINT8 *Key;\r
+ UINTN KeySize;\r
+ CONST UINT8 *Ivec;\r
+ CONST UINT8 *Data;\r
+ UINTN DataSize;\r
+ CONST UINT8 *Cipher;\r
+ UINTN CipherSize;\r
+ VOID *Ctx;\r
} BLOCK_CIPHER_TEST_CONTEXT;\r
\r
// These are commented out as they are deprecated, but are left in should they be used again\r
-//BLOCK_CIPHER_TEST_CONTEXT mTdesEcbTestCtx = {TdesGetContextSize, TdesInit, TdesEcbEncrypt, TdesEcbDecrypt, NULL, NULL, NULL, TdesEcbKey, 64, NULL, TdesEcbData, 8, TdesEcbCipher, 8};\r
-//BLOCK_CIPHER_TEST_CONTEXT mTdesCbcTestCtx = {TdesGetContextSize, TdesInit, NULL, NULL, TdesCbcEncrypt, TdesCbcDecrypt, NULL, TdesCbcKey, 192, TdesCbcIvec, TdesCbcData, sizeof(TdesCbcData), TdesCbc3Cipher, sizeof(TdesCbc3Cipher)};\r
-//BLOCK_CIPHER_TEST_CONTEXT mAes128EcbTestCtx = {AesGetContextSize, AesInit, AesEcbEncrypt, AesEcbDecrypt, NULL, NULL, NULL, Aes128EcbKey, 128, NULL, Aes128EcbData, sizeof(Aes128EcbData), Aes128EcbCipher, sizeof(Aes128EcbCipher)};\r
-//BLOCK_CIPHER_TEST_CONTEXT mAes192EcbTestCtx = {AesGetContextSize, AesInit, AesEcbEncrypt, AesEcbDecrypt, NULL, NULL, NULL, Aes192EcbKey, 192, NULL, Aes192EcbData, sizeof(Aes192EcbData), Aes192EcbCipher, sizeof(Aes192EcbCipher)};\r
-//BLOCK_CIPHER_TEST_CONTEXT mAes256EcbTestCtx = {AesGetContextSize, AesInit, AesEcbEncrypt, AesEcbDecrypt, NULL, NULL, NULL, Aes256EcbKey, 256, NULL, Aes256EcbData, sizeof(Aes256EcbData), Aes256EcbCipher, sizeof(Aes256EcbCipher)};\r
-//BLOCK_CIPHER_TEST_CONTEXT mArc4TestCtx = {Arc4GetContextSize, Arc4Init, Arc4Encrypt, (EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT), Arc4Decrypt, NULL, NULL, Arc4Reset, Arc4Key, sizeof(Arc4Key), NULL, Arc4Data, sizeof(Arc4Data), Arc4Cipher, sizeof(Arc4Cipher)};\r
-BLOCK_CIPHER_TEST_CONTEXT mAes128CbcTestCtx = {AesGetContextSize, AesInit, NULL, NULL, AesCbcEncrypt, AesCbcDecrypt, NULL, Aes128CbcKey, 128, Aes128CbcIvec, Aes128CbcData, sizeof(Aes128CbcData), Aes128CbcCipher, sizeof(Aes128CbcCipher)};\r
-\r
+// BLOCK_CIPHER_TEST_CONTEXT mTdesEcbTestCtx = {TdesGetContextSize, TdesInit, TdesEcbEncrypt, TdesEcbDecrypt, NULL, NULL, NULL, TdesEcbKey, 64, NULL, TdesEcbData, 8, TdesEcbCipher, 8};\r
+// BLOCK_CIPHER_TEST_CONTEXT mTdesCbcTestCtx = {TdesGetContextSize, TdesInit, NULL, NULL, TdesCbcEncrypt, TdesCbcDecrypt, NULL, TdesCbcKey, 192, TdesCbcIvec, TdesCbcData, sizeof(TdesCbcData), TdesCbc3Cipher, sizeof(TdesCbc3Cipher)};\r
+// BLOCK_CIPHER_TEST_CONTEXT mAes128EcbTestCtx = {AesGetContextSize, AesInit, AesEcbEncrypt, AesEcbDecrypt, NULL, NULL, NULL, Aes128EcbKey, 128, NULL, Aes128EcbData, sizeof(Aes128EcbData), Aes128EcbCipher, sizeof(Aes128EcbCipher)};\r
+// BLOCK_CIPHER_TEST_CONTEXT mAes192EcbTestCtx = {AesGetContextSize, AesInit, AesEcbEncrypt, AesEcbDecrypt, NULL, NULL, NULL, Aes192EcbKey, 192, NULL, Aes192EcbData, sizeof(Aes192EcbData), Aes192EcbCipher, sizeof(Aes192EcbCipher)};\r
+// BLOCK_CIPHER_TEST_CONTEXT mAes256EcbTestCtx = {AesGetContextSize, AesInit, AesEcbEncrypt, AesEcbDecrypt, NULL, NULL, NULL, Aes256EcbKey, 256, NULL, Aes256EcbData, sizeof(Aes256EcbData), Aes256EcbCipher, sizeof(Aes256EcbCipher)};\r
+// BLOCK_CIPHER_TEST_CONTEXT mArc4TestCtx = {Arc4GetContextSize, Arc4Init, Arc4Encrypt, (EFI_BLOCK_CIPHER_ECB_ENCRYPT_DECRYPT), Arc4Decrypt, NULL, NULL, Arc4Reset, Arc4Key, sizeof(Arc4Key), NULL, Arc4Data, sizeof(Arc4Data), Arc4Cipher, sizeof(Arc4Cipher)};\r
+BLOCK_CIPHER_TEST_CONTEXT mAes128CbcTestCtx = { AesGetContextSize, AesInit, NULL, NULL, AesCbcEncrypt, AesCbcDecrypt, NULL, Aes128CbcKey, 128, Aes128CbcIvec, Aes128CbcData, sizeof (Aes128CbcData), Aes128CbcCipher, sizeof (Aes128CbcCipher) };\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyBLockCiperPreReq (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- BLOCK_CIPHER_TEST_CONTEXT *TestContext;\r
- UINTN CtxSize;\r
+ BLOCK_CIPHER_TEST_CONTEXT *TestContext;\r
+ UINTN CtxSize;\r
\r
- TestContext = Context;\r
- CtxSize = TestContext->GetContextSize ();\r
+ TestContext = Context;\r
+ CtxSize = TestContext->GetContextSize ();\r
TestContext->Ctx = AllocatePool (CtxSize);\r
if (TestContext->Ctx == NULL) {\r
return UNIT_TEST_ERROR_TEST_FAILED;\r
VOID\r
EFIAPI\r
TestVerifyBLockCiperCleanUp (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- BLOCK_CIPHER_TEST_CONTEXT *TestContext;\r
+ BLOCK_CIPHER_TEST_CONTEXT *TestContext;\r
\r
TestContext = Context;\r
if (TestContext->Ctx != NULL) {\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyBLockCiper (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- UINT8 Encrypt[256];\r
- UINT8 Decrypt[256];\r
- BOOLEAN Status;\r
- BLOCK_CIPHER_TEST_CONTEXT *TestContext;\r
+ UINT8 Encrypt[256];\r
+ UINT8 Decrypt[256];\r
+ BOOLEAN Status;\r
+ BLOCK_CIPHER_TEST_CONTEXT *TestContext;\r
\r
TestContext = Context;\r
\r
\r
Status = TestContext->EcbDecrypt (TestContext->Ctx, Encrypt, TestContext->DataSize, Decrypt);\r
UT_ASSERT_TRUE (Status);\r
-\r
} else {\r
Status = TestContext->CbcEncrypt (TestContext->Ctx, TestContext->Data, TestContext->DataSize, TestContext->Ivec, Encrypt);\r
UT_ASSERT_TRUE (Status);\r
}\r
\r
UT_ASSERT_MEM_EQUAL (Encrypt, TestContext->Cipher, TestContext->CipherSize);\r
- UT_ASSERT_MEM_EQUAL (Decrypt, TestContext->Data, TestContext->DataSize);\r
+ UT_ASSERT_MEM_EQUAL (Decrypt, TestContext->Data, TestContext->DataSize);\r
\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mBlockCipherTest[] = {\r
- //\r
- // -----Description-------------------------Class-------------------------Function---------------Pre---------------------------Post------------------Context\r
- //\r
- {"TestVerifyAes128Cbc()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes128CbcTestCtx},\r
- // These are commented out as these functions have been deprecated, but they have been left in for future reference\r
- //{"TestVerifyTdesEcb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mTdesEcbTestCtx},\r
- //{"TestVerifyTdesCbc()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mTdesCbcTestCtx},\r
- //{"TestVerifyAes128Ecb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes128EcbTestCtx},\r
- //{"TestVerifyAes192Ecb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes192EcbTestCtx},\r
- //{"TestVerifyAes256Ecb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes256EcbTestCtx},\r
- //{"TestVerifyArc4()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mArc4TestCtx},\r
+TEST_DESC mBlockCipherTest[] = {\r
+ //\r
+ // -----Description-------------------------Class-------------------------Function---------------Pre---------------------------Post------------------Context\r
+ //\r
+ { "TestVerifyAes128Cbc()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes128CbcTestCtx },\r
+ // These are commented out as these functions have been deprecated, but they have been left in for future reference\r
+ // {"TestVerifyTdesEcb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mTdesEcbTestCtx},\r
+ // {"TestVerifyTdesCbc()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mTdesCbcTestCtx},\r
+ // {"TestVerifyAes128Ecb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes128EcbTestCtx},\r
+ // {"TestVerifyAes192Ecb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes192EcbTestCtx},\r
+ // {"TestVerifyAes256Ecb()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mAes256EcbTestCtx},\r
+ // {"TestVerifyArc4()", "CryptoPkg.BaseCryptLib.BlockCipher", TestVerifyBLockCiper, TestVerifyBLockCiperPreReq, TestVerifyBLockCiperCleanUp, &mArc4TestCtx},\r
};\r
\r
-UINTN mBlockCipherTestNum = ARRAY_SIZE(mBlockCipherTest);\r
+UINTN mBlockCipherTestNum = ARRAY_SIZE (mBlockCipherTest);\r
\r
#include "TestBaseCryptLib.h"\r
\r
-VOID *mDh1;\r
-VOID *mDh2;\r
+VOID *mDh1;\r
+VOID *mDh2;\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyDhPreReq (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
mDh1 = DhNew ();\r
VOID\r
EFIAPI\r
TestVerifyDhCleanUp (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
if (mDh1 != NULL) {\r
DhFree (mDh1);\r
mDh1 = NULL;\r
}\r
+\r
if (mDh2 != NULL) {\r
DhFree (mDh2);\r
mDh2 = NULL;\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyDhGenerateKey (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- UINT8 Prime[64];\r
- UINT8 PublicKey1[64];\r
- UINTN PublicKey1Length;\r
- UINT8 PublicKey2[64];\r
- UINTN PublicKey2Length;\r
- UINT8 Key1[64];\r
- UINTN Key1Length;\r
- UINT8 Key2[64];\r
- UINTN Key2Length;\r
- BOOLEAN Status;\r
+ UINT8 Prime[64];\r
+ UINT8 PublicKey1[64];\r
+ UINTN PublicKey1Length;\r
+ UINT8 PublicKey2[64];\r
+ UINTN PublicKey2Length;\r
+ UINT8 Key1[64];\r
+ UINTN Key1Length;\r
+ UINT8 Key2[64];\r
+ UINTN Key2Length;\r
+ BOOLEAN Status;\r
\r
//\r
// Initialize Key Length\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mDhTest[] = {\r
- //\r
- // -----Description--------------------------------Class---------------------Function----------------Pre-----------------Post------------Context\r
- //\r
- {"TestVerifyDhGenerateKey()", "CryptoPkg.BaseCryptLib.Dh", TestVerifyDhGenerateKey, TestVerifyDhPreReq, TestVerifyDhCleanUp, NULL},\r
+TEST_DESC mDhTest[] = {\r
+ //\r
+ // -----Description--------------------------------Class---------------------Function----------------Pre-----------------Post------------Context\r
+ //\r
+ { "TestVerifyDhGenerateKey()", "CryptoPkg.BaseCryptLib.Dh", TestVerifyDhGenerateKey, TestVerifyDhPreReq, TestVerifyDhCleanUp, NULL },\r
};\r
\r
-UINTN mDhTestNum = ARRAY_SIZE(mDhTest);\r
+UINTN mDhTestNum = ARRAY_SIZE (mDhTest);\r
//\r
// Max Known Digest Size is SHA512 Output (64 bytes) by far\r
//\r
-#define MAX_DIGEST_SIZE 64\r
+#define MAX_DIGEST_SIZE 64\r
\r
//\r
// Message string for digest validation\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *HashData = "abc";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *HashData = "abc";\r
\r
//\r
// Result for MD5("abc"). (From "A.5 Test suite" of IETF RFC1321)\r
//\r
#ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Md5Digest[MD5_DIGEST_SIZE] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Md5Digest[MD5_DIGEST_SIZE] = {\r
0x90, 0x01, 0x50, 0x98, 0x3c, 0xd2, 0x4f, 0xb0, 0xd6, 0x96, 0x3f, 0x7d, 0x28, 0xe1, 0x7f, 0x72\r
- };\r
+};\r
#endif\r
\r
//\r
// Result for SHA-1("abc"). (From "A.1 SHA-1 Example" of NIST FIPS 180-2)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha1Digest[SHA1_DIGEST_SIZE] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha1Digest[SHA1_DIGEST_SIZE] = {\r
0xa9, 0x99, 0x3e, 0x36, 0x47, 0x06, 0x81, 0x6a, 0xba, 0x3e, 0x25, 0x71, 0x78, 0x50, 0xc2, 0x6c,\r
0x9c, 0xd0, 0xd8, 0x9d\r
- };\r
+};\r
\r
//\r
// Result for SHA-256("abc"). (From "B.1 SHA-256 Example" of NIST FIPS 180-2)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha256Digest[SHA256_DIGEST_SIZE] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha256Digest[SHA256_DIGEST_SIZE] = {\r
0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d, 0xae, 0x22, 0x23,\r
0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10, 0xff, 0x61, 0xf2, 0x00, 0x15, 0xad\r
- };\r
+};\r
\r
//\r
// Result for SHA-384("abc"). (From "D.1 SHA-384 Example" of NIST FIPS 180-2)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha384Digest[SHA384_DIGEST_SIZE] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha384Digest[SHA384_DIGEST_SIZE] = {\r
0xcb, 0x00, 0x75, 0x3f, 0x45, 0xa3, 0x5e, 0x8b, 0xb5, 0xa0, 0x3d, 0x69, 0x9a, 0xc6, 0x50, 0x07,\r
0x27, 0x2c, 0x32, 0xab, 0x0e, 0xde, 0xd1, 0x63, 0x1a, 0x8b, 0x60, 0x5a, 0x43, 0xff, 0x5b, 0xed,\r
0x80, 0x86, 0x07, 0x2b, 0xa1, 0xe7, 0xcc, 0x23, 0x58, 0xba, 0xec, 0xa1, 0x34, 0xc8, 0x25, 0xa7\r
- };\r
+};\r
\r
//\r
// Result for SHA-512("abc"). (From "C.1 SHA-512 Example" of NIST FIPS 180-2)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha512Digest[SHA512_DIGEST_SIZE] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 Sha512Digest[SHA512_DIGEST_SIZE] = {\r
0xdd, 0xaf, 0x35, 0xa1, 0x93, 0x61, 0x7a, 0xba, 0xcc, 0x41, 0x73, 0x49, 0xae, 0x20, 0x41, 0x31,\r
0x12, 0xe6, 0xfa, 0x4e, 0x89, 0xa9, 0x7e, 0xa2, 0x0a, 0x9e, 0xee, 0xe6, 0x4b, 0x55, 0xd3, 0x9a,\r
0x21, 0x92, 0x99, 0x2a, 0x27, 0x4f, 0xc1, 0xa8, 0x36, 0xba, 0x3c, 0x23, 0xa3, 0xfe, 0xeb, 0xbd,\r
0x45, 0x4d, 0x44, 0x23, 0x64, 0x3c, 0xe8, 0x0e, 0x2a, 0x9a, 0xc9, 0x4f, 0xa5, 0x4c, 0xa4, 0x9f\r
- };\r
+};\r
\r
typedef\r
UINTN\r
-(EFIAPI *EFI_HASH_GET_CONTEXT_SIZE) (\r
+(EFIAPI *EFI_HASH_GET_CONTEXT_SIZE)(\r
VOID\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HASH_INIT) (\r
+(EFIAPI *EFI_HASH_INIT)(\r
OUT VOID *HashContext\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HASH_UPDATE) (\r
+(EFIAPI *EFI_HASH_UPDATE)(\r
IN OUT VOID *HashContext,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HASH_FINAL) (\r
+(EFIAPI *EFI_HASH_FINAL)(\r
IN OUT VOID *HashContext,\r
OUT UINT8 *HashValue\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HASH_ALL) (\r
+(EFIAPI *EFI_HASH_ALL)(\r
IN CONST VOID *Data,\r
IN UINTN DataSize,\r
OUT UINT8 *HashValue\r
);\r
\r
typedef struct {\r
- UINT32 DigestSize;\r
- EFI_HASH_GET_CONTEXT_SIZE GetContextSize;\r
- EFI_HASH_INIT HashInit;\r
- EFI_HASH_UPDATE HashUpdate;\r
- EFI_HASH_FINAL HashFinal;\r
- EFI_HASH_ALL HashAll;\r
- CONST UINT8 *Digest;\r
- VOID *HashCtx;\r
+ UINT32 DigestSize;\r
+ EFI_HASH_GET_CONTEXT_SIZE GetContextSize;\r
+ EFI_HASH_INIT HashInit;\r
+ EFI_HASH_UPDATE HashUpdate;\r
+ EFI_HASH_FINAL HashFinal;\r
+ EFI_HASH_ALL HashAll;\r
+ CONST UINT8 *Digest;\r
+ VOID *HashCtx;\r
} HASH_TEST_CONTEXT;\r
\r
#ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
-HASH_TEST_CONTEXT mMd5TestCtx = {MD5_DIGEST_SIZE, Md5GetContextSize, Md5Init, Md5Update, Md5Final, Md5HashAll, Md5Digest};\r
+HASH_TEST_CONTEXT mMd5TestCtx = { MD5_DIGEST_SIZE, Md5GetContextSize, Md5Init, Md5Update, Md5Final, Md5HashAll, Md5Digest };\r
#endif\r
-HASH_TEST_CONTEXT mSha1TestCtx = {SHA1_DIGEST_SIZE, Sha1GetContextSize, Sha1Init, Sha1Update, Sha1Final, Sha1HashAll, Sha1Digest};\r
-HASH_TEST_CONTEXT mSha256TestCtx = {SHA256_DIGEST_SIZE, Sha256GetContextSize, Sha256Init, Sha256Update, Sha256Final, Sha256HashAll, Sha256Digest};\r
-HASH_TEST_CONTEXT mSha384TestCtx = {SHA384_DIGEST_SIZE, Sha384GetContextSize, Sha384Init, Sha384Update, Sha384Final, Sha384HashAll, Sha384Digest};\r
-HASH_TEST_CONTEXT mSha512TestCtx = {SHA512_DIGEST_SIZE, Sha512GetContextSize, Sha512Init, Sha512Update, Sha512Final, Sha512HashAll, Sha512Digest};\r
+HASH_TEST_CONTEXT mSha1TestCtx = { SHA1_DIGEST_SIZE, Sha1GetContextSize, Sha1Init, Sha1Update, Sha1Final, Sha1HashAll, Sha1Digest };\r
+HASH_TEST_CONTEXT mSha256TestCtx = { SHA256_DIGEST_SIZE, Sha256GetContextSize, Sha256Init, Sha256Update, Sha256Final, Sha256HashAll, Sha256Digest };\r
+HASH_TEST_CONTEXT mSha384TestCtx = { SHA384_DIGEST_SIZE, Sha384GetContextSize, Sha384Init, Sha384Update, Sha384Final, Sha384HashAll, Sha384Digest };\r
+HASH_TEST_CONTEXT mSha512TestCtx = { SHA512_DIGEST_SIZE, Sha512GetContextSize, Sha512Init, Sha512Update, Sha512Final, Sha512HashAll, Sha512Digest };\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyHashPreReq (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- HASH_TEST_CONTEXT *HashTestContext;\r
- UINTN CtxSize;\r
+ HASH_TEST_CONTEXT *HashTestContext;\r
+ UINTN CtxSize;\r
\r
- HashTestContext = Context;\r
- CtxSize = HashTestContext->GetContextSize ();\r
+ HashTestContext = Context;\r
+ CtxSize = HashTestContext->GetContextSize ();\r
HashTestContext->HashCtx = AllocatePool (CtxSize);\r
if (HashTestContext->HashCtx == NULL) {\r
return UNIT_TEST_ERROR_TEST_FAILED;\r
VOID\r
EFIAPI\r
TestVerifyHashCleanUp (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- HASH_TEST_CONTEXT *HashTestContext;\r
+ HASH_TEST_CONTEXT *HashTestContext;\r
\r
HashTestContext = Context;\r
if (HashTestContext->HashCtx != NULL) {\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyHash (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- UINTN DataSize;\r
- UINT8 Digest[MAX_DIGEST_SIZE];\r
- BOOLEAN Status;\r
- HASH_TEST_CONTEXT *HashTestContext;\r
+ UINTN DataSize;\r
+ UINT8 Digest[MAX_DIGEST_SIZE];\r
+ BOOLEAN Status;\r
+ HASH_TEST_CONTEXT *HashTestContext;\r
\r
HashTestContext = Context;\r
\r
\r
ZeroMem (Digest, MAX_DIGEST_SIZE);\r
\r
- Status = HashTestContext->HashInit (HashTestContext->HashCtx);\r
+ Status = HashTestContext->HashInit (HashTestContext->HashCtx);\r
UT_ASSERT_TRUE (Status);\r
\r
- Status = HashTestContext->HashUpdate (HashTestContext->HashCtx, HashData, DataSize);\r
+ Status = HashTestContext->HashUpdate (HashTestContext->HashCtx, HashData, DataSize);\r
UT_ASSERT_TRUE (Status);\r
\r
- Status = HashTestContext->HashFinal (HashTestContext->HashCtx, Digest);\r
+ Status = HashTestContext->HashFinal (HashTestContext->HashCtx, Digest);\r
UT_ASSERT_TRUE (Status);\r
\r
UT_ASSERT_MEM_EQUAL (Digest, HashTestContext->Digest, HashTestContext->DigestSize);\r
\r
ZeroMem (Digest, MAX_DIGEST_SIZE);\r
- Status = HashTestContext->HashAll (HashData, DataSize, Digest);\r
+ Status = HashTestContext->HashAll (HashData, DataSize, Digest);\r
UT_ASSERT_TRUE (Status);\r
\r
UT_ASSERT_MEM_EQUAL (Digest, HashTestContext->Digest, HashTestContext->DigestSize);\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mHashTest[] = {\r
- //\r
- // -----Description----------------Class---------------------Function---------------Pre------------------Post------------Context\r
- //\r
-#ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
- {"TestVerifyMd5()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mMd5TestCtx},\r
-#endif\r
- {"TestVerifySha1()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha1TestCtx},\r
- {"TestVerifySha256()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha256TestCtx},\r
- {"TestVerifySha384()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha384TestCtx},\r
- {"TestVerifySha512()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha512TestCtx},\r
+TEST_DESC mHashTest[] = {\r
+ //\r
+ // -----Description----------------Class---------------------Function---------------Pre------------------Post------------Context\r
+ //\r
+ #ifdef ENABLE_MD5_DEPRECATED_INTERFACES\r
+ { "TestVerifyMd5()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mMd5TestCtx },\r
+ #endif\r
+ { "TestVerifySha1()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha1TestCtx },\r
+ { "TestVerifySha256()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha256TestCtx },\r
+ { "TestVerifySha384()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha384TestCtx },\r
+ { "TestVerifySha512()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash, TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha512TestCtx },\r
};\r
\r
-UINTN mHashTestNum = ARRAY_SIZE(mHashTest);\r
+UINTN mHashTestNum = ARRAY_SIZE (mHashTest);\r
//\r
// Max Known Digest Size is SHA512 Output (64 bytes) by far\r
//\r
-#define MAX_DIGEST_SIZE 64\r
+#define MAX_DIGEST_SIZE 64\r
\r
//\r
// Data string for HMAC validation\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *HmacData = "Hi There";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *HmacData = "Hi There";\r
\r
//\r
// Key value for HMAC-MD5 validation. (From "2. Test Cases for HMAC-MD5" of IETF RFC2202)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacMd5Key[16] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacMd5Key[16] = {\r
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b\r
- };\r
+};\r
\r
//\r
// Result for HMAC-MD5("Hi There"). (From "2. Test Cases for HMAC-MD5" of IETF RFC2202)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacMd5Digest[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacMd5Digest[] = {\r
0x92, 0x94, 0x72, 0x7a, 0x36, 0x38, 0xbb, 0x1c, 0x13, 0xf4, 0x8e, 0xf8, 0x15, 0x8b, 0xfc, 0x9d\r
- };\r
+};\r
\r
//\r
// Key value for HMAC-SHA-1 validation. (From "3. Test Cases for HMAC-SHA-1" of IETF RFC2202)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha1Key[20] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha1Key[20] = {\r
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,\r
0x0b, 0x0b, 0x0b, 0x0b\r
- };\r
+};\r
\r
//\r
// Result for HMAC-SHA-1 ("Hi There"). (From "3. Test Cases for HMAC-SHA-1" of IETF RFC2202)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha1Digest[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha1Digest[] = {\r
0xb6, 0x17, 0x31, 0x86, 0x55, 0x05, 0x72, 0x64, 0xe2, 0x8b, 0xc0, 0xb6, 0xfb, 0x37, 0x8c, 0x8e,\r
0xf1, 0x46, 0xbe, 0x00\r
- };\r
+};\r
\r
//\r
// Key value for HMAC-SHA-256 validation. (From "4. Test Vectors" of IETF RFC4231)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha256Key[20] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha256Key[20] = {\r
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,\r
0x0b, 0x0b, 0x0b, 0x0b\r
- };\r
+};\r
\r
//\r
// Result for HMAC-SHA-256 ("Hi There"). (From "4. Test Vectors" of IETF RFC4231)\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha256Digest[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 HmacSha256Digest[] = {\r
0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0x0b, 0xf1, 0x2b,\r
0x88, 0x1d, 0xc2, 0x00, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9, 0x37, 0x6c, 0x2e, 0x32, 0xcf, 0xf7\r
- };\r
+};\r
\r
typedef\r
-VOID*\r
-(EFIAPI *EFI_HMAC_NEW) (\r
+VOID *\r
+(EFIAPI *EFI_HMAC_NEW)(\r
VOID\r
);\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HMAC_INIT) (\r
+(EFIAPI *EFI_HMAC_INIT)(\r
IN OUT VOID *HashContext,\r
IN CONST UINT8 *Key,\r
IN UINTN KeySize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HMAC_UPDATE) (\r
+(EFIAPI *EFI_HMAC_UPDATE)(\r
IN OUT VOID *HashContext,\r
IN CONST VOID *Data,\r
IN UINTN DataSize\r
\r
typedef\r
BOOLEAN\r
-(EFIAPI *EFI_HMAC_FINAL) (\r
+(EFIAPI *EFI_HMAC_FINAL)(\r
IN OUT VOID *HashContext,\r
OUT UINT8 *HashValue\r
);\r
\r
typedef struct {\r
- UINT32 DigestSize;\r
- EFI_HMAC_NEW HmacNew;\r
- EFI_HMAC_INIT HmacInit;\r
- EFI_HMAC_UPDATE HmacUpdate;\r
- EFI_HMAC_FINAL HmacFinal;\r
- CONST UINT8 *Key;\r
- UINTN KeySize;\r
- CONST UINT8 *Digest;\r
- VOID *HmacCtx;\r
+ UINT32 DigestSize;\r
+ EFI_HMAC_NEW HmacNew;\r
+ EFI_HMAC_INIT HmacInit;\r
+ EFI_HMAC_UPDATE HmacUpdate;\r
+ EFI_HMAC_FINAL HmacFinal;\r
+ CONST UINT8 *Key;\r
+ UINTN KeySize;\r
+ CONST UINT8 *Digest;\r
+ VOID *HmacCtx;\r
} HMAC_TEST_CONTEXT;\r
\r
// These functions have been deprecated but they've been left commented out for future reference\r
-//HMAC_TEST_CONTEXT mHmacMd5TestCtx = {MD5_DIGEST_SIZE, HmacMd5New, HmacMd5SetKey, HmacMd5Update, HmacMd5Final, HmacMd5Key, sizeof(HmacMd5Key), HmacMd5Digest};\r
-//HMAC_TEST_CONTEXT mHmacSha1TestCtx = {SHA1_DIGEST_SIZE, HmacSha1New, HmacSha1SetKey, HmacSha1Update, HmacSha1Final, HmacSha1Key, sizeof(HmacSha1Key), HmacSha1Digest};\r
-HMAC_TEST_CONTEXT mHmacSha256TestCtx = {SHA256_DIGEST_SIZE, HmacSha256New, HmacSha256SetKey, HmacSha256Update, HmacSha256Final, HmacSha256Key, sizeof(HmacSha256Key), HmacSha256Digest};\r
-\r
+// HMAC_TEST_CONTEXT mHmacMd5TestCtx = {MD5_DIGEST_SIZE, HmacMd5New, HmacMd5SetKey, HmacMd5Update, HmacMd5Final, HmacMd5Key, sizeof(HmacMd5Key), HmacMd5Digest};\r
+// HMAC_TEST_CONTEXT mHmacSha1TestCtx = {SHA1_DIGEST_SIZE, HmacSha1New, HmacSha1SetKey, HmacSha1Update, HmacSha1Final, HmacSha1Key, sizeof(HmacSha1Key), HmacSha1Digest};\r
+HMAC_TEST_CONTEXT mHmacSha256TestCtx = { SHA256_DIGEST_SIZE, HmacSha256New, HmacSha256SetKey, HmacSha256Update, HmacSha256Final, HmacSha256Key, sizeof (HmacSha256Key), HmacSha256Digest };\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyHmacPreReq (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- HMAC_TEST_CONTEXT *HmacTestContext;\r
+ HMAC_TEST_CONTEXT *HmacTestContext;\r
\r
- HmacTestContext = Context;\r
- HmacTestContext->HmacCtx = HmacTestContext->HmacNew();\r
+ HmacTestContext = Context;\r
+ HmacTestContext->HmacCtx = HmacTestContext->HmacNew ();\r
if (HmacTestContext->HmacCtx == NULL) {\r
return UNIT_TEST_ERROR_TEST_FAILED;\r
}\r
VOID\r
EFIAPI\r
TestVerifyHmacCleanUp (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
- HMAC_TEST_CONTEXT *HmacTestContext;\r
+ HMAC_TEST_CONTEXT *HmacTestContext;\r
\r
HmacTestContext = Context;\r
if (HmacTestContext->HmacCtx != NULL) {\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyHmac (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- UINT8 Digest[MAX_DIGEST_SIZE];\r
- BOOLEAN Status;\r
- HMAC_TEST_CONTEXT *HmacTestContext;\r
+ UINT8 Digest[MAX_DIGEST_SIZE];\r
+ BOOLEAN Status;\r
+ HMAC_TEST_CONTEXT *HmacTestContext;\r
\r
HmacTestContext = Context;\r
\r
ZeroMem (Digest, MAX_DIGEST_SIZE);\r
\r
- Status = HmacTestContext->HmacInit (HmacTestContext->HmacCtx, HmacTestContext->Key, HmacTestContext->KeySize);\r
+ Status = HmacTestContext->HmacInit (HmacTestContext->HmacCtx, HmacTestContext->Key, HmacTestContext->KeySize);\r
UT_ASSERT_TRUE (Status);\r
\r
- Status = HmacTestContext->HmacUpdate (HmacTestContext->HmacCtx, HmacData, 8);\r
+ Status = HmacTestContext->HmacUpdate (HmacTestContext->HmacCtx, HmacData, 8);\r
UT_ASSERT_TRUE (Status);\r
\r
- Status = HmacTestContext->HmacFinal (HmacTestContext->HmacCtx, Digest);\r
+ Status = HmacTestContext->HmacFinal (HmacTestContext->HmacCtx, Digest);\r
UT_ASSERT_TRUE (Status);\r
\r
UT_ASSERT_MEM_EQUAL (Digest, HmacTestContext->Digest, HmacTestContext->DigestSize);\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mHmacTest[] = {\r
- //\r
- // -----Description---------------------Class---------------------Function---------------Pre------------------Post------------Context\r
- //\r
- {"TestVerifyHmacSha256()", "CryptoPkg.BaseCryptLib.Hmac", TestVerifyHmac, TestVerifyHmacPreReq, TestVerifyHmacCleanUp, &mHmacSha256TestCtx},\r
- // These functions have been deprecated but they've been left commented out for future reference\r
- //{"TestVerifyHmacMd5()", "CryptoPkg.BaseCryptLib.Hmac", TestVerifyHmac, TestVerifyHmacPreReq, TestVerifyHmacCleanUp, &mHmacMd5TestCtx},\r
- //{"TestVerifyHmacSha1()", "CryptoPkg.BaseCryptLib.Hmac", TestVerifyHmac, TestVerifyHmacPreReq, TestVerifyHmacCleanUp, &mHmacSha1TestCtx},\r
-\r
+TEST_DESC mHmacTest[] = {\r
+ //\r
+ // -----Description---------------------Class---------------------Function---------------Pre------------------Post------------Context\r
+ //\r
+ { "TestVerifyHmacSha256()", "CryptoPkg.BaseCryptLib.Hmac", TestVerifyHmac, TestVerifyHmacPreReq, TestVerifyHmacCleanUp, &mHmacSha256TestCtx },\r
+ // These functions have been deprecated but they've been left commented out for future reference\r
+ // {"TestVerifyHmacMd5()", "CryptoPkg.BaseCryptLib.Hmac", TestVerifyHmac, TestVerifyHmacPreReq, TestVerifyHmacCleanUp, &mHmacMd5TestCtx},\r
+ // {"TestVerifyHmacSha1()", "CryptoPkg.BaseCryptLib.Hmac", TestVerifyHmac, TestVerifyHmacPreReq, TestVerifyHmacCleanUp, &mHmacSha1TestCtx},\r
};\r
\r
-UINTN mHmacTestNum = ARRAY_SIZE(mHmacTest);\r
+UINTN mHmacTestNum = ARRAY_SIZE (mHmacTest);\r
// CN = ca.self\r
// O = Intel\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 SelfTestCert[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 SelfTestCert[] = {\r
0x30, 0x82, 0x03, 0x90, 0x30, 0x82, 0x02, 0x78, 0x02, 0x09, 0x00, 0xE4, 0xDF, 0x47, 0x80, 0xEF,\r
0x4B, 0x3C, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B,\r
0x05, 0x00, 0x30, 0x81, 0x89, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,\r
0xF2, 0x6C, 0xCC, 0x57, 0x36, 0x20, 0x06, 0xE6, 0xA7, 0x24, 0x22, 0xB0, 0xB1, 0xC4, 0xBC, 0x2C,\r
0x5C, 0xCE, 0x92, 0x11, 0xFF, 0x6F, 0x8C, 0x14, 0x7E, 0xC4, 0x10, 0x02, 0xF6, 0x69, 0x86, 0x6D,\r
0x5B, 0x64, 0x81, 0x13,\r
- };\r
+};\r
\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 PrivateKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 PrivateKey[] = {\r
0x30, 0x82, 0x04, 0xA4, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01, 0x01, 0x00, 0xBC, 0xE4, 0x67, 0xDC,\r
0xC7, 0xEA, 0x6F, 0x8A, 0xA7, 0xCC, 0xB2, 0x54, 0x47, 0x48, 0x6A, 0xE2, 0x39, 0xFF, 0xC2, 0x48,\r
0x58, 0x34, 0x07, 0x03, 0x6D, 0x39, 0xB3, 0x67, 0x46, 0x4C, 0xBC, 0xA0, 0xFA, 0x4E, 0x64, 0x23,\r
0x6E, 0x35, 0x24, 0xA6, 0xDA, 0x42, 0x63, 0xC6, 0xBF, 0xCA, 0xE8, 0x32, 0xFD, 0x61, 0xC0, 0x80,\r
0x39, 0xD2, 0xB7, 0x0D, 0xF3, 0xA2, 0xF3, 0xE4, 0x49, 0x26, 0x89, 0xD0, 0xA0, 0x24, 0xC8, 0x27,\r
0x86, 0x10, 0x09, 0x88, 0x6C, 0x35, 0x60, 0xF2,\r
- };\r
+};\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyOaepEncrypt (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- BOOLEAN Status;\r
- UINT8 File[4];\r
- UINT8 *OutBuffer;\r
- UINTN OutBufferSize;\r
- UINT8 *OutBuffer2;\r
- UINTN OutBuffer2Size;\r
+ BOOLEAN Status;\r
+ UINT8 File[4];\r
+ UINT8 *OutBuffer;\r
+ UINTN OutBufferSize;\r
+ UINT8 *OutBuffer2;\r
+ UINTN OutBuffer2Size;\r
\r
// Create a file and add content '123' in it\r
File[0] = '1';\r
File[2] = '3';\r
File[3] = 0;\r
\r
- OutBuffer = NULL;\r
- OutBufferSize = 0;\r
- OutBuffer2 = NULL;\r
+ OutBuffer = NULL;\r
+ OutBufferSize = 0;\r
+ OutBuffer2 = NULL;\r
OutBuffer2Size = 0;\r
\r
Status = Pkcs1v2Encrypt (\r
- SelfTestCert,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)sizeof (File),\r
- NULL,\r
- 0,\r
- &OutBuffer,\r
- (UINTN *)&OutBufferSize\r
- );\r
+ SelfTestCert,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)sizeof (File),\r
+ NULL,\r
+ 0,\r
+ &OutBuffer,\r
+ (UINTN *)&OutBufferSize\r
+ );\r
UT_ASSERT_TRUE (Status);\r
\r
Status = Pkcs1v2Encrypt (\r
- SelfTestCert,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)4,\r
- NULL,\r
- 0,\r
- &OutBuffer2,\r
- (UINTN *)&OutBuffer2Size\r
- );\r
+ SelfTestCert,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)4,\r
+ NULL,\r
+ 0,\r
+ &OutBuffer2,\r
+ (UINTN *)&OutBuffer2Size\r
+ );\r
UT_ASSERT_TRUE (Status);\r
\r
// TRUE - the two OutBuffers are indentical. That means the Oaep encrypt result is incorrect.\r
\r
if (OutBuffer) {\r
FreePool (OutBuffer);\r
- OutBuffer = NULL;\r
+ OutBuffer = NULL;\r
OutBufferSize = 0;\r
}\r
\r
if (OutBuffer2) {\r
FreePool (OutBuffer2);\r
- OutBuffer2 = NULL;\r
+ OutBuffer2 = NULL;\r
OutBuffer2Size = 0;\r
}\r
\r
Status = Pkcs1v2Encrypt (\r
- SelfTestCert,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)4,\r
- RandSeed,\r
- (UINTN)sizeof (RandSeed),\r
- &OutBuffer,\r
- (UINTN *)&OutBufferSize\r
- );\r
+ SelfTestCert,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)4,\r
+ RandSeed,\r
+ (UINTN)sizeof (RandSeed),\r
+ &OutBuffer,\r
+ (UINTN *)&OutBufferSize\r
+ );\r
UT_ASSERT_TRUE (Status);\r
\r
Status = Pkcs1v2Encrypt (\r
- SelfTestCert,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)4,\r
- RandSeed,\r
- (UINTN)sizeof (RandSeed),\r
- &OutBuffer2,\r
- (UINTN *)&OutBuffer2Size\r
- );\r
+ SelfTestCert,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)4,\r
+ RandSeed,\r
+ (UINTN)sizeof (RandSeed),\r
+ &OutBuffer2,\r
+ (UINTN *)&OutBuffer2Size\r
+ );\r
UT_ASSERT_TRUE (Status);\r
\r
// TRUE - the two OutBuffers are indentical. That means the Oaep encrypt result is incorrect.\r
\r
if (OutBuffer) {\r
FreePool (OutBuffer);\r
- OutBuffer = NULL;\r
+ OutBuffer = NULL;\r
OutBufferSize = 0;\r
}\r
\r
if (OutBuffer2) {\r
FreePool (OutBuffer2);\r
- OutBuffer2 = NULL;\r
+ OutBuffer2 = NULL;\r
OutBuffer2Size = 0;\r
}\r
\r
Status = Pkcs1v2Encrypt (\r
- NULL,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)4,\r
- NULL,\r
- 0,\r
- &OutBuffer,\r
- (UINTN *)&OutBufferSize\r
- );\r
+ NULL,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)4,\r
+ NULL,\r
+ 0,\r
+ &OutBuffer,\r
+ (UINTN *)&OutBufferSize\r
+ );\r
UT_ASSERT_FALSE (Status);\r
\r
Status = Pkcs1v2Encrypt (\r
- SelfTestCert,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)4,\r
- NULL,\r
- 0,\r
- (UINT8 **)NULL,\r
- (UINTN *)&OutBufferSize\r
- );\r
+ SelfTestCert,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)4,\r
+ NULL,\r
+ 0,\r
+ (UINT8 **)NULL,\r
+ (UINTN *)&OutBufferSize\r
+ );\r
UT_ASSERT_FALSE (Status);\r
\r
Status = Pkcs1v2Encrypt (\r
- SelfTestCert,\r
- (UINTN)sizeof (SelfTestCert),\r
- File,\r
- (UINTN)4,\r
- NULL,\r
- 0,\r
- &OutBuffer,\r
- (UINTN *)NULL\r
- );\r
+ SelfTestCert,\r
+ (UINTN)sizeof (SelfTestCert),\r
+ File,\r
+ (UINTN)4,\r
+ NULL,\r
+ 0,\r
+ &OutBuffer,\r
+ (UINTN *)NULL\r
+ );\r
UT_ASSERT_FALSE (Status);\r
\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mOaepTest[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
- //\r
- {"TestVerifyOaepEncrypt()", "CryptoPkg.BaseCryptLib.Pkcs1v2Encrypt", TestVerifyOaepEncrypt, NULL, NULL, NULL},\r
+TEST_DESC mOaepTest[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyOaepEncrypt()", "CryptoPkg.BaseCryptLib.Pkcs1v2Encrypt", TestVerifyOaepEncrypt, NULL, NULL, NULL },\r
};\r
\r
-UINTN mOaepTestNum = ARRAY_SIZE(mOaepTest);\r
-\r
-\r
+UINTN mOaepTestNum = ARRAY_SIZE (mOaepTest);\r
//\r
// PBKDF2 HMAC-SHA1 Test Vector from RFC6070\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *Password = "password"; // Input Password\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINTN PassLen = 8; // Length of Input Password\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *Salt = "salt"; // Input Salt\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINTN SaltLen = 4; // Length of Input Salt\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINTN Count = 2; // InterationCount\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINTN KeyLen = 20; // Length of derived key\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DerivedKey[] = { // Expected output key\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *Password = "password"; // Input Password\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN PassLen = 8; // Length of Input Password\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *Salt = "salt"; // Input Salt\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN SaltLen = 4; // Length of Input Salt\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINTN Count = 2; // InterationCount\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINTN KeyLen = 20; // Length of derived key\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DerivedKey[] = {\r
+ // Expected output key\r
0xea, 0x6c, 0x01, 0x4d, 0xc7, 0x2d, 0x6f, 0x8c, 0xcd, 0x1e, 0xd9, 0x2a, 0xce, 0x1d, 0x41, 0xf0,\r
0xd8, 0xde, 0x89, 0x57\r
- };\r
+};\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyPkcs5Pbkdf2 (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
return EFI_SUCCESS;\r
}\r
\r
-TEST_DESC mPkcs5Test[] = {\r
- //\r
- // -----Description------------------------------Class----------------------Function-----------------Pre---Post--Context\r
- //\r
- {"TestVerifyPkcs5Pbkdf2()", "CryptoPkg.BaseCryptLib.Pkcs5", TestVerifyPkcs5Pbkdf2, NULL, NULL, NULL},\r
+TEST_DESC mPkcs5Test[] = {\r
+ //\r
+ // -----Description------------------------------Class----------------------Function-----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyPkcs5Pbkdf2()", "CryptoPkg.BaseCryptLib.Pkcs5", TestVerifyPkcs5Pbkdf2, NULL, NULL, NULL },\r
};\r
\r
-UINTN mPkcs5TestNum = ARRAY_SIZE(mPkcs5Test);\r
+UINTN mPkcs5TestNum = ARRAY_SIZE (mPkcs5Test);\r
signature files.\r
--*/\r
\r
-\r
//\r
// This is the ProductionECCSignature.p7b in byte array format. It has one\r
// EKU in it. (Firmware signing)\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
//\r
-CONST UINT8 ProductionECCSignature[] =\r
+CONST UINT8 ProductionECCSignature[] =\r
{\r
- 0x30, 0x82, 0x04, 0xC0, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
- 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
- 0xF7, 0x0D, 0x01, 0x07, 0x01, 0xA0, 0x82, 0x03, 0x80, 0x30, 0x82, 0x03, 0x7C, 0x30, 0x82, 0x03,\r
- 0x22, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x13, 0x33, 0x00, 0x00, 0x00, 0x03, 0x7E, 0x2E, 0x8F,\r
- 0xBD, 0xA5, 0xC9, 0x2C, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x0A, 0x06, 0x08, 0x2A,\r
- 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02, 0x30, 0x81, 0x8F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,\r
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,\r
- 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E,\r
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E,\r
- 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
- 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x39,\r
- 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x30, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
- 0x66, 0x74, 0x20, 0x45, 0x43, 0x43, 0x20, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x41,\r
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x79, 0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72,\r
- 0x65, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x38, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x38, 0x30,\r
- 0x37, 0x31, 0x32, 0x31, 0x38, 0x33, 0x37, 0x30, 0x37, 0x5A, 0x17, 0x0D, 0x31, 0x39, 0x30, 0x37,\r
- 0x31, 0x32, 0x31, 0x38, 0x33, 0x37, 0x30, 0x37, 0x5A, 0x30, 0x3A, 0x31, 0x38, 0x30, 0x36, 0x06,\r
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20,\r
- 0x45, 0x43, 0x43, 0x20, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x41, 0x63, 0x63, 0x65,\r
- 0x73, 0x73, 0x6F, 0x72, 0x79, 0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72, 0x65, 0x20, 0x53,\r
- 0x69, 0x67, 0x6E, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D,\r
- 0x02, 0x01, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,\r
- 0x7D, 0xDF, 0xDE, 0xFA, 0xEE, 0xA5, 0x66, 0x33, 0xAA, 0xCC, 0xA4, 0x18, 0x65, 0x9E, 0x3A, 0xC6,\r
- 0x4B, 0xCB, 0xD5, 0x78, 0x94, 0x14, 0xEE, 0xAA, 0xF3, 0x9D, 0xCB, 0x38, 0x6C, 0x5D, 0xFE, 0x3F,\r
- 0x8A, 0xA9, 0x8D, 0x04, 0xD2, 0xFE, 0xAA, 0x38, 0xF3, 0xD6, 0x4A, 0x7E, 0xCF, 0x12, 0x95, 0xCF,\r
- 0xAD, 0x92, 0x33, 0xF7, 0x38, 0x83, 0xC5, 0xFD, 0xCF, 0xD0, 0x96, 0x08, 0xCA, 0x62, 0x7D, 0x22,\r
- 0xA3, 0x82, 0x01, 0xAF, 0x30, 0x82, 0x01, 0xAB, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01,\r
- 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04,\r
- 0x0F, 0x30, 0x0D, 0x06, 0x0B, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x4C, 0x09, 0x15, 0x01,\r
- 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1D,\r
- 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0xE7, 0xD1, 0xD4, 0x74, 0x71, 0xF4, 0xC9,\r
- 0x35, 0x04, 0xA7, 0x9A, 0x1E, 0x0C, 0xDD, 0xF4, 0x8D, 0x5C, 0x1E, 0xF2, 0x29, 0x30, 0x37, 0x06,\r
- 0x03, 0x55, 0x1D, 0x11, 0x04, 0x30, 0x30, 0x2E, 0xA4, 0x2C, 0x30, 0x2A, 0x31, 0x10, 0x30, 0x0E,\r
- 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x07, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x31, 0x16,\r
- 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x0D, 0x34, 0x34, 0x30, 0x38, 0x31, 0x31, 0x2B,\r
- 0x34, 0x34, 0x30, 0x38, 0x36, 0x32, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30,\r
- 0x16, 0x80, 0x14, 0x6F, 0x3A, 0xCC, 0x1B, 0x2F, 0x17, 0x5C, 0xED, 0xEB, 0xC8, 0xBF, 0x93, 0xA7,\r
- 0xB5, 0x93, 0xD1, 0x4D, 0x40, 0xAA, 0x03, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x6E,\r
- 0x30, 0x6C, 0x30, 0x6A, 0xA0, 0x68, 0xA0, 0x66, 0x86, 0x64, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F,\r
- 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63,\r
- 0x6F, 0x6D, 0x2F, 0x70, 0x6B, 0x69, 0x6F, 0x70, 0x73, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x4D, 0x69,\r
- 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x25, 0x32, 0x30, 0x45, 0x43, 0x43, 0x25, 0x32, 0x30,\r
- 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x25, 0x32, 0x30, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,\r
- 0x6F, 0x72, 0x79, 0x25, 0x32, 0x30, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72, 0x65, 0x25, 0x32,\r
- 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x30, 0x31, 0x38, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x81,\r
- 0x82, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x76, 0x30, 0x74, 0x30,\r
- 0x72, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x66, 0x68, 0x74, 0x74,\r
- 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66,\r
- 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x70, 0x6B, 0x69, 0x6F, 0x70, 0x73, 0x2F, 0x63, 0x65, 0x72,\r
- 0x74, 0x73, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x25, 0x32, 0x30, 0x45,\r
- 0x43, 0x43, 0x25, 0x32, 0x30, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x25, 0x32, 0x30, 0x41,\r
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x79, 0x25, 0x32, 0x30, 0x46, 0x69, 0x72, 0x6D, 0x77,\r
- 0x61, 0x72, 0x65, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x30, 0x31, 0x38, 0x2E,\r
- 0x63, 0x72, 0x74, 0x30, 0x0A, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02, 0x03,\r
- 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x3D, 0xCF, 0xEF, 0xB8, 0xF0, 0x87, 0xEE, 0x7E, 0x80, 0x71,\r
- 0x04, 0x77, 0x68, 0xDC, 0x66, 0x2F, 0x09, 0xA7, 0xF0, 0x76, 0x57, 0x7C, 0x12, 0x5A, 0xE4, 0x80,\r
- 0x5A, 0xA0, 0xF2, 0x2C, 0x45, 0x1B, 0x02, 0x21, 0x00, 0xEB, 0x5F, 0x89, 0xD5, 0xEB, 0x03, 0x46,\r
- 0x9E, 0x08, 0x95, 0x2A, 0x39, 0x30, 0x5D, 0x49, 0xB6, 0x24, 0xCE, 0x78, 0x1B, 0xB8, 0x1D, 0x0F,\r
- 0xD1, 0x24, 0xD0, 0xA9, 0x18, 0x0F, 0x45, 0x4F, 0xF6, 0x31, 0x82, 0x01, 0x17, 0x30, 0x82, 0x01,\r
- 0x13, 0x02, 0x01, 0x01, 0x30, 0x81, 0xA7, 0x30, 0x81, 0x8F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,\r
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,\r
- 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E,\r
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E,\r
- 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
- 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x39,\r
- 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x30, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
- 0x66, 0x74, 0x20, 0x45, 0x43, 0x43, 0x20, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x41,\r
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x79, 0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72,\r
- 0x65, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x38, 0x02, 0x13, 0x33, 0x00, 0x00, 0x00, 0x03,\r
- 0x7E, 0x2E, 0x8F, 0xBD, 0xA5, 0xC9, 0x2C, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x0D,\r
- 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06,\r
- 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, 0x05, 0x00, 0x04, 0x48, 0x30, 0x46, 0x02, 0x21,\r
- 0x00, 0x85, 0xC7, 0x25, 0x5C, 0xF8, 0x5A, 0x13, 0xB7, 0xB6, 0x3A, 0xF1, 0x04, 0x72, 0xAC, 0xB3,\r
- 0xF8, 0xC3, 0xE0, 0xE3, 0xD7, 0x98, 0x1B, 0xCF, 0x04, 0xA8, 0x0C, 0x7B, 0xBB, 0x7D, 0x40, 0xC2,\r
- 0x99, 0x02, 0x21, 0x00, 0xA3, 0x83, 0x12, 0xE4, 0xB6, 0x3C, 0xC9, 0x3F, 0x05, 0xCF, 0x70, 0x57,\r
- 0x54, 0x74, 0x0E, 0xEC, 0x14, 0xAD, 0x2C, 0x66, 0x9D, 0x72, 0x73, 0x62, 0x41, 0xA6, 0xC7, 0x90,\r
- 0x05, 0x35, 0xF5, 0x80,\r
+ 0x30, 0x82, 0x04, 0xC0, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
+ 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
+ 0xF7, 0x0D, 0x01, 0x07, 0x01, 0xA0, 0x82, 0x03, 0x80, 0x30, 0x82, 0x03, 0x7C, 0x30, 0x82, 0x03,\r
+ 0x22, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x13, 0x33, 0x00, 0x00, 0x00, 0x03, 0x7E, 0x2E, 0x8F,\r
+ 0xBD, 0xA5, 0xC9, 0x2C, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x0A, 0x06, 0x08, 0x2A,\r
+ 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02, 0x30, 0x81, 0x8F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,\r
+ 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,\r
+ 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E,\r
+ 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E,\r
+ 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
+ 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x39,\r
+ 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x30, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
+ 0x66, 0x74, 0x20, 0x45, 0x43, 0x43, 0x20, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x41,\r
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x79, 0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72,\r
+ 0x65, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x38, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x38, 0x30,\r
+ 0x37, 0x31, 0x32, 0x31, 0x38, 0x33, 0x37, 0x30, 0x37, 0x5A, 0x17, 0x0D, 0x31, 0x39, 0x30, 0x37,\r
+ 0x31, 0x32, 0x31, 0x38, 0x33, 0x37, 0x30, 0x37, 0x5A, 0x30, 0x3A, 0x31, 0x38, 0x30, 0x36, 0x06,\r
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20,\r
+ 0x45, 0x43, 0x43, 0x20, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x41, 0x63, 0x63, 0x65,\r
+ 0x73, 0x73, 0x6F, 0x72, 0x79, 0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72, 0x65, 0x20, 0x53,\r
+ 0x69, 0x67, 0x6E, 0x65, 0x72, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D,\r
+ 0x02, 0x01, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,\r
+ 0x7D, 0xDF, 0xDE, 0xFA, 0xEE, 0xA5, 0x66, 0x33, 0xAA, 0xCC, 0xA4, 0x18, 0x65, 0x9E, 0x3A, 0xC6,\r
+ 0x4B, 0xCB, 0xD5, 0x78, 0x94, 0x14, 0xEE, 0xAA, 0xF3, 0x9D, 0xCB, 0x38, 0x6C, 0x5D, 0xFE, 0x3F,\r
+ 0x8A, 0xA9, 0x8D, 0x04, 0xD2, 0xFE, 0xAA, 0x38, 0xF3, 0xD6, 0x4A, 0x7E, 0xCF, 0x12, 0x95, 0xCF,\r
+ 0xAD, 0x92, 0x33, 0xF7, 0x38, 0x83, 0xC5, 0xFD, 0xCF, 0xD0, 0x96, 0x08, 0xCA, 0x62, 0x7D, 0x22,\r
+ 0xA3, 0x82, 0x01, 0xAF, 0x30, 0x82, 0x01, 0xAB, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01,\r
+ 0x01, 0xFF, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04,\r
+ 0x0F, 0x30, 0x0D, 0x06, 0x0B, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x4C, 0x09, 0x15, 0x01,\r
+ 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1D,\r
+ 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0xE7, 0xD1, 0xD4, 0x74, 0x71, 0xF4, 0xC9,\r
+ 0x35, 0x04, 0xA7, 0x9A, 0x1E, 0x0C, 0xDD, 0xF4, 0x8D, 0x5C, 0x1E, 0xF2, 0x29, 0x30, 0x37, 0x06,\r
+ 0x03, 0x55, 0x1D, 0x11, 0x04, 0x30, 0x30, 0x2E, 0xA4, 0x2C, 0x30, 0x2A, 0x31, 0x10, 0x30, 0x0E,\r
+ 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x07, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x31, 0x16,\r
+ 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x0D, 0x34, 0x34, 0x30, 0x38, 0x31, 0x31, 0x2B,\r
+ 0x34, 0x34, 0x30, 0x38, 0x36, 0x32, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30,\r
+ 0x16, 0x80, 0x14, 0x6F, 0x3A, 0xCC, 0x1B, 0x2F, 0x17, 0x5C, 0xED, 0xEB, 0xC8, 0xBF, 0x93, 0xA7,\r
+ 0xB5, 0x93, 0xD1, 0x4D, 0x40, 0xAA, 0x03, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x6E,\r
+ 0x30, 0x6C, 0x30, 0x6A, 0xA0, 0x68, 0xA0, 0x66, 0x86, 0x64, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F,\r
+ 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63,\r
+ 0x6F, 0x6D, 0x2F, 0x70, 0x6B, 0x69, 0x6F, 0x70, 0x73, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x4D, 0x69,\r
+ 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x25, 0x32, 0x30, 0x45, 0x43, 0x43, 0x25, 0x32, 0x30,\r
+ 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x25, 0x32, 0x30, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,\r
+ 0x6F, 0x72, 0x79, 0x25, 0x32, 0x30, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72, 0x65, 0x25, 0x32,\r
+ 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x30, 0x31, 0x38, 0x2E, 0x63, 0x72, 0x6C, 0x30, 0x81,\r
+ 0x82, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x76, 0x30, 0x74, 0x30,\r
+ 0x72, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x66, 0x68, 0x74, 0x74,\r
+ 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66,\r
+ 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x70, 0x6B, 0x69, 0x6F, 0x70, 0x73, 0x2F, 0x63, 0x65, 0x72,\r
+ 0x74, 0x73, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x25, 0x32, 0x30, 0x45,\r
+ 0x43, 0x43, 0x25, 0x32, 0x30, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x25, 0x32, 0x30, 0x41,\r
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x79, 0x25, 0x32, 0x30, 0x46, 0x69, 0x72, 0x6D, 0x77,\r
+ 0x61, 0x72, 0x65, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x30, 0x31, 0x38, 0x2E,\r
+ 0x63, 0x72, 0x74, 0x30, 0x0A, 0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02, 0x03,\r
+ 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x3D, 0xCF, 0xEF, 0xB8, 0xF0, 0x87, 0xEE, 0x7E, 0x80, 0x71,\r
+ 0x04, 0x77, 0x68, 0xDC, 0x66, 0x2F, 0x09, 0xA7, 0xF0, 0x76, 0x57, 0x7C, 0x12, 0x5A, 0xE4, 0x80,\r
+ 0x5A, 0xA0, 0xF2, 0x2C, 0x45, 0x1B, 0x02, 0x21, 0x00, 0xEB, 0x5F, 0x89, 0xD5, 0xEB, 0x03, 0x46,\r
+ 0x9E, 0x08, 0x95, 0x2A, 0x39, 0x30, 0x5D, 0x49, 0xB6, 0x24, 0xCE, 0x78, 0x1B, 0xB8, 0x1D, 0x0F,\r
+ 0xD1, 0x24, 0xD0, 0xA9, 0x18, 0x0F, 0x45, 0x4F, 0xF6, 0x31, 0x82, 0x01, 0x17, 0x30, 0x82, 0x01,\r
+ 0x13, 0x02, 0x01, 0x01, 0x30, 0x81, 0xA7, 0x30, 0x81, 0x8F, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,\r
+ 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,\r
+ 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E,\r
+ 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E,\r
+ 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
+ 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x39,\r
+ 0x30, 0x37, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x30, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F,\r
+ 0x66, 0x74, 0x20, 0x45, 0x43, 0x43, 0x20, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x41,\r
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x79, 0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72,\r
+ 0x65, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x38, 0x02, 0x13, 0x33, 0x00, 0x00, 0x00, 0x03,\r
+ 0x7E, 0x2E, 0x8F, 0xBD, 0xA5, 0xC9, 0x2C, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x0D,\r
+ 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06,\r
+ 0x07, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01, 0x05, 0x00, 0x04, 0x48, 0x30, 0x46, 0x02, 0x21,\r
+ 0x00, 0x85, 0xC7, 0x25, 0x5C, 0xF8, 0x5A, 0x13, 0xB7, 0xB6, 0x3A, 0xF1, 0x04, 0x72, 0xAC, 0xB3,\r
+ 0xF8, 0xC3, 0xE0, 0xE3, 0xD7, 0x98, 0x1B, 0xCF, 0x04, 0xA8, 0x0C, 0x7B, 0xBB, 0x7D, 0x40, 0xC2,\r
+ 0x99, 0x02, 0x21, 0x00, 0xA3, 0x83, 0x12, 0xE4, 0xB6, 0x3C, 0xC9, 0x3F, 0x05, 0xCF, 0x70, 0x57,\r
+ 0x54, 0x74, 0x0E, 0xEC, 0x14, 0xAD, 0x2C, 0x66, 0x9D, 0x72, 0x73, 0x62, 0x41, 0xA6, 0xC7, 0x90,\r
+ 0x05, 0x35, 0xF5, 0x80,\r
};\r
\r
//\r
// format. It has two certs in it, and the leaf has an EKU of\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
//\r
-CONST UINT8 TestSignedMultipleCerts[] =\r
+CONST UINT8 TestSignedMultipleCerts[] =\r
{\r
0x30, 0x82, 0x04, 0x90, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
// "1.3.6.1.4.1.311.76.9.21.2"\r
//\r
-CONST UINT8 TestSignedWithMultipleEKUsInCert[] =\r
+CONST UINT8 TestSignedWithMultipleEKUsInCert[] =\r
{\r
0x30, 0x82, 0x06, 0x2C, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
0xB5, 0xEA, 0xBA, 0x90, 0x51, 0xC0, 0xC6, 0x94, 0x09, 0xE4, 0xB7, 0x15, 0x3F, 0x07, 0x23, 0xE8,\r
0x46, 0x93, 0xA5, 0x7B, 0x7A, 0x91, 0xDA, 0x8E, 0x7C, 0xAF, 0xBD, 0x41, 0xB9, 0xDE, 0x85, 0x04,\r
0xBC, 0x08, 0x6C, 0x08, 0x56, 0x16, 0xDB, 0xB5, 0xEE, 0x65, 0x76, 0xE9, 0x78, 0xD3, 0xDD, 0xD8,\r
-\r
};\r
\r
//\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
// "1.3.6.1.4.1.311.76.9.21.1.10001"\r
//\r
-CONST UINT8 TestSignedWithProductId10001[] =\r
+CONST UINT8 TestSignedWithProductId10001[] =\r
{\r
0x30, 0x82, 0x06, 0x1E, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
// It has one EKU in it:\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
//\r
-CONST UINT8 TestSignEKUsWith1CertInSignature[] =\r
+CONST UINT8 TestSignEKUsWith1CertInSignature[] =\r
{\r
0x30, 0x82, 0x02, 0x7D, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
// It has one EKU in it:\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
//\r
-CONST UINT8 TestSignEKUsWith2CertsInSignature[] =\r
+CONST UINT8 TestSignEKUsWith2CertsInSignature[] =\r
{\r
0x30, 0x82, 0x04, 0x61, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
// It has one EKU in it:\r
// "1.3.6.1.4.1.311.76.9.21.1"\r
//\r
-const UINT8 TestSignEKUsWith3CertsInSignature[] =\r
+const UINT8 TestSignEKUsWith3CertsInSignature[] =\r
{\r
0x30, 0x82, 0x06, 0x65, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
//\r
// This signature was signed with a leaf that has no EKU's present in the certificate.\r
//\r
-CONST UINT8 TestSignatureWithNoEKUsPresent[] =\r
+CONST UINT8 TestSignatureWithNoEKUsPresent[] =\r
{\r
0x30, 0x82, 0x07, 0xDB, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48,\r
0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,\r
EFI_STATUS\r
EFIAPI\r
VerifyEKUsInPkcs7Signature (\r
- IN CONST UINT8 *Pkcs7Signature,\r
+ IN CONST UINT8 *Pkcs7Signature,\r
IN CONST UINT32 SignatureSize,\r
- IN CONST CHAR8 *RequiredEKUs[],\r
+ IN CONST CHAR8 *RequiredEKUs[],\r
IN CONST UINT32 RequiredEKUsSize,\r
IN BOOLEAN RequireAllPresent\r
);\r
\r
-///================================================================================================\r
-///================================================================================================\r
+/// ================================================================================================\r
+/// ================================================================================================\r
///\r
/// TEST CASES\r
///\r
-///================================================================================================\r
-///================================================================================================\r
-\r
-CONST CHAR8 FIRMWARE_SIGNER_EKU[] = "1.3.6.1.4.1.311.76.9.21.1";\r
+/// ================================================================================================\r
+/// ================================================================================================\r
\r
+CONST CHAR8 FIRMWARE_SIGNER_EKU[] = "1.3.6.1.4.1.311.76.9.21.1";\r
\r
/**\r
TestVerifyEKUsInSignature()\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyEKUsInSignature (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
- CONST CHAR8* RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
+ CONST CHAR8 *RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
\r
- Status = VerifyEKUsInPkcs7Signature(ProductionECCSignature,\r
- ARRAY_SIZE(ProductionECCSignature),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ ProductionECCSignature,\r
+ ARRAY_SIZE (ProductionECCSignature),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestVerifyEKUsInSignature()\r
\r
-\r
/**\r
TestVerifyEKUsWith3CertsInSignature()\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyEKUsWith3CertsInSignature (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
- CONST CHAR8* RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
+ CONST CHAR8 *RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
\r
- Status = VerifyEKUsInPkcs7Signature(TestSignEKUsWith3CertsInSignature,\r
- ARRAY_SIZE(TestSignEKUsWith3CertsInSignature),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignEKUsWith3CertsInSignature,\r
+ ARRAY_SIZE (TestSignEKUsWith3CertsInSignature),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyEKUsWith2CertsInSignature (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
- CONST CHAR8* RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
+ CONST CHAR8 *RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
\r
- Status = VerifyEKUsInPkcs7Signature(TestSignEKUsWith2CertsInSignature,\r
- ARRAY_SIZE(TestSignEKUsWith2CertsInSignature),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignEKUsWith2CertsInSignature,\r
+ ARRAY_SIZE (TestSignEKUsWith2CertsInSignature),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestVerifyEKUsWith2CertsInSignature()\r
\r
-\r
/**\r
TestVerifyEKUsWith1CertInSignature()\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyEKUsWith1CertInSignature (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
- CONST CHAR8* RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
+ CONST CHAR8 *RequiredEKUs[] = { FIRMWARE_SIGNER_EKU };\r
\r
- Status = VerifyEKUsInPkcs7Signature(TestSignEKUsWith1CertInSignature,\r
- ARRAY_SIZE(TestSignEKUsWith1CertInSignature),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignEKUsWith1CertInSignature,\r
+ ARRAY_SIZE (TestSignEKUsWith1CertInSignature),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestVerifyEKUsWith1CertInSignature()\r
\r
-\r
/**\r
TestVerifyEKUsWithMultipleEKUsInCert()\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyEKUsWithMultipleEKUsInCert (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
-\r
- CONST CHAR8* RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1",\r
- "1.3.6.1.4.1.311.76.9.21.1.2" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignedWithMultipleEKUsInCert,\r
- ARRAY_SIZE(TestSignedWithMultipleEKUsInCert),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
+\r
+ CONST CHAR8 *RequiredEKUs[] = {\r
+ "1.3.6.1.4.1.311.76.9.21.1",\r
+ "1.3.6.1.4.1.311.76.9.21.1.2"\r
+ };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignedWithMultipleEKUsInCert,\r
+ ARRAY_SIZE (TestSignedWithMultipleEKUsInCert),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestVerifyEKUsWithMultipleEKUsInCert()\r
\r
-\r
/**\r
TestEkusNotPresentInSignature()\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestEkusNotPresentInSignature (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
//\r
// This EKU is not in the signature.\r
//\r
- CONST CHAR8* RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.3" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignedWithMultipleEKUsInCert,\r
- ARRAY_SIZE(TestSignedWithMultipleEKUsInCert),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ CONST CHAR8 *RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.3" };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignedWithMultipleEKUsInCert,\r
+ ARRAY_SIZE (TestSignedWithMultipleEKUsInCert),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_NOT_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
@retval UNIT_TEST_PASSED - The required EKUs were found in the signature.\r
@retval UNIT_TEST_ERROR_TEST_FAILED - Something failed, check the debug output.\r
**/\r
-\r
static\r
UNIT_TEST_STATUS\r
EFIAPI\r
-TestProductId10001PresentInSignature(\r
- IN UNIT_TEST_CONTEXT Context\r
-)\r
+TestProductId10001PresentInSignature (\r
+ IN UNIT_TEST_CONTEXT Context\r
+ )\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
//\r
// These EKU's are present in the leaf signer certificate.\r
//\r
- CONST CHAR8* RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1",\r
- "1.3.6.1.4.1.311.76.9.21.1.10001" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignedWithProductId10001,\r
- ARRAY_SIZE(TestSignedWithProductId10001),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ CONST CHAR8 *RequiredEKUs[] = {\r
+ "1.3.6.1.4.1.311.76.9.21.1",\r
+ "1.3.6.1.4.1.311.76.9.21.1.10001"\r
+ };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignedWithProductId10001,\r
+ ARRAY_SIZE (TestSignedWithProductId10001),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestProductId10001PresentInSignature()\r
\r
-\r
/**\r
TestOnlyOneEkuInListRequired()\r
\r
@retval UNIT_TEST_PASSED - The required EKUs were found in the signature.\r
@retval UNIT_TEST_ERROR_TEST_FAILED - Something failed, check the debug output.\r
**/\r
-\r
static\r
UNIT_TEST_STATUS\r
EFIAPI\r
-TestOnlyOneEkuInListRequired(\r
- IN UNIT_TEST_CONTEXT Context\r
-)\r
+TestOnlyOneEkuInListRequired (\r
+ IN UNIT_TEST_CONTEXT Context\r
+ )\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
//\r
// This will test the flag that specifies it is OK to succeed if\r
// any one of the EKU's passed in is found.\r
//\r
- CONST CHAR8* RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1.10001" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignedWithProductId10001,\r
- ARRAY_SIZE(TestSignedWithProductId10001),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- FALSE);\r
+ CONST CHAR8 *RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1.10001" };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignedWithProductId10001,\r
+ ARRAY_SIZE (TestSignedWithProductId10001),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ FALSE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
@retval UNIT_TEST_PASSED - The required EKUs were found in the signature.\r
@retval UNIT_TEST_ERROR_TEST_FAILED - Something failed, check the debug output.\r
**/\r
-\r
static\r
UNIT_TEST_STATUS\r
EFIAPI\r
-TestNoEKUsInSignature(\r
- IN UNIT_TEST_CONTEXT Context\r
-)\r
+TestNoEKUsInSignature (\r
+ IN UNIT_TEST_CONTEXT Context\r
+ )\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
//\r
// This EKU is not in the certificate, so it should fail.\r
//\r
- CONST CHAR8* RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignatureWithNoEKUsPresent,\r
- ARRAY_SIZE(TestSignatureWithNoEKUsPresent),\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ CONST CHAR8 *RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1" };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignatureWithNoEKUsPresent,\r
+ ARRAY_SIZE (TestSignatureWithNoEKUsPresent),\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_NOT_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestNoEKUsInSignature()\r
\r
-\r
/**\r
TestInvalidParameters()\r
\r
static\r
UNIT_TEST_STATUS\r
EFIAPI\r
-TestInvalidParameters(\r
- IN UNIT_TEST_CONTEXT Context\r
-)\r
+TestInvalidParameters (\r
+ IN UNIT_TEST_CONTEXT Context\r
+ )\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
- CONST CHAR8* RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1" };\r
+ CONST CHAR8 *RequiredEKUs[] = { "1.3.6.1.4.1.311.76.9.21.1" };\r
\r
//\r
// Check bad signature.\r
//\r
- Status = VerifyEKUsInPkcs7Signature(NULL,\r
- 0,\r
- (CONST CHAR8**)RequiredEKUs,\r
- ARRAY_SIZE(RequiredEKUs),\r
- TRUE);\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ NULL,\r
+ 0,\r
+ (CONST CHAR8 **)RequiredEKUs,\r
+ ARRAY_SIZE (RequiredEKUs),\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_INVALID_PARAMETER);\r
\r
//\r
// Check invalid EKU's\r
//\r
- Status = VerifyEKUsInPkcs7Signature(TestSignatureWithNoEKUsPresent,\r
- ARRAY_SIZE(TestSignatureWithNoEKUsPresent),\r
- (CONST CHAR8**)NULL,\r
- 0,\r
- TRUE);\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignatureWithNoEKUsPresent,\r
+ ARRAY_SIZE (TestSignatureWithNoEKUsPresent),\r
+ (CONST CHAR8 **)NULL,\r
+ 0,\r
+ TRUE\r
+ );\r
UT_ASSERT_STATUS_EQUAL (Status, EFI_INVALID_PARAMETER);\r
\r
return UNIT_TEST_PASSED;\r
}// TestInvalidParameters()\r
\r
-\r
/**\r
TestEKUSubStringFails()\r
\r
static\r
UNIT_TEST_STATUS\r
EFIAPI\r
-TestEKUSubsetSupersetFails(\r
- IN UNIT_TEST_CONTEXT Context\r
-)\r
+TestEKUSubsetSupersetFails (\r
+ IN UNIT_TEST_CONTEXT Context\r
+ )\r
{\r
- EFI_STATUS Status = EFI_SUCCESS;\r
+ EFI_STATUS Status = EFI_SUCCESS;\r
\r
//\r
// This signature has an EKU of:\r
// "1.3.6.1.4.1.311.76.9.21"\r
// does not pass.\r
//\r
- CONST CHAR8* RequiredEKUs1[] = { "1.3.6.1.4.1.311.76.9.21" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignedWithProductId10001,\r
- ARRAY_SIZE(TestSignedWithProductId10001),\r
- (CONST CHAR8**)RequiredEKUs1,\r
- ARRAY_SIZE(RequiredEKUs1),\r
- TRUE);\r
+ CONST CHAR8 *RequiredEKUs1[] = { "1.3.6.1.4.1.311.76.9.21" };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignedWithProductId10001,\r
+ ARRAY_SIZE (TestSignedWithProductId10001),\r
+ (CONST CHAR8 **)RequiredEKUs1,\r
+ ARRAY_SIZE (RequiredEKUs1),\r
+ TRUE\r
+ );\r
UT_ASSERT_NOT_EQUAL (Status, EFI_SUCCESS);\r
\r
//\r
// "1.3.6.1.4.1.311.76.9.21.1.10001.1"\r
// does not pass.\r
//\r
- CONST CHAR8* RequiredEKUs2[] = { "1.3.6.1.4.1.311.76.9.21.1.10001.1" };\r
-\r
- Status = VerifyEKUsInPkcs7Signature(TestSignedWithProductId10001,\r
- ARRAY_SIZE(TestSignedWithProductId10001),\r
- (CONST CHAR8**)RequiredEKUs2,\r
- ARRAY_SIZE(RequiredEKUs2),\r
- TRUE);\r
+ CONST CHAR8 *RequiredEKUs2[] = { "1.3.6.1.4.1.311.76.9.21.1.10001.1" };\r
+\r
+ Status = VerifyEKUsInPkcs7Signature (\r
+ TestSignedWithProductId10001,\r
+ ARRAY_SIZE (TestSignedWithProductId10001),\r
+ (CONST CHAR8 **)RequiredEKUs2,\r
+ ARRAY_SIZE (RequiredEKUs2),\r
+ TRUE\r
+ );\r
UT_ASSERT_NOT_EQUAL (Status, EFI_SUCCESS);\r
\r
return UNIT_TEST_PASSED;\r
}// TestEKUSubsetSupersetFails()\r
\r
-TEST_DESC mPkcs7EkuTest[] = {\r
- //\r
- // -----Description--------------------------------Class----------------------------Function------------------------------Pre---Post--Context\r
- //\r
- {"TestVerifyEKUsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsInSignature, NULL, NULL, NULL},\r
- {"TestVerifyEKUsWith3CertsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWith3CertsInSignature, NULL, NULL, NULL},\r
- {"TestVerifyEKUsWith2CertsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWith2CertsInSignature, NULL, NULL, NULL},\r
- {"TestVerifyEKUsWith1CertInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWith1CertInSignature, NULL, NULL, NULL},\r
- {"TestVerifyEKUsWithMultipleEKUsInCert()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWithMultipleEKUsInCert, NULL, NULL, NULL},\r
- {"TestEkusNotPresentInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestEkusNotPresentInSignature, NULL, NULL, NULL},\r
- {"TestProductId10001PresentInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestProductId10001PresentInSignature, NULL, NULL, NULL},\r
- {"TestOnlyOneEkuInListRequired()", "CryptoPkg.BaseCryptLib.Eku", TestOnlyOneEkuInListRequired, NULL, NULL, NULL},\r
- {"TestNoEKUsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestNoEKUsInSignature, NULL, NULL, NULL},\r
- {"TestInvalidParameters()", "CryptoPkg.BaseCryptLib.Eku", TestInvalidParameters, NULL, NULL, NULL},\r
- {"TestEKUSubsetSupersetFails()", "CryptoPkg.BaseCryptLib.Eku", TestEKUSubsetSupersetFails, NULL, NULL, NULL},\r
+TEST_DESC mPkcs7EkuTest[] = {\r
+ //\r
+ // -----Description--------------------------------Class----------------------------Function------------------------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyEKUsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsInSignature, NULL, NULL, NULL },\r
+ { "TestVerifyEKUsWith3CertsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWith3CertsInSignature, NULL, NULL, NULL },\r
+ { "TestVerifyEKUsWith2CertsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWith2CertsInSignature, NULL, NULL, NULL },\r
+ { "TestVerifyEKUsWith1CertInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWith1CertInSignature, NULL, NULL, NULL },\r
+ { "TestVerifyEKUsWithMultipleEKUsInCert()", "CryptoPkg.BaseCryptLib.Eku", TestVerifyEKUsWithMultipleEKUsInCert, NULL, NULL, NULL },\r
+ { "TestEkusNotPresentInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestEkusNotPresentInSignature, NULL, NULL, NULL },\r
+ { "TestProductId10001PresentInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestProductId10001PresentInSignature, NULL, NULL, NULL },\r
+ { "TestOnlyOneEkuInListRequired()", "CryptoPkg.BaseCryptLib.Eku", TestOnlyOneEkuInListRequired, NULL, NULL, NULL },\r
+ { "TestNoEKUsInSignature()", "CryptoPkg.BaseCryptLib.Eku", TestNoEKUsInSignature, NULL, NULL, NULL },\r
+ { "TestInvalidParameters()", "CryptoPkg.BaseCryptLib.Eku", TestInvalidParameters, NULL, NULL, NULL },\r
+ { "TestEKUSubsetSupersetFails()", "CryptoPkg.BaseCryptLib.Eku", TestEKUSubsetSupersetFails, NULL, NULL, NULL },\r
};\r
\r
-UINTN mPkcs7EkuTestNum = ARRAY_SIZE(mPkcs7EkuTest);\r
+UINTN mPkcs7EkuTestNum = ARRAY_SIZE (mPkcs7EkuTest);\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyPrngGeneration (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
UINTN Index;\r
Status = RandomSeed (SeedString, sizeof (SeedString));\r
UT_ASSERT_TRUE (Status);\r
\r
- for (Index = 0; Index < 10; Index ++) {\r
+ for (Index = 0; Index < 10; Index++) {\r
Status = RandomBytes (RandomBuffer, RANDOM_NUMBER_SIZE);\r
UT_ASSERT_TRUE (Status);\r
\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mPrngTest[] = {\r
- //\r
- // -----Description--------------------------------Class--------------------Function----------------Pre---Post--Context\r
- //\r
- {"TestVerifyPrngGeneration()", "CryptoPkg.BaseCryptLib.Prng", TestVerifyPrngGeneration, NULL, NULL, NULL},\r
+TEST_DESC mPrngTest[] = {\r
+ //\r
+ // -----Description--------------------------------Class--------------------Function----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyPrngGeneration()", "CryptoPkg.BaseCryptLib.Prng", TestVerifyPrngGeneration, NULL, NULL, NULL },\r
};\r
\r
-UINTN mPrngTestNum = ARRAY_SIZE(mPrngTest);\r
+UINTN mPrngTestNum = ARRAY_SIZE (mPrngTest);\r
\r
#include "TestBaseCryptLib.h"\r
\r
-\r
//\r
// Password-protected PEM Key data for RSA Private Key Retrieving (encryption key is "client").\r
// (Generated by OpenSSL utility).\r
// password should match PemPass in this file\r
// $ xxd --include TestKeyPem\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TestKeyPem[] = {\r
- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52,\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TestKeyPem[] = {\r
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52,\r
0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,\r
0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x50, 0x72, 0x6f, 0x63,\r
0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x34, 0x2c, 0x45, 0x4e, 0x43,\r
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x52, 0x53, 0x41,\r
0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59,\r
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a\r
- };\r
+};\r
\r
//\r
// Password for private key retrieving from encrypted PEM ("TestKeyPem").\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *PemPass = "client";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *PemPass = "client";\r
\r
//\r
// Test CA X509 Certificate for X509 Verification Routine (Generated by OpenSSL utility).\r
// use password from PemPass variable in this file\r
// $ xxd --include TestCACert\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TestCACert[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TestCACert[] = {\r
0x30, 0x82, 0x02, 0x98, 0x30, 0x82, 0x02, 0x01, 0xa0, 0x03, 0x02, 0x01,\r
0x02, 0x02, 0x14, 0x39, 0xde, 0x9e, 0xce, 0x3a, 0x36, 0x11, 0x38, 0x6f,\r
0x64, 0xb4, 0x69, 0xa7, 0x93, 0xdd, 0xff, 0xbd, 0x3e, 0x75, 0x6a, 0x30,\r
// $ openssl x509 -days 10000 -CA TestCACert.pem -CAkey TestKeyPem -req -out TestCert -set_serial 3432 --outform DER -in TestCertCsr\r
// password should be in the PemPass variable\r
// $ xxd --include TestCert\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TestCert[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 TestCert[] = {\r
0x30, 0x82, 0x02, 0x31, 0x30, 0x82, 0x01, 0x9a, 0x02, 0x02, 0x0d, 0x68,\r
0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,\r
0x0b, 0x05, 0x00, 0x30, 0x5e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,\r
//\r
// Message Hash for Signing & Verification Validation.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 MsgHash[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 MsgHash[] = {\r
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,\r
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09\r
- };\r
+};\r
\r
//\r
// Payload for PKCS#7 Signing & Verification Validation.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *Payload = "Payload Data for PKCS#7 Signing";\r
-\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *Payload = "Payload Data for PKCS#7 Signing";\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaCertPkcs1SignVerify (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
// X509 Certificate Subject Retrieving.\r
//\r
SubjectSize = 0;\r
- Status = X509GetSubjectName (TestCert, sizeof (TestCert), NULL, &SubjectSize);\r
- Subject = (UINT8 *)AllocatePool (SubjectSize);\r
- Status = X509GetSubjectName (TestCert, sizeof (TestCert), Subject, &SubjectSize);\r
+ Status = X509GetSubjectName (TestCert, sizeof (TestCert), NULL, &SubjectSize);\r
+ Subject = (UINT8 *)AllocatePool (SubjectSize);\r
+ Status = X509GetSubjectName (TestCert, sizeof (TestCert), Subject, &SubjectSize);\r
UT_ASSERT_TRUE (Status);\r
\r
//\r
//\r
// Release Resources.\r
//\r
- RsaFree (RsaPubKey);\r
- RsaFree (RsaPrivKey);\r
+ RsaFree (RsaPubKey);\r
+ RsaFree (RsaPrivKey);\r
FreePool (Signature);\r
FreePool (Subject);\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyPkcs7SignVerify (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
//\r
// Construct Signer Certificate from RAW data.\r
//\r
- Status = X509ConstructCertificate (TestCert, sizeof (TestCert), (UINT8 **) &SignCert);\r
+ Status = X509ConstructCertificate (TestCert, sizeof (TestCert), (UINT8 **)&SignCert);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_NOT_NULL (SignCert);\r
\r
Status = Pkcs7Sign (\r
TestKeyPem,\r
sizeof (TestKeyPem),\r
- (CONST UINT8 *) PemPass,\r
- (UINT8 *) Payload,\r
+ (CONST UINT8 *)PemPass,\r
+ (UINT8 *)Payload,\r
AsciiStrLen (Payload),\r
SignCert,\r
NULL,\r
P7SignedDataSize,\r
TestCACert,\r
sizeof (TestCACert),\r
- (UINT8 *) Payload,\r
+ (UINT8 *)Payload,\r
AsciiStrLen (Payload)\r
);\r
UT_ASSERT_TRUE (Status);\r
if (P7SignedData != NULL) {\r
FreePool (P7SignedData);\r
}\r
+\r
if (SignCert != NULL) {\r
X509Free (SignCert);\r
}\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mRsaCertTest[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
- //\r
- {"TestVerifyRsaCertPkcs1SignVerify()", "CryptoPkg.BaseCryptLib.RsaCert", TestVerifyRsaCertPkcs1SignVerify, NULL, NULL, NULL},\r
+TEST_DESC mRsaCertTest[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyRsaCertPkcs1SignVerify()", "CryptoPkg.BaseCryptLib.RsaCert", TestVerifyRsaCertPkcs1SignVerify, NULL, NULL, NULL },\r
};\r
\r
-UINTN mRsaCertTestNum = ARRAY_SIZE(mRsaCertTest);\r
+UINTN mRsaCertTestNum = ARRAY_SIZE (mRsaCertTest);\r
\r
-TEST_DESC mPkcs7Test[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
- //\r
- {"TestVerifyPkcs7SignVerify()", "CryptoPkg.BaseCryptLib.Pkcs7", TestVerifyPkcs7SignVerify, NULL, NULL, NULL},\r
+TEST_DESC mPkcs7Test[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------Function-----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyPkcs7SignVerify()", "CryptoPkg.BaseCryptLib.Pkcs7", TestVerifyPkcs7SignVerify, NULL, NULL, NULL },\r
};\r
\r
-UINTN mPkcs7TestNum = ARRAY_SIZE(mPkcs7Test);\r
+UINTN mPkcs7TestNum = ARRAY_SIZE (mPkcs7Test);\r
//\r
// Public Modulus of RSA Key\r
//\r
-UINT8 RsaPssN[]={\r
- 0xa4, 0x7d, 0x04, 0xe7, 0xca, 0xcd, 0xba, 0x4e, 0xa2, 0x6e, 0xca, 0x8a, 0x4c, 0x6e, 0x14, 0x56,\r
- 0x3c, 0x2c, 0xe0, 0x3b, 0x62, 0x3b, 0x76, 0x8c, 0x0d, 0x49, 0x86, 0x8a, 0x57, 0x12, 0x13, 0x01,\r
- 0xdb, 0xf7, 0x83, 0xd8, 0x2f, 0x4c, 0x05, 0x5e, 0x73, 0x96, 0x0e, 0x70, 0x55, 0x01, 0x87, 0xd0,\r
- 0xaf, 0x62, 0xac, 0x34, 0x96, 0xf0, 0xa3, 0xd9, 0x10, 0x3c, 0x2e, 0xb7, 0x91, 0x9a, 0x72, 0x75,\r
- 0x2f, 0xa7, 0xce, 0x8c, 0x68, 0x8d, 0x81, 0xe3, 0xae, 0xe9, 0x94, 0x68, 0x88, 0x7a, 0x15, 0x28,\r
- 0x8a, 0xfb, 0xb7, 0xac, 0xb8, 0x45, 0xb7, 0xc5, 0x22, 0xb5, 0xc6, 0x4e, 0x67, 0x8f, 0xcd, 0x3d,\r
- 0x22, 0xfe, 0xb8, 0x4b, 0x44, 0x27, 0x27, 0x00, 0xbe, 0x52, 0x7d, 0x2b, 0x20, 0x25, 0xa3, 0xf8,\r
- 0x3c, 0x23, 0x83, 0xbf, 0x6a, 0x39, 0xcf, 0x5b, 0x4e, 0x48, 0xb3, 0xcf, 0x2f, 0x56, 0xee, 0xf0,\r
- 0xdf, 0xff, 0x18, 0x55, 0x5e, 0x31, 0x03, 0x7b, 0x91, 0x52, 0x48, 0x69, 0x48, 0x76, 0xf3, 0x04,\r
- 0x78, 0x14, 0x41, 0x51, 0x64, 0xf2, 0xc6, 0x60, 0x88, 0x1e, 0x69, 0x4b, 0x58, 0xc2, 0x80, 0x38,\r
- 0xa0, 0x32, 0xad, 0x25, 0x63, 0x4a, 0xad, 0x7b, 0x39, 0x17, 0x1d, 0xee, 0x36, 0x8e, 0x3d, 0x59,\r
- 0xbf, 0xb7, 0x29, 0x9e, 0x46, 0x01, 0xd4, 0x58, 0x7e, 0x68, 0xca, 0xaf, 0x8d, 0xb4, 0x57, 0xb7,\r
- 0x5a, 0xf4, 0x2f, 0xc0, 0xcf, 0x1a, 0xe7, 0xca, 0xce, 0xd2, 0x86, 0xd7, 0x7f, 0xac, 0x6c, 0xed,\r
- 0xb0, 0x3a, 0xd9, 0x4f, 0x14, 0x33, 0xd2, 0xc9, 0x4d, 0x08, 0xe6, 0x0b, 0xc1, 0xfd, 0xef, 0x05,\r
- 0x43, 0xcd, 0x29, 0x51, 0xe7, 0x65, 0xb3, 0x82, 0x30, 0xfd, 0xd1, 0x8d, 0xe5, 0xd2, 0xca, 0x62,\r
- 0x7d, 0xdc, 0x03, 0x2f, 0xe0, 0x5b, 0xbd, 0x2f, 0xf2, 0x1e, 0x2d, 0xb1, 0xc2, 0xf9, 0x4d, 0x8b,\r
- };\r
+UINT8 RsaPssN[] = {\r
+ 0xa4, 0x7d, 0x04, 0xe7, 0xca, 0xcd, 0xba, 0x4e, 0xa2, 0x6e, 0xca, 0x8a, 0x4c, 0x6e, 0x14, 0x56,\r
+ 0x3c, 0x2c, 0xe0, 0x3b, 0x62, 0x3b, 0x76, 0x8c, 0x0d, 0x49, 0x86, 0x8a, 0x57, 0x12, 0x13, 0x01,\r
+ 0xdb, 0xf7, 0x83, 0xd8, 0x2f, 0x4c, 0x05, 0x5e, 0x73, 0x96, 0x0e, 0x70, 0x55, 0x01, 0x87, 0xd0,\r
+ 0xaf, 0x62, 0xac, 0x34, 0x96, 0xf0, 0xa3, 0xd9, 0x10, 0x3c, 0x2e, 0xb7, 0x91, 0x9a, 0x72, 0x75,\r
+ 0x2f, 0xa7, 0xce, 0x8c, 0x68, 0x8d, 0x81, 0xe3, 0xae, 0xe9, 0x94, 0x68, 0x88, 0x7a, 0x15, 0x28,\r
+ 0x8a, 0xfb, 0xb7, 0xac, 0xb8, 0x45, 0xb7, 0xc5, 0x22, 0xb5, 0xc6, 0x4e, 0x67, 0x8f, 0xcd, 0x3d,\r
+ 0x22, 0xfe, 0xb8, 0x4b, 0x44, 0x27, 0x27, 0x00, 0xbe, 0x52, 0x7d, 0x2b, 0x20, 0x25, 0xa3, 0xf8,\r
+ 0x3c, 0x23, 0x83, 0xbf, 0x6a, 0x39, 0xcf, 0x5b, 0x4e, 0x48, 0xb3, 0xcf, 0x2f, 0x56, 0xee, 0xf0,\r
+ 0xdf, 0xff, 0x18, 0x55, 0x5e, 0x31, 0x03, 0x7b, 0x91, 0x52, 0x48, 0x69, 0x48, 0x76, 0xf3, 0x04,\r
+ 0x78, 0x14, 0x41, 0x51, 0x64, 0xf2, 0xc6, 0x60, 0x88, 0x1e, 0x69, 0x4b, 0x58, 0xc2, 0x80, 0x38,\r
+ 0xa0, 0x32, 0xad, 0x25, 0x63, 0x4a, 0xad, 0x7b, 0x39, 0x17, 0x1d, 0xee, 0x36, 0x8e, 0x3d, 0x59,\r
+ 0xbf, 0xb7, 0x29, 0x9e, 0x46, 0x01, 0xd4, 0x58, 0x7e, 0x68, 0xca, 0xaf, 0x8d, 0xb4, 0x57, 0xb7,\r
+ 0x5a, 0xf4, 0x2f, 0xc0, 0xcf, 0x1a, 0xe7, 0xca, 0xce, 0xd2, 0x86, 0xd7, 0x7f, 0xac, 0x6c, 0xed,\r
+ 0xb0, 0x3a, 0xd9, 0x4f, 0x14, 0x33, 0xd2, 0xc9, 0x4d, 0x08, 0xe6, 0x0b, 0xc1, 0xfd, 0xef, 0x05,\r
+ 0x43, 0xcd, 0x29, 0x51, 0xe7, 0x65, 0xb3, 0x82, 0x30, 0xfd, 0xd1, 0x8d, 0xe5, 0xd2, 0xca, 0x62,\r
+ 0x7d, 0xdc, 0x03, 0x2f, 0xe0, 0x5b, 0xbd, 0x2f, 0xf2, 0x1e, 0x2d, 0xb1, 0xc2, 0xf9, 0x4d, 0x8b,\r
+};\r
\r
//\r
// Public Exponent of RSA Key\r
//\r
-UINT8 RsaPssE[]={ 0x10, 0xe4, 0x3f };\r
+UINT8 RsaPssE[] = { 0x10, 0xe4, 0x3f };\r
\r
//\r
// Private Exponent of RSA Key\r
//\r
-UINT8 RsaPssD[]={\r
- 0x11, 0xa0, 0xdd, 0x28, 0x5f, 0x66, 0x47, 0x1a, 0x8d, 0xa3, 0x0b, 0xcb, 0x8c, 0x24, 0xa1, 0xd5,\r
- 0xc8, 0xdb, 0x94, 0x2f, 0xc9, 0x92, 0x07, 0x97, 0xca, 0x44, 0x24, 0x60, 0xa8, 0x00, 0xb7, 0x5b,\r
- 0xbc, 0x73, 0x8b, 0xeb, 0x8e, 0xe0, 0xe8, 0x74, 0xb0, 0x53, 0xe6, 0x47, 0x07, 0xdf, 0x4c, 0xfc,\r
- 0x78, 0x37, 0xc4, 0x0e, 0x5b, 0xe6, 0x8b, 0x8a, 0x8e, 0x1d, 0x01, 0x45, 0x16, 0x9c, 0xa6, 0x27,\r
- 0x1d, 0x81, 0x88, 0x7e, 0x19, 0xa1, 0xcd, 0x95, 0xb2, 0xfd, 0x0d, 0xe0, 0xdb, 0xa3, 0x47, 0xfe,\r
- 0x63, 0x7b, 0xcc, 0x6c, 0xdc, 0x24, 0xee, 0xbe, 0x03, 0xc2, 0x4d, 0x4c, 0xf3, 0xa5, 0xc6, 0x15,\r
- 0x4d, 0x78, 0xf1, 0x41, 0xfe, 0x34, 0x16, 0x99, 0x24, 0xd0, 0xf8, 0x95, 0x33, 0x65, 0x8e, 0xac,\r
- 0xfd, 0xea, 0xe9, 0x9c, 0xe1, 0xa8, 0x80, 0x27, 0xc1, 0x8f, 0xf9, 0x26, 0x53, 0xa8, 0x35, 0xaa,\r
- 0x38, 0x91, 0xbf, 0xff, 0xcd, 0x38, 0x8f, 0xfc, 0x23, 0x88, 0xce, 0x2b, 0x10, 0x56, 0x85, 0x43,\r
- 0x75, 0x05, 0x02, 0xcc, 0xbc, 0x69, 0xc0, 0x08, 0x8f, 0x1d, 0x69, 0x0e, 0x97, 0xa5, 0xf5, 0xbd,\r
- 0xd1, 0x88, 0x8c, 0xd2, 0xfa, 0xa4, 0x3c, 0x04, 0xae, 0x24, 0x53, 0x95, 0x22, 0xdd, 0xe2, 0xd9,\r
- 0xc2, 0x02, 0xf6, 0x55, 0xfc, 0x55, 0x75, 0x44, 0x40, 0xb5, 0x3a, 0x15, 0x32, 0xaa, 0xb4, 0x78,\r
- 0x51, 0xf6, 0x0b, 0x7a, 0x06, 0x7e, 0x24, 0x0b, 0x73, 0x8e, 0x1b, 0x1d, 0xaa, 0xe6, 0xca, 0x0d,\r
- 0x59, 0xee, 0xae, 0x27, 0x68, 0x6c, 0xd8, 0x88, 0x57, 0xe9, 0xad, 0xad, 0xc2, 0xd4, 0xb8, 0x2b,\r
- 0x07, 0xa6, 0x1a, 0x35, 0x84, 0x56, 0xaa, 0xf8, 0x07, 0x66, 0x96, 0x93, 0xff, 0xb1, 0x3c, 0x99,\r
- 0x64, 0xa6, 0x36, 0x54, 0xca, 0xdc, 0x81, 0xee, 0x59, 0xdf, 0x51, 0x1c, 0xa3, 0xa4, 0xbd, 0x67,\r
- };\r
+UINT8 RsaPssD[] = {\r
+ 0x11, 0xa0, 0xdd, 0x28, 0x5f, 0x66, 0x47, 0x1a, 0x8d, 0xa3, 0x0b, 0xcb, 0x8c, 0x24, 0xa1, 0xd5,\r
+ 0xc8, 0xdb, 0x94, 0x2f, 0xc9, 0x92, 0x07, 0x97, 0xca, 0x44, 0x24, 0x60, 0xa8, 0x00, 0xb7, 0x5b,\r
+ 0xbc, 0x73, 0x8b, 0xeb, 0x8e, 0xe0, 0xe8, 0x74, 0xb0, 0x53, 0xe6, 0x47, 0x07, 0xdf, 0x4c, 0xfc,\r
+ 0x78, 0x37, 0xc4, 0x0e, 0x5b, 0xe6, 0x8b, 0x8a, 0x8e, 0x1d, 0x01, 0x45, 0x16, 0x9c, 0xa6, 0x27,\r
+ 0x1d, 0x81, 0x88, 0x7e, 0x19, 0xa1, 0xcd, 0x95, 0xb2, 0xfd, 0x0d, 0xe0, 0xdb, 0xa3, 0x47, 0xfe,\r
+ 0x63, 0x7b, 0xcc, 0x6c, 0xdc, 0x24, 0xee, 0xbe, 0x03, 0xc2, 0x4d, 0x4c, 0xf3, 0xa5, 0xc6, 0x15,\r
+ 0x4d, 0x78, 0xf1, 0x41, 0xfe, 0x34, 0x16, 0x99, 0x24, 0xd0, 0xf8, 0x95, 0x33, 0x65, 0x8e, 0xac,\r
+ 0xfd, 0xea, 0xe9, 0x9c, 0xe1, 0xa8, 0x80, 0x27, 0xc1, 0x8f, 0xf9, 0x26, 0x53, 0xa8, 0x35, 0xaa,\r
+ 0x38, 0x91, 0xbf, 0xff, 0xcd, 0x38, 0x8f, 0xfc, 0x23, 0x88, 0xce, 0x2b, 0x10, 0x56, 0x85, 0x43,\r
+ 0x75, 0x05, 0x02, 0xcc, 0xbc, 0x69, 0xc0, 0x08, 0x8f, 0x1d, 0x69, 0x0e, 0x97, 0xa5, 0xf5, 0xbd,\r
+ 0xd1, 0x88, 0x8c, 0xd2, 0xfa, 0xa4, 0x3c, 0x04, 0xae, 0x24, 0x53, 0x95, 0x22, 0xdd, 0xe2, 0xd9,\r
+ 0xc2, 0x02, 0xf6, 0x55, 0xfc, 0x55, 0x75, 0x44, 0x40, 0xb5, 0x3a, 0x15, 0x32, 0xaa, 0xb4, 0x78,\r
+ 0x51, 0xf6, 0x0b, 0x7a, 0x06, 0x7e, 0x24, 0x0b, 0x73, 0x8e, 0x1b, 0x1d, 0xaa, 0xe6, 0xca, 0x0d,\r
+ 0x59, 0xee, 0xae, 0x27, 0x68, 0x6c, 0xd8, 0x88, 0x57, 0xe9, 0xad, 0xad, 0xc2, 0xd4, 0xb8, 0x2b,\r
+ 0x07, 0xa6, 0x1a, 0x35, 0x84, 0x56, 0xaa, 0xf8, 0x07, 0x66, 0x96, 0x93, 0xff, 0xb1, 0x3c, 0x99,\r
+ 0x64, 0xa6, 0x36, 0x54, 0xca, 0xdc, 0x81, 0xee, 0x59, 0xdf, 0x51, 0x1c, 0xa3, 0xa4, 0xbd, 0x67,\r
+};\r
\r
//\r
// Binary message to be signed and verified\r
//\r
-UINT8 PssMessage[]={\r
- 0xe0, 0x02, 0x37, 0x7a, 0xff, 0xb0, 0x4f, 0x0f, 0xe4, 0x59, 0x8d, 0xe9, 0xd9, 0x2d, 0x31, 0xd6,\r
- 0xc7, 0x86, 0x04, 0x0d, 0x57, 0x76, 0x97, 0x65, 0x56, 0xa2, 0xcf, 0xc5, 0x5e, 0x54, 0xa1, 0xdc,\r
- 0xb3, 0xcb, 0x1b, 0x12, 0x6b, 0xd6, 0xa4, 0xbe, 0xd2, 0xa1, 0x84, 0x99, 0x0c, 0xce, 0xa7, 0x73,\r
- 0xfc, 0xc7, 0x9d, 0x24, 0x65, 0x53, 0xe6, 0xc6, 0x4f, 0x68, 0x6d, 0x21, 0xad, 0x41, 0x52, 0x67,\r
- 0x3c, 0xaf, 0xec, 0x22, 0xae, 0xb4, 0x0f, 0x6a, 0x08, 0x4e, 0x8a, 0x5b, 0x49, 0x91, 0xf4, 0xc6,\r
- 0x4c, 0xf8, 0xa9, 0x27, 0xef, 0xfd, 0x0f, 0xd7, 0x75, 0xe7, 0x1e, 0x83, 0x29, 0xe4, 0x1f, 0xdd,\r
- 0x44, 0x57, 0xb3, 0x91, 0x11, 0x73, 0x18, 0x7b, 0x4f, 0x09, 0xa8, 0x17, 0xd7, 0x9e, 0xa2, 0x39,\r
- 0x7f, 0xc1, 0x2d, 0xfe, 0x3d, 0x9c, 0x9a, 0x02, 0x90, 0xc8, 0xea, 0xd3, 0x1b, 0x66, 0x90, 0xa6,\r
- };\r
+UINT8 PssMessage[] = {\r
+ 0xe0, 0x02, 0x37, 0x7a, 0xff, 0xb0, 0x4f, 0x0f, 0xe4, 0x59, 0x8d, 0xe9, 0xd9, 0x2d, 0x31, 0xd6,\r
+ 0xc7, 0x86, 0x04, 0x0d, 0x57, 0x76, 0x97, 0x65, 0x56, 0xa2, 0xcf, 0xc5, 0x5e, 0x54, 0xa1, 0xdc,\r
+ 0xb3, 0xcb, 0x1b, 0x12, 0x6b, 0xd6, 0xa4, 0xbe, 0xd2, 0xa1, 0x84, 0x99, 0x0c, 0xce, 0xa7, 0x73,\r
+ 0xfc, 0xc7, 0x9d, 0x24, 0x65, 0x53, 0xe6, 0xc6, 0x4f, 0x68, 0x6d, 0x21, 0xad, 0x41, 0x52, 0x67,\r
+ 0x3c, 0xaf, 0xec, 0x22, 0xae, 0xb4, 0x0f, 0x6a, 0x08, 0x4e, 0x8a, 0x5b, 0x49, 0x91, 0xf4, 0xc6,\r
+ 0x4c, 0xf8, 0xa9, 0x27, 0xef, 0xfd, 0x0f, 0xd7, 0x75, 0xe7, 0x1e, 0x83, 0x29, 0xe4, 0x1f, 0xdd,\r
+ 0x44, 0x57, 0xb3, 0x91, 0x11, 0x73, 0x18, 0x7b, 0x4f, 0x09, 0xa8, 0x17, 0xd7, 0x9e, 0xa2, 0x39,\r
+ 0x7f, 0xc1, 0x2d, 0xfe, 0x3d, 0x9c, 0x9a, 0x02, 0x90, 0xc8, 0xea, 0xd3, 0x1b, 0x66, 0x90, 0xa6,\r
+};\r
\r
//\r
// Binary message to be signed and verified\r
//\r
-UINT8 PssSalt[]={\r
- 0xd6, 0x6f, 0x72, 0xf1, 0x0b, 0x69, 0x00, 0x1a, 0x5b, 0x59, 0xcf, 0x10, 0x92, 0xad, 0x27, 0x4d,\r
- 0x50, 0x56, 0xc4, 0xe9, 0x5c, 0xcc, 0xcf, 0xbe, 0x3b, 0x53, 0x0d, 0xcb, 0x02, 0x7e, 0x57, 0xd6\r
- };\r
+UINT8 PssSalt[] = {\r
+ 0xd6, 0x6f, 0x72, 0xf1, 0x0b, 0x69, 0x00, 0x1a, 0x5b, 0x59, 0xcf, 0x10, 0x92, 0xad, 0x27, 0x4d,\r
+ 0x50, 0x56, 0xc4, 0xe9, 0x5c, 0xcc, 0xcf, 0xbe, 0x3b, 0x53, 0x0d, 0xcb, 0x02, 0x7e, 0x57, 0xd6\r
+};\r
\r
//\r
// RSASSA-PSS Signature over above message using above keys, salt and SHA256 digest(and MGF1) algo.\r
//\r
-UINT8 TestVectorSignature[]={\r
- 0x4f, 0x9b, 0x42, 0x5c, 0x20, 0x58, 0x46, 0x0e, 0x4a, 0xb2, 0xf5, 0xc9, 0x63, 0x84, 0xda, 0x23,\r
- 0x27, 0xfd, 0x29, 0x15, 0x0f, 0x01, 0x95, 0x5a, 0x76, 0xb4, 0xef, 0xe9, 0x56, 0xaf, 0x06, 0xdc,\r
- 0x08, 0x77, 0x9a, 0x37, 0x4e, 0xe4, 0x60, 0x7e, 0xab, 0x61, 0xa9, 0x3a, 0xdc, 0x56, 0x08, 0xf4,\r
- 0xec, 0x36, 0xe4, 0x7f, 0x2a, 0x0f, 0x75, 0x4e, 0x8f, 0xf8, 0x39, 0xa8, 0xa1, 0x9b, 0x1d, 0xb1,\r
- 0xe8, 0x84, 0xea, 0x4c, 0xf3, 0x48, 0xcd, 0x45, 0x50, 0x69, 0xeb, 0x87, 0xaf, 0xd5, 0x36, 0x45,\r
- 0xb4, 0x4e, 0x28, 0xa0, 0xa5, 0x68, 0x08, 0xf5, 0x03, 0x1d, 0xa5, 0xba, 0x91, 0x12, 0x76, 0x8d,\r
- 0xfb, 0xfc, 0xa4, 0x4e, 0xbe, 0x63, 0xa0, 0xc0, 0x57, 0x2b, 0x73, 0x1d, 0x66, 0x12, 0x2f, 0xb7,\r
- 0x16, 0x09, 0xbe, 0x14, 0x80, 0xfa, 0xa4, 0xe4, 0xf7, 0x5e, 0x43, 0x95, 0x51, 0x59, 0xd7, 0x0f,\r
- 0x08, 0x1e, 0x2a, 0x32, 0xfb, 0xb1, 0x9a, 0x48, 0xb9, 0xf1, 0x62, 0xcf, 0x6b, 0x2f, 0xb4, 0x45,\r
- 0xd2, 0xd6, 0x99, 0x4b, 0xc5, 0x89, 0x10, 0xa2, 0x6b, 0x59, 0x43, 0x47, 0x78, 0x03, 0xcd, 0xaa,\r
- 0xa1, 0xbd, 0x74, 0xb0, 0xda, 0x0a, 0x5d, 0x05, 0x3d, 0x8b, 0x1d, 0xc5, 0x93, 0x09, 0x1d, 0xb5,\r
- 0x38, 0x83, 0x83, 0xc2, 0x60, 0x79, 0xf3, 0x44, 0xe2, 0xae, 0xa6, 0x00, 0xd0, 0xe3, 0x24, 0x16,\r
- 0x4b, 0x45, 0x0f, 0x7b, 0x9b, 0x46, 0x51, 0x11, 0xb7, 0x26, 0x5f, 0x3b, 0x1b, 0x06, 0x30, 0x89,\r
- 0xae, 0x7e, 0x26, 0x23, 0xfc, 0x0f, 0xda, 0x80, 0x52, 0xcf, 0x4b, 0xf3, 0x37, 0x91, 0x02, 0xfb,\r
- 0xf7, 0x1d, 0x7c, 0x98, 0xe8, 0x25, 0x86, 0x64, 0xce, 0xed, 0x63, 0x7d, 0x20, 0xf9, 0x5f, 0xf0,\r
- 0x11, 0x18, 0x81, 0xe6, 0x50, 0xce, 0x61, 0xf2, 0x51, 0xd9, 0xc3, 0xa6, 0x29, 0xef, 0x22, 0x2d,\r
- };\r
-\r
-\r
-STATIC VOID *mRsa;\r
+UINT8 TestVectorSignature[] = {\r
+ 0x4f, 0x9b, 0x42, 0x5c, 0x20, 0x58, 0x46, 0x0e, 0x4a, 0xb2, 0xf5, 0xc9, 0x63, 0x84, 0xda, 0x23,\r
+ 0x27, 0xfd, 0x29, 0x15, 0x0f, 0x01, 0x95, 0x5a, 0x76, 0xb4, 0xef, 0xe9, 0x56, 0xaf, 0x06, 0xdc,\r
+ 0x08, 0x77, 0x9a, 0x37, 0x4e, 0xe4, 0x60, 0x7e, 0xab, 0x61, 0xa9, 0x3a, 0xdc, 0x56, 0x08, 0xf4,\r
+ 0xec, 0x36, 0xe4, 0x7f, 0x2a, 0x0f, 0x75, 0x4e, 0x8f, 0xf8, 0x39, 0xa8, 0xa1, 0x9b, 0x1d, 0xb1,\r
+ 0xe8, 0x84, 0xea, 0x4c, 0xf3, 0x48, 0xcd, 0x45, 0x50, 0x69, 0xeb, 0x87, 0xaf, 0xd5, 0x36, 0x45,\r
+ 0xb4, 0x4e, 0x28, 0xa0, 0xa5, 0x68, 0x08, 0xf5, 0x03, 0x1d, 0xa5, 0xba, 0x91, 0x12, 0x76, 0x8d,\r
+ 0xfb, 0xfc, 0xa4, 0x4e, 0xbe, 0x63, 0xa0, 0xc0, 0x57, 0x2b, 0x73, 0x1d, 0x66, 0x12, 0x2f, 0xb7,\r
+ 0x16, 0x09, 0xbe, 0x14, 0x80, 0xfa, 0xa4, 0xe4, 0xf7, 0x5e, 0x43, 0x95, 0x51, 0x59, 0xd7, 0x0f,\r
+ 0x08, 0x1e, 0x2a, 0x32, 0xfb, 0xb1, 0x9a, 0x48, 0xb9, 0xf1, 0x62, 0xcf, 0x6b, 0x2f, 0xb4, 0x45,\r
+ 0xd2, 0xd6, 0x99, 0x4b, 0xc5, 0x89, 0x10, 0xa2, 0x6b, 0x59, 0x43, 0x47, 0x78, 0x03, 0xcd, 0xaa,\r
+ 0xa1, 0xbd, 0x74, 0xb0, 0xda, 0x0a, 0x5d, 0x05, 0x3d, 0x8b, 0x1d, 0xc5, 0x93, 0x09, 0x1d, 0xb5,\r
+ 0x38, 0x83, 0x83, 0xc2, 0x60, 0x79, 0xf3, 0x44, 0xe2, 0xae, 0xa6, 0x00, 0xd0, 0xe3, 0x24, 0x16,\r
+ 0x4b, 0x45, 0x0f, 0x7b, 0x9b, 0x46, 0x51, 0x11, 0xb7, 0x26, 0x5f, 0x3b, 0x1b, 0x06, 0x30, 0x89,\r
+ 0xae, 0x7e, 0x26, 0x23, 0xfc, 0x0f, 0xda, 0x80, 0x52, 0xcf, 0x4b, 0xf3, 0x37, 0x91, 0x02, 0xfb,\r
+ 0xf7, 0x1d, 0x7c, 0x98, 0xe8, 0x25, 0x86, 0x64, 0xce, 0xed, 0x63, 0x7d, 0x20, 0xf9, 0x5f, 0xf0,\r
+ 0x11, 0x18, 0x81, 0xe6, 0x50, 0xce, 0x61, 0xf2, 0x51, 0xd9, 0xc3, 0xa6, 0x29, 0xef, 0x22, 0x2d,\r
+};\r
+\r
+STATIC VOID *mRsa;\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaPssPreReq (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
mRsa = RsaNew ();\r
VOID\r
EFIAPI\r
TestVerifyRsaPssCleanUp (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
if (mRsa != NULL) {\r
}\r
}\r
\r
-\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaPssSignVerify (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
UINT8 *Signature;\r
UT_ASSERT_TRUE (Status);\r
\r
SigSize = 0;\r
- Status = RsaPssSign (mRsa, PssMessage, sizeof(PssMessage), SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE, NULL, &SigSize);\r
+ Status = RsaPssSign (mRsa, PssMessage, sizeof (PssMessage), SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE, NULL, &SigSize);\r
UT_ASSERT_FALSE (Status);\r
UT_ASSERT_NOT_EQUAL (SigSize, 0);\r
\r
Signature = AllocatePool (SigSize);\r
- Status = RsaPssSign (mRsa, PssMessage, sizeof(PssMessage), SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE, Signature, &SigSize);\r
+ Status = RsaPssSign (mRsa, PssMessage, sizeof (PssMessage), SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE, Signature, &SigSize);\r
UT_ASSERT_TRUE (Status);\r
\r
//\r
// Verify RSA PSS encoded Signature generated in above step\r
//\r
- Status = RsaPssVerify (mRsa, PssMessage, sizeof(PssMessage), Signature, SigSize, SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE);\r
+ Status = RsaPssVerify (mRsa, PssMessage, sizeof (PssMessage), Signature, SigSize, SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE);\r
UT_ASSERT_TRUE (Status);\r
\r
//\r
// Verify NIST FIPS 186-3 RSA test vector signature\r
//\r
- Status = RsaPssVerify (mRsa, PssMessage, sizeof(PssMessage), TestVectorSignature, sizeof(TestVectorSignature), SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE);\r
+ Status = RsaPssVerify (mRsa, PssMessage, sizeof (PssMessage), TestVectorSignature, sizeof (TestVectorSignature), SHA256_DIGEST_SIZE, SHA256_DIGEST_SIZE);\r
UT_ASSERT_TRUE (Status);\r
\r
- FreePool(Signature);\r
+ FreePool (Signature);\r
return UNIT_TEST_PASSED;\r
}\r
\r
-\r
-TEST_DESC mRsaPssTest[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------Function---------------------------------Pre---------------------Post---------Context\r
- //\r
- {"TestVerifyRsaPssSignVerify()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaPssSignVerify, TestVerifyRsaPssPreReq, TestVerifyRsaPssCleanUp, NULL},\r
+TEST_DESC mRsaPssTest[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------Function---------------------------------Pre---------------------Post---------Context\r
+ //\r
+ { "TestVerifyRsaPssSignVerify()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaPssSignVerify, TestVerifyRsaPssPreReq, TestVerifyRsaPssCleanUp, NULL },\r
};\r
\r
-UINTN mRsaPssTestNum = ARRAY_SIZE(mRsaPssTest);\r
+UINTN mRsaPssTestNum = ARRAY_SIZE (mRsaPssTest);\r
//\r
// Public Modulus of RSA Key\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaN[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaN[] = {\r
0xBB, 0xF8, 0x2F, 0x09, 0x06, 0x82, 0xCE, 0x9C, 0x23, 0x38, 0xAC, 0x2B, 0x9D, 0xA8, 0x71, 0xF7,\r
0x36, 0x8D, 0x07, 0xEE, 0xD4, 0x10, 0x43, 0xA4, 0x40, 0xD6, 0xB6, 0xF0, 0x74, 0x54, 0xF5, 0x1F,\r
0xB8, 0xDF, 0xBA, 0xAF, 0x03, 0x5C, 0x02, 0xAB, 0x61, 0xEA, 0x48, 0xCE, 0xEB, 0x6F, 0xCD, 0x48,\r
0xEE, 0x6A, 0x64, 0x9D, 0x06, 0x09, 0x53, 0x74, 0x88, 0x34, 0xB2, 0x45, 0x45, 0x98, 0x39, 0x4E,\r
0xE0, 0xAA, 0xB1, 0x2D, 0x7B, 0x61, 0xA5, 0x1F, 0x52, 0x7A, 0x9A, 0x41, 0xF6, 0xC1, 0x68, 0x7F,\r
0xE2, 0x53, 0x72, 0x98, 0xCA, 0x2A, 0x8F, 0x59, 0x46, 0xF8, 0xE5, 0xFD, 0x09, 0x1D, 0xBD, 0xCB\r
- };\r
+};\r
\r
//\r
// Public Exponent of RSA Key\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaE[] = { 0x11 };\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaE[] = { 0x11 };\r
\r
//\r
// Private Exponent of RSA Key\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaD[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaD[] = {\r
0xA5, 0xDA, 0xFC, 0x53, 0x41, 0xFA, 0xF2, 0x89, 0xC4, 0xB9, 0x88, 0xDB, 0x30, 0xC1, 0xCD, 0xF8,\r
0x3F, 0x31, 0x25, 0x1E, 0x06, 0x68, 0xB4, 0x27, 0x84, 0x81, 0x38, 0x01, 0x57, 0x96, 0x41, 0xB2,\r
0x94, 0x10, 0xB3, 0xC7, 0x99, 0x8D, 0x6B, 0xC4, 0x65, 0x74, 0x5E, 0x5C, 0x39, 0x26, 0x69, 0xD6,\r
0xE5, 0x6A, 0xAF, 0x68, 0xC5, 0x6C, 0x09, 0x2C, 0xD3, 0x8D, 0xC3, 0xBE, 0xF5, 0xD2, 0x0A, 0x93,\r
0x99, 0x26, 0xED, 0x4F, 0x74, 0xA1, 0x3E, 0xDD, 0xFB, 0xE1, 0xA1, 0xCE, 0xCC, 0x48, 0x94, 0xAF,\r
0x94, 0x28, 0xC2, 0xB7, 0xB8, 0x88, 0x3F, 0xE4, 0x46, 0x3A, 0x4B, 0xC8, 0x5B, 0x1C, 0xB3, 0xC1\r
- };\r
+};\r
\r
//\r
// Known Answer Test (KAT) Data for RSA PKCS#1 Signing\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 RsaSignData[] = "OpenSSL FIPS 140-2 Public Key RSA KAT";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 RsaSignData[] = "OpenSSL FIPS 140-2 Public Key RSA KAT";\r
\r
//\r
// Known Signature for the above message, under SHA-1 Digest\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaPkcs1Signature[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 RsaPkcs1Signature[] = {\r
0x71, 0xEE, 0x1A, 0xC0, 0xFE, 0x01, 0x93, 0x54, 0x79, 0x5C, 0xF2, 0x4C, 0x4A, 0xFD, 0x1A, 0x05,\r
0x8F, 0x64, 0xB1, 0x6D, 0x61, 0x33, 0x8D, 0x9B, 0xE7, 0xFD, 0x60, 0xA3, 0x83, 0xB5, 0xA3, 0x51,\r
0x55, 0x77, 0x90, 0xCF, 0xDC, 0x22, 0x37, 0x8E, 0xD0, 0xE1, 0xAE, 0x09, 0xE3, 0x3D, 0x1E, 0xF8,\r
0x4E, 0xCA, 0x2E, 0x4E, 0xBC, 0x29, 0xA8, 0x67, 0x13, 0xB7, 0x9F, 0x1D, 0x04, 0x44, 0xE5, 0x5F,\r
0x35, 0x07, 0x11, 0xBC, 0xED, 0x19, 0x37, 0x21, 0xCF, 0x23, 0x48, 0x1F, 0x72, 0x05, 0xDE, 0xE6,\r
0xE8, 0x7F, 0x33, 0x8A, 0x76, 0x4B, 0x2F, 0x95, 0xDF, 0xF1, 0x5F, 0x84, 0x80, 0xD9, 0x46, 0xB4\r
- };\r
+};\r
\r
//\r
// Default public key 0x10001 = 65537\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DefaultPublicKey[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DefaultPublicKey[] = {\r
0x01, 0x00, 0x01\r
};\r
\r
-VOID *mRsa;\r
+VOID *mRsa;\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaPreReq (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
mRsa = RsaNew ();\r
VOID\r
EFIAPI\r
TestVerifyRsaCleanUp (\r
- UNIT_TEST_CONTEXT Context\r
+ UNIT_TEST_CONTEXT Context\r
)\r
{\r
if (mRsa != NULL) {\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaSetGetKeyComponents (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
UT_ASSERT_TRUE (Status);\r
\r
KeySize = 0;\r
- Status = RsaGetKey (mRsa, RsaKeyN, NULL, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyN, NULL, &KeySize);\r
UT_ASSERT_FALSE (Status);\r
UT_ASSERT_EQUAL (KeySize, sizeof (RsaN));\r
\r
KeyBuffer = AllocatePool (KeySize);\r
- Status = RsaGetKey (mRsa, RsaKeyN, KeyBuffer, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyN, KeyBuffer, &KeySize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (KeySize, sizeof (RsaN));\r
\r
UT_ASSERT_TRUE (Status);\r
\r
KeySize = 0;\r
- Status = RsaGetKey (mRsa, RsaKeyE, NULL, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyE, NULL, &KeySize);\r
UT_ASSERT_FALSE (Status);\r
UT_ASSERT_EQUAL (KeySize, sizeof (RsaE));\r
\r
KeyBuffer = AllocatePool (KeySize);\r
- Status = RsaGetKey (mRsa, RsaKeyE, KeyBuffer, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyE, KeyBuffer, &KeySize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (KeySize, sizeof (RsaE));\r
\r
UT_ASSERT_TRUE (Status);\r
\r
KeySize = 1;\r
- Status = RsaGetKey (mRsa, RsaKeyN, NULL, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyN, NULL, &KeySize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (KeySize, 0);\r
\r
UT_ASSERT_TRUE (Status);\r
\r
KeySize = 1;\r
- Status = RsaGetKey (mRsa, RsaKeyE, NULL, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyE, NULL, &KeySize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (KeySize, 0);\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaGenerateKeyComponents (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
Status = RsaGenerateKey (mRsa, RSA_MODULUS_LENGTH, NULL, 0);\r
UT_ASSERT_TRUE (Status);\r
\r
- KeySize = RSA_MODULUS_LENGTH / 8;\r
+ KeySize = RSA_MODULUS_LENGTH / 8;\r
KeyBuffer = AllocatePool (KeySize);\r
- Status = RsaGetKey (mRsa, RsaKeyE, KeyBuffer, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyE, KeyBuffer, &KeySize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (KeySize, 3);\r
UT_ASSERT_MEM_EQUAL (KeyBuffer, DefaultPublicKey, 3);\r
\r
KeySize = RSA_MODULUS_LENGTH / 8;\r
- Status = RsaGetKey (mRsa, RsaKeyN, KeyBuffer, &KeySize);\r
+ Status = RsaGetKey (mRsa, RsaKeyN, KeyBuffer, &KeySize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (KeySize, RSA_MODULUS_LENGTH / 8);\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyRsaPkcs1SignVerify (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
UINT8 HashValue[SHA1_DIGEST_SIZE];\r
HashSize = SHA1_DIGEST_SIZE;\r
ZeroMem (HashValue, HashSize);\r
\r
- Status = Sha1HashAll (RsaSignData, AsciiStrLen (RsaSignData), HashValue);\r
+ Status = Sha1HashAll (RsaSignData, AsciiStrLen (RsaSignData), HashValue);\r
UT_ASSERT_TRUE (Status);\r
\r
//\r
UT_ASSERT_NOT_EQUAL (SigSize, 0);\r
\r
Signature = AllocatePool (SigSize);\r
- Status = RsaPkcs1Sign (mRsa, HashValue, HashSize, Signature, &SigSize);\r
+ Status = RsaPkcs1Sign (mRsa, HashValue, HashSize, Signature, &SigSize);\r
UT_ASSERT_TRUE (Status);\r
UT_ASSERT_EQUAL (SigSize, sizeof (RsaPkcs1Signature));\r
\r
Status = RsaPkcs1Verify (mRsa, HashValue, HashSize, Signature, SigSize);\r
UT_ASSERT_TRUE (Status);\r
\r
- FreePool(Signature);\r
+ FreePool (Signature);\r
\r
return UNIT_TEST_PASSED;\r
}\r
\r
-TEST_DESC mRsaTest[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------Function---------------------------------Pre---------------------Post---------Context\r
- //\r
- {"TestVerifyRsaSetGetKeyComponents()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaSetGetKeyComponents, TestVerifyRsaPreReq, TestVerifyRsaCleanUp, NULL},\r
- {"TestVerifyRsaGenerateKeyComponents()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaGenerateKeyComponents, TestVerifyRsaPreReq, TestVerifyRsaCleanUp, NULL},\r
- {"TestVerifyRsaPkcs1SignVerify()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaPkcs1SignVerify, TestVerifyRsaPreReq, TestVerifyRsaCleanUp, NULL},\r
+TEST_DESC mRsaTest[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------Function---------------------------------Pre---------------------Post---------Context\r
+ //\r
+ { "TestVerifyRsaSetGetKeyComponents()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaSetGetKeyComponents, TestVerifyRsaPreReq, TestVerifyRsaCleanUp, NULL },\r
+ { "TestVerifyRsaGenerateKeyComponents()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaGenerateKeyComponents, TestVerifyRsaPreReq, TestVerifyRsaCleanUp, NULL },\r
+ { "TestVerifyRsaPkcs1SignVerify()", "CryptoPkg.BaseCryptLib.Rsa", TestVerifyRsaPkcs1SignVerify, TestVerifyRsaPreReq, TestVerifyRsaCleanUp, NULL },\r
};\r
\r
-UINTN mRsaTestNum = ARRAY_SIZE(mRsaTest);\r
+UINTN mRsaTestNum = ARRAY_SIZE (mRsaTest);\r
// signtool sign /ac <xxx.cer> / f <xxx.pfx> /p <pass> /fd <digestAlg>\r
// /tr http://timestamp.comodoca.com/rfc3161 sample.efi\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 AuthenticodeWithTS[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 AuthenticodeWithTS[] = {\r
0x30, 0x82, 0x0c, 0x00, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0,\r
0x82, 0x0b, 0xf1, 0x30, 0x82, 0x0b, 0xed, 0x02, 0x01, 0x01, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x09,\r
0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x78, 0x06, 0x0a, 0x2b,\r
0xb2, 0x6d, 0x75, 0xf4, 0x23, 0x58, 0x13, 0x78, 0x73, 0x1a, 0xb2, 0x84, 0xde, 0xad, 0xe8, 0x6d,\r
0xe6, 0xe7, 0x5c, 0xb6, 0xe6, 0x5b, 0x10, 0x37, 0x1f, 0xe3, 0x6e, 0xbd, 0x83, 0xd7, 0x51, 0xb1,\r
0x00, 0x00, 0x00, 0x00, 0x0a\r
- };\r
+};\r
\r
//\r
// The Comodo Time Stamping Signer Certificate Used for the verification of TimeStamp signature.\r
//\r
-GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TSTrustedCert[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TSTrustedCert[] = {\r
0x30, 0x82, 0x04, 0x93, 0x30, 0x82, 0x03, 0x7b, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x47,\r
0x8a, 0x8e, 0xfb, 0x59, 0xe1, 0xd8, 0x3f, 0x0c, 0xe1, 0x42, 0xd2, 0xa2, 0x87, 0x07, 0xbe, 0x30,\r
0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81,\r
0x86, 0x08, 0xeb, 0xdb, 0xe0, 0x1f, 0x8c, 0x10, 0xf2, 0x39, 0x64, 0x9b, 0xae, 0x4f, 0x0a, 0x2c,\r
0x92, 0x8a, 0x4f, 0x18, 0xb5, 0x91, 0xe5, 0x8d, 0x1a, 0x93, 0x5f, 0x1f, 0xae, 0xf1, 0xa6, 0xf0,\r
0x2e, 0x97, 0xd0, 0xd2, 0xf6, 0x2b, 0x3c, 0x0a\r
- };\r
+};\r
\r
UNIT_TEST_STATUS\r
EFIAPI\r
TestVerifyImageTimestampVerify (\r
- IN UNIT_TEST_CONTEXT Context\r
+ IN UNIT_TEST_CONTEXT Context\r
)\r
{\r
BOOLEAN Status;\r
return Status;\r
}\r
\r
-TEST_DESC mImageTimestampTest[] = {\r
- //\r
- // -----Description--------------------------------------Class----------------------------Function-----------------Pre---Post--Context\r
- //\r
- {"TestVerifyImageTimestampVerify()", "CryptoPkg.BaseCryptLib.ImageTimestamp", TestVerifyImageTimestampVerify, NULL, NULL, NULL},\r
+TEST_DESC mImageTimestampTest[] = {\r
+ //\r
+ // -----Description--------------------------------------Class----------------------------Function-----------------Pre---Post--Context\r
+ //\r
+ { "TestVerifyImageTimestampVerify()", "CryptoPkg.BaseCryptLib.ImageTimestamp", TestVerifyImageTimestampVerify, NULL, NULL, NULL },\r
};\r
\r
-UINTN mImageTimestampTestNum = ARRAY_SIZE(mImageTimestampTest);\r
+UINTN mImageTimestampTestNum = ARRAY_SIZE (mImageTimestampTest);\r
#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
-//#include <UnitTestTypes.h>\r
+// #include <UnitTestTypes.h>\r
#include <Library/UnitTestLib.h>\r
-//#include <Library/UnitTestAssertLib.h>\r
+// #include <Library/UnitTestAssertLib.h>\r
\r
-#define UNIT_TEST_NAME "BaseCryptLib Unit Test"\r
-#define UNIT_TEST_VERSION "1.0"\r
+#define UNIT_TEST_NAME "BaseCryptLib Unit Test"\r
+#define UNIT_TEST_VERSION "1.0"\r
\r
typedef struct {\r
- CHAR8 *Description;\r
- CHAR8 *ClassName;\r
- UNIT_TEST_FUNCTION Func;\r
- UNIT_TEST_PREREQUISITE PreReq;\r
- UNIT_TEST_CLEANUP CleanUp;\r
- UNIT_TEST_CONTEXT Context;\r
+ CHAR8 *Description;\r
+ CHAR8 *ClassName;\r
+ UNIT_TEST_FUNCTION Func;\r
+ UNIT_TEST_PREREQUISITE PreReq;\r
+ UNIT_TEST_CLEANUP CleanUp;\r
+ UNIT_TEST_CONTEXT Context;\r
} TEST_DESC;\r
\r
typedef struct {\r
- CHAR8 *Title;\r
- CHAR8 *Package;\r
- UNIT_TEST_SUITE_SETUP Sup;\r
- UNIT_TEST_SUITE_TEARDOWN Tdn;\r
- UINTN *TestNum;\r
- TEST_DESC *TestDesc;\r
+ CHAR8 *Title;\r
+ CHAR8 *Package;\r
+ UNIT_TEST_SUITE_SETUP Sup;\r
+ UNIT_TEST_SUITE_TEARDOWN Tdn;\r
+ UINTN *TestNum;\r
+ TEST_DESC *TestDesc;\r
} SUITE_DESC;\r
\r
-extern UINTN mPkcs7EkuTestNum;\r
-extern TEST_DESC mPkcs7EkuTest[];\r
+extern UINTN mPkcs7EkuTestNum;\r
+extern TEST_DESC mPkcs7EkuTest[];\r
\r
-extern UINTN mHashTestNum;\r
-extern TEST_DESC mHashTest[];\r
+extern UINTN mHashTestNum;\r
+extern TEST_DESC mHashTest[];\r
\r
-extern UINTN mHmacTestNum;\r
-extern TEST_DESC mHmacTest[];\r
+extern UINTN mHmacTestNum;\r
+extern TEST_DESC mHmacTest[];\r
\r
-extern UINTN mBlockCipherTestNum;\r
-extern TEST_DESC mBlockCipherTest[];\r
+extern UINTN mBlockCipherTestNum;\r
+extern TEST_DESC mBlockCipherTest[];\r
\r
-extern UINTN mRsaTestNum;\r
-extern TEST_DESC mRsaTest[];\r
+extern UINTN mRsaTestNum;\r
+extern TEST_DESC mRsaTest[];\r
\r
-extern UINTN mRsaCertTestNum;\r
-extern TEST_DESC mRsaCertTest[];\r
+extern UINTN mRsaCertTestNum;\r
+extern TEST_DESC mRsaCertTest[];\r
\r
-extern UINTN mPkcs7TestNum;\r
-extern TEST_DESC mPkcs7Test[];\r
+extern UINTN mPkcs7TestNum;\r
+extern TEST_DESC mPkcs7Test[];\r
\r
-extern UINTN mPkcs5TestNum;\r
-extern TEST_DESC mPkcs5Test[];\r
+extern UINTN mPkcs5TestNum;\r
+extern TEST_DESC mPkcs5Test[];\r
\r
-extern UINTN mAuthenticodeTestNum;\r
-extern TEST_DESC mAuthenticodeTest[];\r
+extern UINTN mAuthenticodeTestNum;\r
+extern TEST_DESC mAuthenticodeTest[];\r
\r
-extern UINTN mImageTimestampTestNum;\r
-extern TEST_DESC mImageTimestampTest[];\r
+extern UINTN mImageTimestampTestNum;\r
+extern TEST_DESC mImageTimestampTest[];\r
\r
-extern UINTN mDhTestNum;\r
-extern TEST_DESC mDhTest[];\r
+extern UINTN mDhTestNum;\r
+extern TEST_DESC mDhTest[];\r
\r
-extern UINTN mPrngTestNum;\r
-extern TEST_DESC mPrngTest[];\r
+extern UINTN mPrngTestNum;\r
+extern TEST_DESC mPrngTest[];\r
\r
-extern UINTN mOaepTestNum;\r
-extern TEST_DESC mOaepTest[];\r
+extern UINTN mOaepTestNum;\r
+extern TEST_DESC mOaepTest[];\r
\r
-extern UINTN mRsaPssTestNum;\r
-extern TEST_DESC mRsaPssTest[];\r
+extern UINTN mRsaPssTestNum;\r
+extern TEST_DESC mRsaPssTest[];\r
\r
/** Creates a framework you can use */\r
EFI_STATUS\r
EFIAPI\r
CreateUnitTest (\r
- IN CHAR8* UnitTestName,\r
- IN CHAR8* UnitTestVersion,\r
- IN OUT UNIT_TEST_FRAMEWORK_HANDLE* Framework\r
-);\r
+ IN CHAR8 *UnitTestName,\r
+ IN CHAR8 *UnitTestVersion,\r
+ IN OUT UNIT_TEST_FRAMEWORK_HANDLE *Framework\r
+ );\r
\r
/**\r
Validate UEFI-OpenSSL DH Interfaces.\r
VOID\r
);\r
\r
-\r
-\r
#endif\r
**/\r
#include "TestBaseCryptLib.h"\r
\r
-\r
/**\r
Initialize the unit test framework, suite, and unit tests for the\r
sample unit tests and run the unit tests.\r
EFI_STATUS Status;\r
UNIT_TEST_FRAMEWORK_HANDLE Framework;\r
\r
- DEBUG(( DEBUG_INFO, "%a v%a\n", UNIT_TEST_NAME, UNIT_TEST_VERSION ));\r
- CreateUnitTest(UNIT_TEST_NAME, UNIT_TEST_VERSION, &Framework);\r
+ DEBUG ((DEBUG_INFO, "%a v%a\n", UNIT_TEST_NAME, UNIT_TEST_VERSION));\r
+ CreateUnitTest (UNIT_TEST_NAME, UNIT_TEST_VERSION, &Framework);\r
\r
//\r
// Execute the tests.\r
**/\r
int\r
main (\r
- int argc,\r
- char *argv[]\r
+ int argc,\r
+ char *argv[]\r
)\r
{\r
return UefiTestMain ();\r