[#PEM_read_bio_PrivateKey_ex] = PEM_read_bio_PrivateKey_ex :mrdocs: Read a private key from a PEM‐encoded BIO with an explicit library context. == Synopsis Declared in `<openssl/pem.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:EVP_PKEY.adoc[EVP_PKEY]* PEM_read_bio_PrivateKey_ex( xref:BIO.adoc[BIO]* bp, xref:EVP_PKEY.adoc[EVP_PKEY]** x, xref:pem_password_cb.adoc[pem_password_cb]* cb, void* u, xref:OSSL_LIB_CTX.adoc[OSSL_LIB_CTX]* libctx, char const* propq); ---- == Return Value Private key on success, or NULL on failure. == Parameters [cols="1,4"] |=== | Name| Description | *bp* | BIO to read from. | *x* | Optional address of an EVP_PKEY pointer to reuse, or NULL. | *cb* | Password callback for encrypted PEM / PKCS#8, or NULL. | *u* | Application data passed to `cb.` | *libctx* | Library context used for provider‐backed decoding, or NULL for the default. | *propq* | Property query for algorithm fetches, or NULL. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#