Pem_read_bio_x509

broken image


#include

解决配置SSL证书出现'PEMreadbio:bad end line'问题. I did a recheck with PEMreadbioPrivateKey(in, NULL, asdasd, NULL); and it did ask for the passphrase. PEMreadbioX509(in, NULL, asdasd, NULL); also didn't asked for an passphrase. Is there any secret thing I have to do to get this thing working? My testcode is attached. It should print 'asdasd' and return 1. Therefore the following: PEMreadbioX509(bp, &x, 0, NULL); where x already contains a valid certificate, may not work, whereas: X509free(x); x = PEMreadbioX509(bp, NULL, 0, NULL); is guaranteed to work. Mar 03, 2020 When I call PEMreadbioX509, none of the function in either biolib.c or pemlib.c is being called. But When I call PEMreadbio, I can see that the function in biolib.c or pemlib. Is being called. Is the PEMreadbioX509 being deprecated in version 1.1.1d? Is there any other way to convert the PEM to x509?

In x509's package of Golang, the x509.ParsePKIXPublicKey says: ParsePKIXPublicKey parses a DER-encoded public key. These values are typically found in PEM blocks with 'BEGIN PUBLIC KEY' And, in the example of this function use the pem.Decode. I'm very confused about this because this should use pem.Decode or something like der.Decode ?

EVP_PKEY *
PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u);

EVP_PKEY *
PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

Pem_read_bio_x509

int
PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u);

X509_SIG *
PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u);

X509_SIG *
PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS8(BIO *bp, X509_SIG *x);

int
PEM_write_PKCS8(FILE *fp, X509_SIG *x);

PKCS8_PRIV_KEY_INFO *
PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u);

PKCS8_PRIV_KEY_INFO *
PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x);

Pem_read_bio_x509_aux

Pem_read_bio_x509_aux

int
PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x);

EVP_PKEY *
PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u);

EVP_PKEY *
PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PUBKEY(BIO *bp, EVP_PKEY *x);

int
PEM_write_PUBKEY(FILE *fp, EVP_PKEY *x);

RSA *
PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

RSA *
PEM_read_RSAPrivateKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

RSA *
PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

Pem_read_bio_x509

RSA *
PEM_read_RSAPublicKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_RSAPublicKey(BIO *bp, RSA *x);

int
PEM_write_RSAPublicKey(FILE *fp, RSA *x);

RSA *
PEM_read_bio_RSA_PUBKEY(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

RSA *
PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_RSA_PUBKEY(BIO *bp, RSA *x);

int
PEM_write_RSA_PUBKEY(FILE *fp, RSA *x);

DSA *
PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **x, pem_password_cb *cb, void *u);

DSA *
PEM_read_DSAPrivateKey(FILE *fp, DSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

DSA *
PEM_read_bio_DSA_PUBKEY(BIO *bp, DSA **x, pem_password_cb *cb, void *u);

DSA *
PEM_read_DSA_PUBKEY(FILE *fp, DSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DSA_PUBKEY(BIO *bp, DSA *x);

int
PEM_write_DSA_PUBKEY(FILE *fp, DSA *x);

DSA *
PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u);

DSA *
PEM_read_DSAparams(FILE *fp, DSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DSAparams(BIO *bp, DSA *x);

int
PEM_write_DSAparams(FILE *fp, DSA *x);

DH *
PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u);

DH *
PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DHparams(BIO *bp, DH *x);

int
PEM_write_DHparams(FILE *fp, DH *x);

EC_GROUP *
PEM_read_bio_ECPKParameters(BIO *bp, EC_GROUP **x, pem_password_cb *cb, void *u);

EC_GROUP *
PEM_read_ECPKParameters(FILE *fp, EC_GROUP **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_ECPKParameters(BIO *bp, const EC_GROUP *x);

int
PEM_write_ECPKParameters(FILE *fp, const EC_GROUP *x);

EC_KEY *
PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb *cb, void *u);

EC_KEY *
PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb, void *u);

int
PEM_write_bio_ECPrivateKey(BIO *bp, EC_KEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_ECPrivateKey(FILE *fp, EC_KEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

EC_KEY *
PEM_read_bio_EC_PUBKEY(BIO *bp, EC_KEY **x, pem_password_cb *cb, void *u);

EC_KEY *
PEM_read_EC_PUBKEY(FILE *fp, EC_KEY **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_EC_PUBKEY(BIO *bp, EC_KEY *x);

int
PEM_write_EC_PUBKEY(FILE *fp, EC_KEY *x);

Prime Video Hello, Sign in. Account & Lists Account Returns & Orders. Best Sellers Customer Service Prime New Releases Today's Deals Books Fashion Kindle Books Toys & Games. Greenland (38,878) 6.4 2h 2020 X-Ray PG-13. Gerard Butler stars as a man who embarks on a harrowing journey of survival with his family in this epic end-of. Greenland prime video. Greenland 6.4 1 h 59 min 2020 X-Ray HDR PG-13 A family fights for survival as a planet-killing comet races to Earth. As the global apocalypse approaches, John (GERARD BUTLER) and his family must embark on a perilous journey to survive and board a last-minute flight to a possible safe haven. Go to amazon.com to see the video catalog in United States. 6.4 1 h 59 min 2020 X-Ray HDR R. A family fights for survival as a planet-killing comet races to Earth. As the global apocalypse approaches, John (GERARD BUTLER) and his family must embark on a perilous journey to survive and board a last-minute flight to a possible safe haven.

X509 *
PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u);

X509 *
PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_X509(BIO *bp, X509 *x);

Pem_read_bio_x509

int
PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u);

X509_SIG *
PEM_read_bio_PKCS8(BIO *bp, X509_SIG **x, pem_password_cb *cb, void *u);

X509_SIG *
PEM_read_PKCS8(FILE *fp, X509_SIG **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS8(BIO *bp, X509_SIG *x);

int
PEM_write_PKCS8(FILE *fp, X509_SIG *x);

PKCS8_PRIV_KEY_INFO *
PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u);

PKCS8_PRIV_KEY_INFO *
PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp, PKCS8_PRIV_KEY_INFO *x);

