// MAC (Message Authentication Code) Primitive\r
//=====================================================================================\r
/**\r
- Allocates and initializes one HMAC_CTX context for subsequent HMAC-MD5 use.\r
-\r
- If this interface is not supported, then return NULL.\r
-\r
- @return Pointer to the HMAC_CTX context that has been initialized.\r
- If the allocations fails, HmacMd5New() returns NULL.\r
- @retval NULL This interface is not supported.\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 *EDKII_CRYPTO_HMAC_MD5_NEW) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_NEW) (\r
VOID\r
);\r
\r
-/**\r
- Release the specified HMAC_CTX context.\r
-\r
- If this interface is not supported, then do nothing.\r
-\r
- @param[in] HmacMd5Ctx Pointer to the HMAC_CTX context to be released.\r
-\r
-**/\r
typedef\r
VOID\r
-(EFIAPI *EDKII_CRYPTO_HMAC_MD5_FREE) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FREE) (\r
IN VOID *HmacMd5Ctx\r
);\r
\r
-/**\r
- Set user-supplied key for subsequent use. It must be done before any\r
- calling to HmacMd5Update().\r
-\r
- If HmacMd5Context is NULL, then return FALSE.\r
- If this interface is not supported, then return FALSE.\r
-\r
- @param[out] HmacMd5Context Pointer to HMAC-MD5 context.\r
- @param[in] Key Pointer to the user-supplied key.\r
- @param[in] KeySize Key size in bytes.\r
-\r
- @retval TRUE HMAC-MD5 context initialization succeeded.\r
- @retval FALSE HMAC-MD5 context initialization failed.\r
- @retval FALSE This interface is not supported.\r
-\r
-**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *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
\r
-/**\r
- Makes a copy of an existing HMAC-MD5 context.\r
-\r
- If HmacMd5Context is NULL, then return FALSE.\r
- If NewHmacMd5Context is NULL, then return FALSE.\r
- If this interface is not supported, then return FALSE.\r
-\r
- @param[in] HmacMd5Context Pointer to HMAC-MD5 context being copied.\r
- @param[out] NewHmacMd5Context Pointer to new HMAC-MD5 context.\r
-\r
- @retval TRUE HMAC-MD5 context copy succeeded.\r
- @retval FALSE HMAC-MD5 context copy failed.\r
- @retval FALSE This interface is not supported.\r
-\r
-**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *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
-/**\r
- Digests the input data and updates HMAC-MD5 context.\r
-\r
- This function performs HMAC-MD5 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
- HMAC-MD5 context should be initialized by HmacMd5New(), and should not be finalized by\r
- HmacMd5Final(). Behavior with invalid context is undefined.\r
-\r
- If HmacMd5Context is NULL, then return FALSE.\r
- If this interface is not supported, then return FALSE.\r
-\r
- @param[in, out] HmacMd5Context Pointer to the HMAC-MD5 context.\r
- @param[in] Data Pointer to the buffer containing the data to be digested.\r
- @param[in] DataSize Size of Data buffer in bytes.\r
-\r
- @retval TRUE HMAC-MD5 data digest succeeded.\r
- @retval FALSE HMAC-MD5 data digest failed.\r
- @retval FALSE This interface is not supported.\r
-\r
-**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *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
\r
-\r
-/**\r
- Completes computation of the HMAC-MD5 digest value.\r
-\r
- This function completes HMAC-MD5 hash computation and retrieves the digest value into\r
- the specified memory. After this function has been called, the HMAC-MD5 context cannot\r
- be used again.\r
- HMAC-MD5 context should be initialized by HmacMd5New(), and should not be finalized by\r
- HmacMd5Final(). Behavior with invalid HMAC-MD5 context is undefined.\r
-\r
- If HmacMd5Context is NULL, then return FALSE.\r
- If HmacValue is NULL, then return FALSE.\r
- If this interface is not supported, then return FALSE.\r
-\r
- @param[in, out] HmacMd5Context Pointer to the HMAC-MD5 context.\r
- @param[out] HmacValue Pointer to a buffer that receives the HMAC-MD5 digest\r
- value (16 bytes).\r
-\r
- @retval TRUE HMAC-MD5 digest computation succeeded.\r
- @retval FALSE HMAC-MD5 digest computation failed.\r
- @retval FALSE This interface is not supported.\r
-\r
-**/\r
typedef\r
BOOLEAN\r
-(EFIAPI *EDKII_CRYPTO_HMAC_MD5_FINAL) (\r
+(EFIAPI *DEPRECATED_EDKII_CRYPTO_HMAC_MD5_FINAL) (\r
IN OUT VOID *HmacMd5Context,\r
OUT UINT8 *HmacValue\r
);\r
struct _EDKII_CRYPTO_PROTOCOL {\r
/// Version\r
EDKII_CRYPTO_GET_VERSION GetVersion;\r
- /// HMAC MD5\r
- EDKII_CRYPTO_HMAC_MD5_NEW HmacMd5New;\r
- EDKII_CRYPTO_HMAC_MD5_FREE HmacMd5Free;\r
- EDKII_CRYPTO_HMAC_MD5_SET_KEY HmacMd5SetKey;\r
- EDKII_CRYPTO_HMAC_MD5_DUPLICATE HmacMd5Duplicate;\r
- EDKII_CRYPTO_HMAC_MD5_UPDATE HmacMd5Update;\r
- EDKII_CRYPTO_HMAC_MD5_FINAL HmacMd5Final;\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
/// HMAC SHA1\r
EDKII_CRYPTO_HMAC_SHA1_NEW HmacSha1New;\r
EDKII_CRYPTO_HMAC_SHA1_FREE HmacSha1Free;\r