EVP\_MD-COMMON(7ossl) OpenSSL EVP\_MD-COMMON(7ossl)

# [NAME](#NAME)

EVP\_MD-common - The OpenSSL EVP\_MD implementations, common things

# [DESCRIPTION](#DESCRIPTION)

All the OpenSSL EVP\_MD implementations understand the following [**OSSL\_PARAM**(3)](/man/os/openssl-4.0/OSSL_PARAM.3) entries that are gettable with [**EVP\_MD\_get\_params**(3)](/man/os/openssl-4.0/EVP_MD_get_params.3), as well as these:

"blocksize" (**OSSL\_DIGEST\_PARAM\_BLOCK\_SIZE**) &lt;unsigned integer&gt;

The digest block size. The length of the "blocksize" parameter should not exceed that of a **size\_t**.

This value can also be retrieved with [**EVP\_MD\_get\_block\_size**(3)](/man/os/openssl-4.0/EVP_MD_get_block_size.3).

"size" (**OSSL\_DIGEST\_PARAM\_SIZE**) &lt;unsigned integer&gt;

The digest output size. The length of the "size" parameter should not exceed that of a **size\_t**.

This value can also be retrieved with [**EVP\_MD\_get\_size**(3)](/man/os/openssl-4.0/EVP_MD_get_size.3).

"flags" (**OSSL\_DIGEST\_PARAM\_FLAGS**) &lt;unsigned integer&gt;

Diverse flags that describe exceptional behaviour for the digest.

The length of the "flags" parameter should equal that of an **unsigned long int**.

Several flags can be or'd together. The available flags are:

[EVP\_MD\_FLAG\_ONESHOT](#EVP_MD_FLAG_ONESHOT)

This digest method can only handle one block of input.

[EVP\_MD\_FLAG\_XOF](#EVP_MD_FLAG_XOF)

This digest method is an extensible-output function (XOF) and supports the **EVP\_MD\_CTRL\_XOF\_LEN** control.

[EVP\_MD\_FLAG\_DIGALGID\_NULL](#EVP_MD_FLAG_DIGALGID_NULL)

When setting up a DigestAlgorithmIdentifier, this flag will have the parameter set to NULL by default. Use this for PKCS#1. *Note: if* *combined with EVP\_MD\_FLAG\_DIGALGID\_ABSENT, the latter will override.*

[EVP\_MD\_FLAG\_DIGALGID\_ABSENT](#EVP_MD_FLAG_DIGALGID_ABSENT)

When setting up a DigestAlgorithmIdentifier, this flag will have the parameter be left absent by default. *Note: if combined with* *EVP\_MD\_FLAG\_DIGALGID\_NULL, the latter will be overridden.*

[EVP\_MD\_FLAG\_DIGALGID\_CUSTOM](#EVP_MD_FLAG_DIGALGID_CUSTOM)

Custom DigestAlgorithmIdentifier handling via ctrl, with **EVP\_MD\_FLAG\_DIGALGID\_ABSENT** as default. *Note: if combined with* *EVP\_MD\_FLAG\_DIGALGID\_NULL, the latter will be overridden.* Currently unused.

[EVP\_MD\_FLAG\_FIPS](#EVP_MD_FLAG_FIPS)

This digest method is suitable for use in FIPS mode. Currently unused.

This value can also be retrieved with [**EVP\_MD\_get\_flags**(3)](/man/os/openssl-4.0/EVP_MD_get_flags.3).

## [FIPS indicator](#FIPS_indicator)

Digest implementations in the OpenSSL FIPS provider make the following parameter available with [**EVP\_MD\_CTX\_get\_params**(3)](/man/os/openssl-4.0/EVP_MD_CTX_get_params.3):

"fips-indicator" (**OSSL\_DIGEST\_PARAM\_FIPS\_APPROVED\_INDICATOR**) &lt;integer&gt;

Returns 1 if the operation is FIPS approved, or 0 otherwise. See "FIPS indicators" in [**fips\_module**(7)](/man/os/openssl-4.0/fips_module.7) for more information.

# [SEE ALSO](#SEE_ALSO)

"PARAMETERS" in [**EVP\_DigestInit**(3)](/man/os/openssl-4.0/EVP_DigestInit.3), [**EVP\_MD\_get\_params**(3)](/man/os/openssl-4.0/EVP_MD_get_params.3), [**provider-digest**(7)](/man/os/openssl-4.0/provider-digest.7)

# [COPYRIGHT](#COPYRIGHT)

Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at &lt;https://www.openssl.org/source/license.html&gt;.

2026-09-29 4.0.3

---

Document: EVP_MD-common(7ossl) from openssl-4.0 4.0.3-r8 (Chainguard OS)