Pem_read_bio_x509_aux

int
PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp, PKCS8_PRIV_KEY_INFO *x);

EVP_PKEY *
PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u);

EVP_PKEY *
PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PUBKEY(BIO *bp, EVP_PKEY *x);

int
PEM_write_PUBKEY(FILE *fp, EVP_PKEY *x);

RSA *
PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

RSA *
PEM_read_RSAPrivateKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

RSA *
PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

RSA *
PEM_read_RSAPublicKey(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_RSAPublicKey(BIO *bp, RSA *x);

int
PEM_write_RSAPublicKey(FILE *fp, RSA *x);

RSA *
PEM_read_bio_RSA_PUBKEY(BIO *bp, RSA **x, pem_password_cb *cb, void *u);

RSA *
PEM_read_RSA_PUBKEY(FILE *fp, RSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_RSA_PUBKEY(BIO *bp, RSA *x);

int
PEM_write_RSA_PUBKEY(FILE *fp, RSA *x);

DSA *
PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **x, pem_password_cb *cb, void *u);

DSA *
PEM_read_DSAPrivateKey(FILE *fp, DSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

DSA *
PEM_read_bio_DSA_PUBKEY(BIO *bp, DSA **x, pem_password_cb *cb, void *u);

DSA *
PEM_read_DSA_PUBKEY(FILE *fp, DSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DSA_PUBKEY(BIO *bp, DSA *x);

int
PEM_write_DSA_PUBKEY(FILE *fp, DSA *x);

DSA *
PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u);

DSA *
PEM_read_DSAparams(FILE *fp, DSA **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DSAparams(BIO *bp, DSA *x);

int
PEM_write_DSAparams(FILE *fp, DSA *x);

DH *
PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u);

DH *
PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_DHparams(BIO *bp, DH *x);

int
PEM_write_DHparams(FILE *fp, DH *x);

EC_GROUP *
PEM_read_bio_ECPKParameters(BIO *bp, EC_GROUP **x, pem_password_cb *cb, void *u);

EC_GROUP *
PEM_read_ECPKParameters(FILE *fp, EC_GROUP **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_ECPKParameters(BIO *bp, const EC_GROUP *x);

int
PEM_write_ECPKParameters(FILE *fp, const EC_GROUP *x);

EC_KEY *
PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb *cb, void *u);

EC_KEY *
PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb, void *u);

int
PEM_write_bio_ECPrivateKey(BIO *bp, EC_KEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

int
PEM_write_ECPrivateKey(FILE *fp, EC_KEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

EC_KEY *
PEM_read_bio_EC_PUBKEY(BIO *bp, EC_KEY **x, pem_password_cb *cb, void *u);

EC_KEY *
PEM_read_EC_PUBKEY(FILE *fp, EC_KEY **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_EC_PUBKEY(BIO *bp, EC_KEY *x);

int
PEM_write_EC_PUBKEY(FILE *fp, EC_KEY *x);

Prime Video Hello, Sign in. Account & Lists Account Returns & Orders. Best Sellers Customer Service Prime New Releases Today's Deals Books Fashion Kindle Books Toys & Games. Greenland (38,878) 6.4 2h 2020 X-Ray PG-13. Gerard Butler stars as a man who embarks on a harrowing journey of survival with his family in this epic end-of. Greenland prime video. Greenland 6.4 1 h 59 min 2020 X-Ray HDR PG-13 A family fights for survival as a planet-killing comet races to Earth. As the global apocalypse approaches, John (GERARD BUTLER) and his family must embark on a perilous journey to survive and board a last-minute flight to a possible safe haven. Go to amazon.com to see the video catalog in United States. 6.4 1 h 59 min 2020 X-Ray HDR R. A family fights for survival as a planet-killing comet races to Earth. As the global apocalypse approaches, John (GERARD BUTLER) and his family must embark on a perilous journey to survive and board a last-minute flight to a possible safe haven.

X509 *
PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u);

X509 *
PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_X509(BIO *bp, X509 *x);

int
PEM_write_X509(FILE *fp, X509 *x);

X509 *
PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void *u);

Nginx Cannot Load Certificate Key

X509 *
PEM_read_X509_AUX(FILE *fp, X509 **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_X509_AUX(BIO *bp, X509 *x);

int
PEM_write_X509_AUX(FILE *fp, X509 *x);

X509_REQ *
PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, pem_password_cb *cb, void *u);

X509_REQ *
PEM_read_X509_REQ(FILE *fp, X509_REQ **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_X509_REQ(BIO *bp, X509_REQ *x);

int
PEM_write_X509_REQ(FILE *fp, X509_REQ *x);

int
PEM_write_bio_X509_REQ_NEW(BIO *bp, X509_REQ *x);

int
PEM_write_X509_REQ_NEW(FILE *fp, X509_REQ *x);

X509_CRL *
PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb *cb, void *u);

X509_CRL *
PEM_read_X509_CRL(FILE *fp, X509_CRL **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_X509_CRL(BIO *bp, X509_CRL *x);

int
PEM_write_X509_CRL(FILE *fp, X509_CRL *x);

PKCS7 *
PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void *u);

PKCS7 *
PEM_read_PKCS7(FILE *fp, PKCS7 **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_PKCS7(BIO *bp, PKCS7 *x);

int
PEM_write_PKCS7(FILE *fp, PKCS7 *x);

NETSCAPE_CERT_SEQUENCE *
PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb, void *u);

NETSCAPE_CERT_SEQUENCE *
PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp, NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb, void *u);

int
PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE *x);

