[#PEM_X509_INFO_read_bio_ex] = PEM_X509_INFO_read_bio_ex :mrdocs: Read successive PEM X509_INFO objects (cert, CRL, and/or key) from a BIO with an explicit library context. == Synopsis Declared in `<openssl/pem.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:stack_st_X509_INFO.adoc[stack_st_X509_INFO]* PEM_X509_INFO_read_bio_ex( xref:BIO.adoc[BIO]* bp, xref:stack_st_X509_INFO.adoc[stack_st_X509_INFO]* sk, 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 Stack of X509_INFO groups, or NULL on failure. == Parameters [cols="1,4"] |=== | Name| Description | *bp* | BIO to read from. | *sk* | Existing stack to append to, or NULL to allocate a new stack. | *cb* | Password callback for encrypted private keys, or NULL. | *u* | Application data passed to `cb.` | *libctx* | Library context for provider‐backed key decoding, or NULL for the default. | *propq* | Property query for algorithm fetches, or NULL. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#