[#PKCS5_PBE_keyivgen_ex] = PKCS5_PBE_keyivgen_ex :mrdocs: Derive a key and IV for password‐based encryption and initialize `cctx` (library‐context variant). == Synopsis Declared in `<openssl/evp.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- int PKCS5_PBE_keyivgen_ex( xref:EVP_CIPHER_CTX.adoc[EVP_CIPHER_CTX]* cctx, char const* pass, int passlen, xref:ASN1_TYPE.adoc[ASN1_TYPE]* param, xref:EVP_CIPHER-07.adoc[EVP_CIPHER] const* cipher, xref:EVP_MD.adoc[EVP_MD] const* md, int en_de, xref:OSSL_LIB_CTX.adoc[OSSL_LIB_CTX]* libctx, char const* propq); ---- == Return Value 1 on success, or 0 on failure. == Parameters [cols="1,4"] |=== | Name| Description | *cctx* | Cipher context to initialize with the derived key and IV. | *pass* | Password bytes, or NULL. | *passlen* | Length of `pass` in bytes, or ‐1 to use strlen(`pass).` | *param* | ASN.1 PBE parameters (salt, iteration count, and related fields). | *cipher* | Cipher algorithm used for PBE. | *md* | Digest used by the PBE key derivation. | *en_de* | 1 to encrypt, or 0 to decrypt. | *libctx* | Library context for provider‐aware derivation, or NULL for the default. | *propq* | Property query string, or NULL. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#