Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
NAME
EVP_MD_meth_dup, EVP_MD_meth_new, EVP_MD_meth_free, EVP_MD_meth_set_input_blocksize, EVP_MD_meth_set_result_size, EVP_MD_meth_set_app_datasize, EVP_MD_meth_set_flags, EVP_MD_meth_set_init, EVP_MD_meth_set_update, EVP_MD_meth_set_final, EVP_MD_meth_set_copy, EVP_MD_meth_set_cleanup, EVP_MD_meth_set_ctrl — Routines to build up EVP_MD methodsSYNOPSIS
#include <openssl/evp.h>EVP_MD_meth_new(int md_type, int pkey_type);
EVP_MD_meth_free(EVP_MD *md);
EVP_MD_meth_dup(const EVP_MD *md);
EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize);
EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize);
EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize);
EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags);
EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx));
EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx, const void *data, size_t count));
EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx, unsigned char *md));
EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to, const EVP_MD_CTX *from));
EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx));
EVP_MD_meth_set_ctrl(EVP_MD *md, int (*control)(EVP_MD_CTX *ctx, int command, int p1, void *p2));
DESCRIPTION
The EVP_MD type is a structure for digest method implementation. It can also have associated public/private key signing and verifying routines.- EVP_MD_FLAG_DIGALGID_NULL
- When setting up a DigestAlgorithmIdentifier with X509_ALGOR_set_md(3), set the parameter type to V_ASN1_NULL and the parameter value to NULL. This is the default, which means that it takes effect for EVP_MD objects that do not have EVP_MD_FLAG_DIGALGID_ABSENT set. Use this for PKCS#1.
- EVP_MD_FLAG_DIGALGID_ABSENT
- When setting up a DigestAlgorithmIdentifier with X509_ALGOR_set_md(3), set the parameter type to V_ASN1_UNDEF and the parameter value to NULL. This is used by the EVP_MD objects documented in the manual page EVP_sha3_224(3) and by the objects returned from EVP_sha512(3), EVP_sha512_256(3), EVP_sha512_224(3), EVP_sha384(3), EVP_sha256(3), EVP_sha224(3), EVP_sha1(3), and EVP_sm3(3).
- EVP_MD_FLAG_DIGALGID_CUSTOM
- This flag is reserved for user-defined EVP_MD objects supporting custom DigestAlgorithmIdentifier handling via EVP_MD_CTX_ctrl(3), but actually, it is ignored by both LibreSSL and OpenSSL and such user-defined behaviour is not supported by the libraries.
- EVP_MD_FLAG_FIPS
- Mark the digest method as suitable for FIPS mode. This flag is ignored by both LibreSSL and OpenSSL.
- EVP_MD_FLAG_ONESHOT
- Intended to indicate that the digest method can only handle one block of input, but actually, this flag is ignored by both LibreSSL and OpenSSL.