b2i_PVK_bio_ex3ssl
Decode and encode functions for reading and writing msblob format private keys
Usage
#include <openssl/pem.h>EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u);EVP_PKEY *b2i_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u,OSSL_LIB_CTX *libctx, const char *propq);int i2b_PVK_bio(BIO *out, const EVP_PKEY *pk, int enclevel,pem_password_cb *cb, void *u);int i2b_PVK_bio_ex(BIO *out, const EVP_PKEY *pk, int enclevel,pem_password_cb *cb, void *u,OSSL_LIB_CTX *libctx, const char *propq);
Overview
b2i_PVK_bio_ex() decodes a private key of MSBLOB format read from a BIO. It attempts to automatically determine the key type. If the key is encrypted then cb is called with the user data u in order to obtain a password to decrypt the key. The supplied library context libctx and property query string propq are used in any decrypt operation.
b2i_PVK_bio() does the same as b2i_PVK_bio_ex() except that the default library context and property query string are used.
i2b_PVK_bio_ex() encodes pk using MSBLOB format. If enclevel is 1 then a password obtained via pem_password_cb is used to encrypt the private key. If enclevel is 0 then no encryption is applied. The user data in u is passed to the password callback. The supplied library context libctx and property query string propq are used in any decrypt operation.
i2b_PVK_bio() does the same as i2b_PVK_bio_ex() except that the default library context and property query string are used.
Return values
The b2i_PVK_bio() and b2i_PVK_bio_ex() functions return a valid EVP_KEY structure or NULL if an error occurs. The error code can be obtained by calling ERR_get_error(3).
i2b_PVK_bio() and i2b_PVK_bio_ex() return the number of bytes successfully encoded or a negative value if an error occurs. The error code can be obtained by calling ERR_get_error(3).
Releases
3 releases since Debian 12 (Bookworm); the text changed 2 times.