int
PEM_write_NETSCAPE_CERT_SEQUENCE(FILE *fp, NETSCAPE_CERT_SEQUENCE *x);

#include

CMS_ContentInfo *
PEM_read_CMS(FILE *fp, CMS_ContentInfo **x, pem_password_cb *cb, void *u);

CMS_ContentInfo *
PEM_read_bio_CMS(BIO *bp, CMS_ContentInfo **x, pem_password_cb *cb, void *u);

int
PEM_write_CMS(FILE *fp, const CMS_ContentInfo *x);

int
PEM_write_bio_CMS(BIO *bp, const CMS_ContentInfo *x);

PEM_bytes_read_bioread a PEM-encoded data structure from a BIO

#include

Pem_read_bio_x509

int
PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *in_bp, pem_password_cb *cb, void *u);

PEM_bytes_read_bio() reads and PEM decodes the first object of type name (e.g. RSA PRIVATE KEY, CERTIFICATE, etc.) from in_bp. If multiple PEM-encoded data structures are present in the same stream, it skips non-matching data types and continues reading. Before reading each PEM object, lines not starting with '-----BEGIN ' are also skipped; see PEM_read_bio(3) for details of PEM parsing.

Expecting Any Private Key

The PEM header may indicate that the following data is encrypted; if so, the data is decrypted, optionally using cb and u, as described in pem_password_cb(3).

Expecting Trusted Certificate

Some data types have compatibility aliases, such as a file containing X509 CERTIFICATE matching a request for the deprecated type CERTIFICATE. Ipod touch 5. The actual type indicated by the file is returned in *pnm if pnm is non-NULL. The caller must free the storage pointed to by *pnm.

The returned data is the DER-encoded form of the requested type, in *pdata with length *plen. The caller must free the storage pointed to by *pdata.

PEM_bytes_read_bio() returns 1 for success or 0 for failure.

Diagnostics that can be retrieved with ERR_get_error(3), ERR_GET_REASON(3), and ERR_reason_error_string(3) include:

PEM_R_NO_START_LINE 'no start line'
No more PEM objects were found in the input. This can happen when the input contains no PEM objects at all, or only objects that do not match the type name.
PEM_R_NOT_PROC_TYPE 'not proc type'
The first PEM header does not start with 'Proc-Type: '.
PEM_R_NOT_ENCRYPTED 'not encrypted'
The Proc-Type header differs from '4,ENCRYPTED'.
PEM_R_SHORT_HEADER 'short header'
The Proc-Type header is the last header line.
PEM_R_NOT_DEK_INFO 'not dek info'
The second PEM header does not start with 'DEK-Info: '.
PEM_R_UNSUPPORTED_ENCRYPTION 'unsupported encryption'
The cipher name given in the DEK-Info header is unknown to EVP_get_cipherbyname(3).
PEM_R_BAD_IV_CHARS 'bad iv chars'
The word following the cipher name in the DEK-Info header contains bytes that are not hexadecimal digits. This also happens when the initialization vector is missing or too short.
PEM_R_BAD_PASSWORD_READ 'bad password read'
cb reported failure. This may for example happen when the user mistypes the password.
PEM_R_BAD_DECRYPT 'bad decrypt'
EVP_DecryptInit_ex(3), EVP_DecryptUpdate(3), or EVP_DecryptFinal_ex(3) failed.

Additional types of errors can result from PEM_read_bio(3).

PEM_ASN1_read(3), PEM_read(3), PEM_read_bio_PrivateKey(3), PEM_X509_INFO_read(3)

Pem_read_bio_x509_aux

RFC 1421: Privacy Enhancement for Internet Electronic Mail (PEM), Part I

PEM_bytes_read_bio() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.2.





broken image