X509_INFO *X509_INFO_new();
void X509_INFO_free(a)
X509_INFO *a;
void ERR_load_X509_strings();
typedef struct X509_info_st { X509 *x509; X509_CRL *crl; X509_PKEY *x_pkey; EVP_CIPHER_INFO enc_cipher; int enc_len; char *enc_data; int references; } X509_INFO;
You can use this to manipulate blobs that could be one of three things, a certificate, a crl, or a private key. If you don't know which you are getting in advance, use this structure to deal with it and read/write it to a file.
So far, the structure is used only in apps/crl2p7.c, to read a file that can have a pile of crls, certs and private keys; after they are read in only the crls are kept and the rest are thrown away.
X509_INFO_new creates a new X509_INFO structure and returns a pointer to it, or NULL on error.
X509_INFO_free frees a.
Thw read and write functions (PEM_X509_INFO_read, PEM_X509_INFO_read_bio, and PEM_X509_INFO_write_bio) are described in the read/write PEM-formatted data man page.
This function is part of the error handling library.
ERR_load_X509_strings initializes arrays for the error-handling library with messages specific to the X509 library. Call this before using any X509 routines in your code.