[#EVP_PBE_KEYGEN_EX] = EVP_PBE_KEYGEN_EX :mrdocs: Extended password‐based encryption key‐setup callback with library context support. == Synopsis Declared in `<openssl/evp.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- typedef int EVP_PBE_KEYGEN_EX(xref:EVP_CIPHER_CTX.adoc[EVP_CIPHER_CTX]*, char const*, int, xref:ASN1_TYPE.adoc[ASN1_TYPE]*, xref:EVP_CIPHER-07.adoc[EVP_CIPHER] const*, xref:EVP_MD.adoc[EVP_MD] const*, int, xref:OSSL_LIB_CTX.adoc[OSSL_LIB_CTX]*, char const*); ---- == Return Value 1 on success, or 0 on failure. == Parameters [cols="1,4"] |=== | Name| Description | *ctx* | Cipher context that receives the derived key and IV. | *pass* | Password bytes (may contain embedded NULs when `passlen` is set). | *passlen* | Length of `pass` in bytes, or ‐1 if `pass` is a NUL‐terminated string. | *param* | Algorithm‐specific PBE parameters (for example PBKDF2PARAM). | *cipher* | Cipher to initialize. | *md* | Digest used by the PBE scheme when applicable. | *en_de* | 1 to encrypt, 0 to decrypt. | *libctx* | Library context used when fetching algorithms, or NULL for the default. | *propq* | Property query for algorithm fetches, or NULL. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#