Skip to content

Commit

Permalink
Merged PR 2238: [SharedCrypto] Bring final version of SharedCrypto fo…
Browse files Browse the repository at this point in the history
…rward and fixed function name changes

Includes a cherry pick of 60df787 !2130
  • Loading branch information
Matthew Carlson committed Mar 21, 2020
1 parent 0e0dae0 commit 294ab1a
Show file tree
Hide file tree
Showing 24 changed files with 3,259 additions and 1,699 deletions.
271 changes: 159 additions & 112 deletions SharedCryptoPkg/Driver/Common/CommonSharedCryptoFull.c

Large diffs are not rendered by default.

57 changes: 50 additions & 7 deletions SharedCryptoPkg/Driver/Common/CommonSharedCryptoMu.c
@@ -1,8 +1,5 @@
/** @file
*
*
*
This module is consumed by both DXE and SMM as well as PEI
This module is consumed by both DXE and SMM as well as PEI
This links the functions in the protocol to the functions in BaseCryptLib.
This is the Mu flavor, which means we only support the functions that are used
Expand All @@ -17,6 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <Protocol/SharedCrypto.h>
#include <Library/BaseCryptLib.h>
#include <Library/TlsLib.h>
#include "SharedCryptoVersion.h"

CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
Expand All @@ -28,12 +26,14 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_HMAC_MD5_Duplicate HMAC_MD5_Duplicate;
NULL, //SHAREDCRYPTO_HMAC_MD5_Update HMAC_MD5_Update;
NULL, //SHAREDCRYPTO_HMAC_MD5_Final HMAC_MD5_Final;
//HMAC SHA1
HmacSha1New, //SHAREDCRYPTO_HMAC_SHA1_New HMAC_SHA1_New;
HmacSha1Free, //SHAREDCRYPTO_HMAC_SHA1_Free HMAC_SHA1_Free;
HmacSha1Init, //SHAREDCRYPTO_HMAC_SHA1_Init HMAC_SHA1_Init;
HmacSha1Duplicate, //SHAREDCRYPTO_HMAC_SHA1_Duplicate HMAC_SHA1_Duplicate;
HmacSha1Update, //SHAREDCRYPTO_HMAC_SHA1_Update HMAC_SHA1_Update;
HmacSha1Final, //SHAREDCRYPTO_HMAC_SHA1_Final HMAC_SHA1_Final;
//HMAC SHA256
HmacSha256New, //SHAREDCRYPTO_HMAC_SHA256_New HMAC_SHA256_New;
HmacSha256Free, //SHAREDCRYPTO_HMAC_SHA256_Free HMAC_SHA256_Free;
HmacSha256Init, //SHAREDCRYPTO_HMAC_SHA256_Init HMAC_SHA256_Init;
Expand Down Expand Up @@ -62,7 +62,7 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
Pkcs7GetSigners, //SHAREDCRYPTO_PKCS7_GetSigners PKCS7_GetSigners;
Pkcs7FreeSigners, //SHAREDCRYPTO_PKCS7_FreeSigners PKCS7_FreeSigners;
NULL, //SHAREDCRYPTO_PKCS7_Sign PKCS7_Sign;
NULL, //SHAREDCRYPTO_PKCS7_GetAttachedContent PKCS7_GetAttachedContent;
Pkcs7GetAttachedContent, //SHAREDCRYPTO_PKCS7_GetAttachedContent PKCS7_GetAttachedContent;
NULL, //SHAREDCRYPTO_PKCS7_GetCertificatesList PKCS7_GetCertificatesList;
AuthenticodeVerify, //SHAREDCRYPTO_AuthenticodeVerify AuthenticodeVerify;
NULL, //SHAREDCRYPTO_ImageTimestampVerify ImageTimestampVerify;
Expand Down Expand Up @@ -120,7 +120,6 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_X509_VerifyCert X509_VerifyCert;
NULL, //SHAREDCRYPTO_X509_ConstructCertificate X509_ConstructCertificate;
NULL, //SHAREDCRYPTO_X509_ConstructCertificateStack X509_ConstructCertificateStack;
NULL, // X509ConstructCertificateStackV This needs to come from EDK II
NULL, //SHAREDCRYPTO_X509_Free X509_Free;
NULL, //SHAREDCRYPTO_X509_StackFree X509_StackFree;
X509GetTBSCert, //SHAREDCRYPTO_X509_GetTBSCert X509_GetTBSCert;
Expand Down Expand Up @@ -150,5 +149,49 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_SM3_Duplicate
NULL, //SHAREDCRYPTO_SM3_Update
NULL, //SHAREDCRYPTO_SM3_Final
NULL //SHAREDCRYPTO_SM3_HashAll
NULL, //SHAREDCRYPTO_SM3_HashAll
/// HKDF
NULL,
// X509 Continued
NULL,
// TLS
TlsInitialize,
TlsCtxFree,
TlsCtxNew,
TlsFree,
TlsNew,
TlsInHandshake,
TlsDoHandshake,
TlsHandleAlert,
TlsCloseNotify,
TlsCtrlTrafficOut,
TlsCtrlTrafficIn,
TlsRead,
TlsWrite,
/// TLS Set
TlsSetVersion,
TlsSetConnectionEnd,
TlsSetCipherList,
TlsSetCompressionMethod,
TlsSetVerify,
TlsSetVerifyHost,
TlsSetSessionId,
TlsSetCaCertificate,
TlsSetHostPublicCert,
TlsSetHostPrivateKey,
TlsSetCertRevocationList,
/// TLS Get
TlsGetVersion,
TlsGetConnectionEnd,
TlsGetCurrentCipher,
TlsGetCurrentCompressionId,
TlsGetVerify,
TlsGetSessionId,
TlsGetClientRandom,
TlsGetServerRandom,
TlsGetKeyMaterial,
TlsGetCaCertificate,
TlsGetHostPublicCert,
TlsGetHostPrivateKey,
TlsGetCertRevocationList
};
49 changes: 47 additions & 2 deletions SharedCryptoPkg/Driver/Common/CommonSharedCryptoShaOnly.c
Expand Up @@ -28,12 +28,14 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_HMAC_MD5_Duplicate HMAC_MD5_Duplicate;
NULL, //SHAREDCRYPTO_HMAC_MD5_Update HMAC_MD5_Update;
NULL, //SHAREDCRYPTO_HMAC_MD5_Final HMAC_MD5_Final;
//HMAC SHA1
NULL, //SHAREDCRYPTO_HMAC_SHA1_New HMAC_SHA1_New;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Free HMAC_SHA1_Free;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Init HMAC_SHA1_Init;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Duplicate HMAC_SHA1_Duplicate;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Update HMAC_SHA1_Update;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Final HMAC_SHA1_Final;
//HMAC SHA256
NULL, //SHAREDCRYPTO_HMAC_SHA256_New HMAC_SHA256_New;
NULL, //SHAREDCRYPTO_HMAC_SHA256_Free HMAC_SHA256_Free;
NULL, //SHAREDCRYPTO_HMAC_SHA256_Init HMAC_SHA256_Init;
Expand Down Expand Up @@ -120,7 +122,6 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_X509_VerifyCert X509_VerifyCert;
NULL, //SHAREDCRYPTO_X509_ConstructCertificate X509_ConstructCertificate;
NULL, //SHAREDCRYPTO_X509_ConstructCertificateStack X509_ConstructCertificateStack;
NULL, // X509ConstructCertificateStackV This needs to come from EDK II
NULL, //SHAREDCRYPTO_X509_Free X509_Free;
NULL, //SHAREDCRYPTO_X509_StackFree X509_StackFree;
NULL, //SHAREDCRYPTO_X509_GetTBSCert X509_GetTBSCert;
Expand Down Expand Up @@ -150,5 +151,49 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_SM3_Duplicate
NULL, //SHAREDCRYPTO_SM3_Update
NULL, //SHAREDCRYPTO_SM3_Final
NULL //SHAREDCRYPTO_SM3_HashAll
NULL, //SHAREDCRYPTO_SM3_HashAll
/// HKDF
NULL,
// X509 Continued
NULL,
// TLS
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
/// TLS Set
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
/// TLS Get
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
};
50 changes: 48 additions & 2 deletions SharedCryptoPkg/Driver/Common/CommonSharedCryptoShaRsa.c
Expand Up @@ -18,6 +18,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Protocol/SharedCrypto.h>
#include <Library/BaseCryptLib.h>
#include "SharedCryptoVersion.h"
#include <Library/TlsLib.h>

CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
GetCryptoVersion,
Expand All @@ -28,12 +29,14 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_HMAC_MD5_Duplicate HMAC_MD5_Duplicate;
NULL, //SHAREDCRYPTO_HMAC_MD5_Update HMAC_MD5_Update;
NULL, //SHAREDCRYPTO_HMAC_MD5_Final HMAC_MD5_Final;
// HMAC SHA 1
NULL, //SHAREDCRYPTO_HMAC_SHA1_New HMAC_SHA1_New;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Free HMAC_SHA1_Free;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Init HMAC_SHA1_Init;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Duplicate HMAC_SHA1_Duplicate;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Update HMAC_SHA1_Update;
NULL, //SHAREDCRYPTO_HMAC_SHA1_Final HMAC_SHA1_Final;
// HMAC SHA 256
NULL, //SHAREDCRYPTO_HMAC_SHA256_New HMAC_SHA256_New;
NULL, //SHAREDCRYPTO_HMAC_SHA256_Free HMAC_SHA256_Free;
NULL, //SHAREDCRYPTO_HMAC_SHA256_Init HMAC_SHA256_Init;
Expand Down Expand Up @@ -120,7 +123,6 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_X509_VerifyCert X509_VerifyCert;
NULL, //SHAREDCRYPTO_X509_ConstructCertificate X509_ConstructCertificate;
NULL, //SHAREDCRYPTO_X509_ConstructCertificateStack X509_ConstructCertificateStack;
NULL, // X509ConstructCertificateStackV This needs to come from EDK II
NULL, //SHAREDCRYPTO_X509_Free X509_Free;
NULL, //SHAREDCRYPTO_X509_StackFree X509_StackFree;
NULL, //SHAREDCRYPTO_X509_GetTBSCert X509_GetTBSCert;
Expand Down Expand Up @@ -150,5 +152,49 @@ CONST SHARED_CRYPTO_FUNCTIONS mSharedCryptoFunctions = {
NULL, //SHAREDCRYPTO_SM3_Duplicate
NULL, //SHAREDCRYPTO_SM3_Update
NULL, //SHAREDCRYPTO_SM3_Final
NULL //SHAREDCRYPTO_SM3_HashAll
NULL, //SHAREDCRYPTO_SM3_HashAll
/// HKDF
NULL,
// X509 Continued
NULL,
// TLS
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
/// TLS Set
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
/// TLS Get
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
};
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoDxe.inf
Expand Up @@ -41,6 +41,8 @@
UefiBootServicesTableLib
BaseCryptLib
UefiDriverEntryPoint
DebugLib
TlsLib

[Protocols]
gSharedCryptoProtocolGuid ## produces
Expand Down
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoDxeMu.inf
Expand Up @@ -41,6 +41,8 @@
UefiBootServicesTableLib
BaseCryptLib
UefiDriverEntryPoint
DebugLib
TlsLib

[Protocols]
gSharedCryptoProtocolGuid ## produces
Expand Down
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoDxeShaOnly.inf
Expand Up @@ -40,6 +40,8 @@
UefiBootServicesTableLib
BaseCryptLib
UefiDriverEntryPoint
DebugLib
TlsLib

[Protocols]
gSharedCryptoProtocolGuid ## produces
Expand Down
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoPeiShaOnly.inf
Expand Up @@ -40,6 +40,8 @@
BaseCryptLib
DebugLib
PeiServicesLib
DebugLib
TlsLib

[Ppis]
gSharedCryptoPpiGuid ## produces
Expand Down
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoPeiShaRsa.inf
Expand Up @@ -40,6 +40,8 @@
BaseCryptLib
DebugLib
PeiServicesLib
DebugLib
TlsLib

[Ppis]
gSharedCryptoPpiGuid ## produces
Expand Down
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoSmm.inf
Expand Up @@ -44,6 +44,8 @@
SmmServicesTableLib
UefiDriverEntryPoint
BaseCryptLib
DebugLib
TlsLib

[Protocols]
gSharedCryptoSmmProtocolGuid ## produces
Expand Down
2 changes: 2 additions & 0 deletions SharedCryptoPkg/Driver/SharedCryptoSmmMu.inf
Expand Up @@ -44,6 +44,8 @@
SmmServicesTableLib
UefiDriverEntryPoint
BaseCryptLib
DebugLib
TlsLib

[Protocols]
gSharedCryptoSmmProtocolGuid ## produces
Expand Down

0 comments on commit 294ab1a

Please sign in to comment.