PEM_X509_INFO_read_bio_ex.3ossl - Man Page

read PEM-encoded data structures into one or more X509_INFO objects


 #include <openssl/pem.h>

 STACK_OF(X509_INFO) *PEM_X509_INFO_read_ex(FILE *fp, STACK_OF(X509_INFO) *sk,
                                            pem_password_cb *cb, void *u,
                                            OSSL_LIB_CTX *libctx,
                                            const char *propq);

 STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio_ex(BIO *bio,
                                                STACK_OF(X509_INFO) *sk,
                                                pem_password_cb *cb, void *u,
                                                OSSL_LIB_CTX *libctx,
                                                const char *propq);


PEM_X509_INFO_read_ex() loads the X509_INFO objects from a file fp.

PEM_X509_INFO_read_bio_ex() loads the X509_INFO objects using a bio bp.

Each of the loaded X509_INFO objects can contain a CRL, a certificate, and/or a private key. The elements are read sequentially, and as far as they are of different type than the elements read before, they are combined into the same X509_INFO object. The idea behind this is that if, for instance, a certificate is followed by a private key, the private key is supposed to correspond to the certificate.

If the input stack sk is NULL a new stack is allocated, else the given stack is extended.

The optional cb and u parameters can be used for providing a pass phrase needed for decrypting encrypted PEM structures (normally only private keys). See PEM_read_bio_PrivateKey(3) and passphrase-encoding(7) for details.

The library context libctx and property query <propq> are used for fetching algorithms from providers.

Return Values

PEM_X509_INFO_read_ex() and PEM_X509_INFO_read_bio_ex() return a stack of X509_INFO objects or NULL on failure.

See Also

PEM_read_bio_ex(3), PEM_read_bio_PrivateKey(3), passphrase-encoding(7)


The functions PEM_X509_INFO_read_ex() and PEM_X509_INFO_read_bio_ex() were added in OpenSSL 3.0.

Referenced By

The man page PEM_X509_INFO_read_ex.3ossl(3) is an alias of PEM_X509_INFO_read_bio_ex.3ossl(3).

2021-09-09 3.0.0 OpenSSL