Zhihao Li 
							
						 
					 
					
						
						
							
						
						c1e662101a 
					 
					
						
						
							
							CryptoPkg: Add new hash algorithm ParallelHash256HashAll in BaseCryptLib.  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3596 
Parallel hash function ParallelHash256HashAll, as defined in NIST's
Special Publication 800-185, published December 2016. It utilizes
multi-process to calculate the digest.
Passed CI test.
Onprotocol version code passed test.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Signed-off-by: Zhihao Li <zhihao.li@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com > 
						
						
					 
					
						2022-03-18 06:49:18 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Kubacki 
							
						 
					 
					
						
						
							
						
						7c34237831 
					 
					
						
						
							
							CryptoPkg: Apply uncrustify changes  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 
Apply uncrustify changes to .c/.h files in the CryptoPkg package
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com > 
						
						
					 
					
						2021-12-07 17:24:28 +00:00 
						 
				 
			
				
					
						
							
							
								Michael D Kinney 
							
						 
					 
					
						
						
							
						
						c8f46130f8 
					 
					
						
						
							
							CryptoPkg: Change OPTIONAL keyword usage style  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3760 
Update all use of ', OPTIONAL' to ' OPTIONAL,' for function params.
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com > 
						
						
					 
					
						2021-12-07 17:24:28 +00:00 
						 
				 
			
				
					
						
							
							
								Agrawal, Sachin 
							
						 
					 
					
						
						
							
						
						20ca528828 
					 
					
						
						
							
							CryptoPkg: BaseCryptLib: Update Salt length requirement for RSA-PSS scheme.  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3455 
Enforce salt length to be equal to digest length for RSA-PSS
encoding scheme.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com > 
						
						
					 
					
						2021-06-23 15:19:44 +00:00 
						 
				 
			
				
					
						
							
							
								Sachin Agrawal 
							
						 
					 
					
						
						
							
						
						22ac5cc9d9 
					 
					
						
						
							
							CryptoPkg: BaseCryptLib: Add RSA PSS verify support  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3314 
This patch uses Openssl's EVP API's to perform RSASSA-PSS verification
of a binary blob.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Signed-off-by: Sachin Agrawal <sachin.agrawal@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com > 
						
						
					 
					
						2021-05-14 03:35:33 +00:00 
						 
				 
			
				
					
						
							
							
								Michael D Kinney 
							
						 
					 
					
						
						
							
						
						8c89229885 
					 
					
						
						
							
							CryptoPkg/Private/Protocol/Crypto.h: Remove duplicate function type  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3287 
Remove duplicate declaration of the function prototype
EDKII_CRYPTO_RSA_GET_PUBLIC_KEY_FROM_X509.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn > 
						
						
					 
					
						2021-04-01 23:16:31 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						84ce1f1bdc 
					 
					
						
						
							
							CryptoPkg/Crypto.h: Update the version of Crypto Driver  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
The binary is totally changed, so update the Crypto Version to 7:
1. Retire below deprecated function:
MD4, ARC4, TDES, AES ECB MODE, HMAC MD5, HMAC SHA1
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						c812d3209c 
					 
					
						
						
							
							CryptoPkg/BaseCryptLib: Retire HMAC SHA1 algorithm  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
HMAC SHA1 is not secure any longer.
Remove the HMAC SHA1 support from edk2.
Change the HMAC SHA1 field name in EDKII_CRYPTO_PROTOCOL to indicate the
function is unsupported any longer.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						b6174e2d09 
					 
					
						
						
							
							CryptoPkg/BaseCryptLib: Retire HMAC MD5 algorithm  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
HMAC MD5 is not secure any longer.
Remove the HMAC MD5 support from edk2.
Change the HMAC MD5 field name in EDKII_CRYPTO_PROTOCOL to indicate the
function is unsupported any longer.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						80e28dcec8 
					 
					
						
						
							
							CryptoPkg/BaseCryptLib: Retire Aes Ecb mode algorithm  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
Aes Ecb mode is not secure any longer.
Remove the Aes Ecb mode support from edk2.
Change the Aes Ecb mode field name in EDKII_CRYPTO_PROTOCOL to indicate the
function is unsupported any longer.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						b8af2c9eda 
					 
					
						
						
							
							CryptoPkg/BaseCryptLib: Retire the TDES algorithm  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
TDES is not secure any longer.
Remove the Tdes support from edk2.
Change the Tdes field name in EDKII_CRYPTO_PROTOCOL to indicate the
function is unsupported any longer.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						c22a32e1ab 
					 
					
						
						
							
							CryptoPkg/BaseCryptLib: Retire ARC4 algorithm  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
ARC4 is not secure any longer.
Remove the ARC4 support from edk2.
Change the ARC4 field name in EDKII_CRYPTO_PROTOCOL to indicate the
function is unsupported any longer.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Zhichao Gao 
							
						 
					 
					
						
						
							
						
						0a6fc3d067 
					 
					
						
						
							
							CryptoPkg/BaseCrpytLib: Retire MD4 algorithm  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1898 
MD4 is not secure any longer.
Remove the MD4 support from edk2.
Change the MD4 field name in EDKII_CRYPTO_PROTOCOL to indicate the
function is unsupported any longer.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com > 
						
						
					 
					
						2020-05-15 07:22:36 +00:00 
						 
				 
			
				
					
						
							
							
								Michael D Kinney 
							
						 
					 
					
						
						
							
						
						3b0e04305b 
					 
					
						
						
							
							CryptoPkg: Add EDK II Crypto Protocols/PPIs/PCDs  
						
						... 
						
						
						
						https://bugzilla.tianocore.org/show_bug.cgi?id=2420 
Based on the following package with changes to merge into
CryptoPkg.
https://github.com/microsoft/mu_plus/tree/dev/201908/SharedCryptoPkg 
Add the EDK II Crypto Protocol, EDK II SMM Crypto Protocol
and EDK II Crypto PPI that provide the same services as the
BaseCryptLib.  One additional GetVersion() services is provided
to support backward compatible extensions to these new
Protocols/PPIs if new services are added to BaseCryptLib in the
future.  The EDK II Crypto Protocols/PPIs are located in a
private directory so they are only available CryptoPkg components.
In order to optimize the size of modules that produce the
EDK II Crypto Protocols/PPIs define a FixedAtBuild PCD
gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.
This PCD is type VOID* and is associated with the structure
PCD_CRYPTO_SERVICE_FAMILY_ENABLE.  This structure contains
bitfields and unions that allow a platform DSC files to
enable/disable entire families of services or enable/disable
individual services in the produced EDK II Crypto
Protocols/PPIs.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com > 
					
						2020-02-07 16:32:13 +00:00