]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Private/Protocol/Crypto.h
CryptoPkg/BaseCrpytLib: Retire MD4 algorithm
[mirror_edk2.git] / CryptoPkg / Private / Protocol / Crypto.h
index 40c387e002f05555103a70c330bf0f3d70bcc699..ae0f29695c61ec29d694af9f7caf8fc94fb14752 100644 (file)
@@ -451,145 +451,52 @@ BOOLEAN
 //=====================================================================================\r
 \r
 /**\r
-  Retrieves the size, in bytes, of the context buffer required for MD4 hash operations.\r
-\r
-  If this interface is not supported, then return zero.\r
-\r
-  @return  The size, in bytes, of the context buffer required for MD4 hash operations.\r
-  @retval  0   This interface is not supported.\r
+  MD4 is deprecated and unsupported any longer.\r
+  Keep the function field for binary compability.\r
 \r
 **/\r
 typedef\r
 UINTN\r
-(EFIAPI *EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE) (\r
   VOID\r
   );\r
 \r
 \r
-/**\r
-  Initializes user-supplied memory pointed by Md4Context as MD4 hash context for\r
-  subsequent use.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
-\r
-  @param[out]  Md4Context  Pointer to MD4 context being initialized.\r
-\r
-  @retval TRUE   MD4 context initialization succeeded.\r
-  @retval FALSE  MD4 context initialization failed.\r
-  @retval FALSE  This interface is not supported.\r
-\r
-**/\r
 typedef\r
 BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_MD4_INIT) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_INIT) (\r
   OUT  VOID  *Md4Context\r
   );\r
 \r
 \r
-/**\r
-  Makes a copy of an existing MD4 context.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-  If NewMd4Context is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
-\r
-  @param[in]  Md4Context     Pointer to MD4 context being copied.\r
-  @param[out] NewMd4Context  Pointer to new MD4 context.\r
-\r
-  @retval TRUE   MD4 context copy succeeded.\r
-  @retval FALSE  MD4 context copy failed.\r
-  @retval FALSE  This interface is not supported.\r
-\r
-**/\r
 typedef\r
 BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_MD4_DUPLICATE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_DUPLICATE) (\r
   IN   CONST VOID  *Md4Context,\r
   OUT  VOID        *NewMd4Context\r
   );\r
 \r
 \r
-/**\r
-  Digests the input data and updates MD4 context.\r
-\r
-  This function performs MD4 digest on a data buffer of the specified size.\r
-  It can be called multiple times to compute the digest of long or discontinuous data streams.\r
-  MD4 context should be already correctly initialized by Md4Init(), and should not be finalized\r
-  by Md4Final(). Behavior with invalid context is undefined.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
-\r
-  @param[in, out]  Md4Context  Pointer to the MD4 context.\r
-  @param[in]       Data        Pointer to the buffer containing the data to be hashed.\r
-  @param[in]       DataSize    Size of Data buffer in bytes.\r
-\r
-  @retval TRUE   MD4 data digest succeeded.\r
-  @retval FALSE  MD4 data digest failed.\r
-  @retval FALSE  This interface is not supported.\r
-\r
-**/\r
 typedef\r
 BOOLEAN\r
-(EFIAPI *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
-/**\r
-  Completes computation of the MD4 digest value.\r
-\r
-  This function completes MD4 hash computation and retrieves the digest value into\r
-  the specified memory. After this function has been called, the MD4 context cannot\r
-  be used again.\r
-  MD4 context should be already correctly initialized by Md4Init(), and should not be\r
-  finalized by Md4Final(). Behavior with invalid MD4 context is undefined.\r
-\r
-  If Md4Context is NULL, then return FALSE.\r
-  If HashValue is NULL, then return FALSE.\r
-  If this interface is not supported, then return FALSE.\r
-\r
-  @param[in, out]  Md4Context  Pointer to the MD4 context.\r
-  @param[out]      HashValue   Pointer to a buffer that receives the MD4 digest\r
-                               value (16 bytes).\r
-\r
-  @retval TRUE   MD4 digest computation succeeded.\r
-  @retval FALSE  MD4 digest computation failed.\r
-  @retval FALSE  This interface is not supported.\r
-\r
-**/\r
 typedef\r
 BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_MD4_FINAL) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_MD4_FINAL) (\r
   IN OUT  VOID   *Md4Context,\r
   OUT     UINT8  *HashValue\r
   );\r
 \r
 \r
-/**\r
-  Computes the MD4 message digest of a input data buffer.\r
-\r
-  This function performs the MD4 message digest of a given data buffer, and places\r
-  the digest value into the specified memory.\r
-\r
-  If this interface is not supported, then return FALSE.\r
-\r
-  @param[in]   Data        Pointer to the buffer containing the data to be hashed.\r
-  @param[in]   DataSize    Size of Data buffer in bytes.\r
-  @param[out]  HashValue   Pointer to a buffer that receives the MD4 digest\r
-                           value (16 bytes).\r
-\r
-  @retval TRUE   MD4 digest computation succeeded.\r
-  @retval FALSE  MD4 digest computation failed.\r
-  @retval FALSE  This interface is not supported.\r
-\r
-**/\r
 typedef\r
 BOOLEAN\r
-(EFIAPI *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
@@ -4007,13 +3914,13 @@ struct _EDKII_CRYPTO_PROTOCOL {
   EDKII_CRYPTO_HMAC_SHA256_DUPLICATE              HmacSha256Duplicate;\r
   EDKII_CRYPTO_HMAC_SHA256_UPDATE                 HmacSha256Update;\r
   EDKII_CRYPTO_HMAC_SHA256_FINAL                  HmacSha256Final;\r
-  /// Md4\r
-  EDKII_CRYPTO_MD4_GET_CONTEXT_SIZE               Md4GetContextSize;\r
-  EDKII_CRYPTO_MD4_INIT                           Md4Init;\r
-  EDKII_CRYPTO_MD4_DUPLICATE                      Md4Duplicate;\r
-  EDKII_CRYPTO_MD4_UPDATE                         Md4Update;\r
-  EDKII_CRYPTO_MD4_FINAL                          Md4Final;\r
-  EDKII_CRYPTO_MD4_HASH_ALL                       Md4HashAll;\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
   /// Md5\r
   EDKII_CRYPTO_MD5_GET_CONTEXT_SIZE               Md5GetContextSize;\r
   EDKII_CRYPTO_MD5_INIT                           Md5Init;\r