diff options
author | Long, Qin <qin.long@intel.com> | 2014-12-25 08:37:08 +0000 |
---|---|---|
committer | qlong <qlong@Edk2> | 2014-12-25 08:37:08 +0000 |
commit | 12d95665cb0e088afe2cd395f0acc7fdb2604acc (patch) | |
tree | 97b81462430833be22ad4b3e1869203e9cc7d921 /CryptoPkg/Include/Library/BaseCryptLib.h | |
parent | 270fc03f3e0c4d446926d490f1f9bb9ae0f2cf27 (diff) | |
download | edk2-12d95665cb0e088afe2cd395f0acc7fdb2604acc.zip edk2-12d95665cb0e088afe2cd395f0acc7fdb2604acc.tar.gz edk2-12d95665cb0e088afe2cd395f0acc7fdb2604acc.tar.bz2 |
Correct the Hash Calculation for Revoked X.509 Certificate to align with RFC3280 and UEFI 2.4 Spec.
This patch added one new X509GetTBSCert() interface in BaseCryptLib to retrieve the TBSCertificate,
and also corrected the hash calculation for revoked certificate to aligned the RFC3280 and UEFI 2.4 spec.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Long, Qin" <qin.long@intel.com>
Reviewed-by: "Dong, Guo" <guo.dong@initel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16559 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'CryptoPkg/Include/Library/BaseCryptLib.h')
-rw-r--r-- | CryptoPkg/Include/Library/BaseCryptLib.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/CryptoPkg/Include/Library/BaseCryptLib.h b/CryptoPkg/Include/Library/BaseCryptLib.h index e36041b..bc36ac7 100644 --- a/CryptoPkg/Include/Library/BaseCryptLib.h +++ b/CryptoPkg/Include/Library/BaseCryptLib.h @@ -1907,6 +1907,32 @@ X509StackFree ( );
/**
+ Retrieve the TBSCertificate from one given X.509 certificate.
+
+ @param[in] Cert Pointer to the given DER-encoded X509 certificate.
+ @param[in] CertSize Size of the X509 certificate in bytes.
+ @param[out] TBSCert DER-Encoded To-Be-Signed certificate.
+ @param[out] TBSCertSize Size of the TBS certificate in bytes.
+
+ If Cert is NULL, then return FALSE.
+ If TBSCert is NULL, then return FALSE.
+ If TBSCertSize is NULL, then return FALSE.
+ If this interface is not supported, then return FALSE.
+
+ @retval TRUE The TBSCertificate was retrieved successfully.
+ @retval FALSE Invalid X.509 certificate.
+
+**/
+BOOLEAN
+EFIAPI
+X509GetTBSCert (
+ IN CONST UINT8 *Cert,
+ IN UINTN CertSize,
+ OUT UINT8 **TBSCert,
+ OUT UINTN *TBSCertSize
+ );
+
+/**
Get the signer's certificates from PKCS#7 signed data as described in "PKCS #7:
Cryptographic Message Syntax Standard". The input signed data could be wrapped
in a ContentInfo structure.
@@ -2067,6 +2093,7 @@ AuthenticodeVerify ( signature.
If AuthData is NULL, then return FALSE.
+ If this interface is not supported, then return FALSE.
@param[in] AuthData Pointer to the Authenticode Signature retrieved from signed
PE/COFF image to be verified.
|