NAME¶
PKCS12_parse - parse a PKCS#12 structure
SYNOPSIS¶
#include <openssl/pkcs12.h>
int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
STACK_OF(X509) **ca);
DESCRIPTION¶
PKCS12_parse() parses a PKCS12 structure.
p12 is the
PKCS12 structure to parse.
pass is the
passphrase to use. If successful the private key will be written to
*pkey, the corresponding certificate to
*cert and any additional
certificates to
*ca.
NOTES¶
The parameters
pkey and
cert cannot be
NULL.
ca can
be <NULL> in which case additional certificates will be discarded.
*ca can also be a valid STACK in which case additional certificates are
appended to
*ca. If
*ca is
NULL a new STACK will be
allocated.
The
friendlyName and
localKeyID attributes (if present) on each
certificate will be stored in the
alias and
keyid attributes of
the
X509 structure.
RETURN VALUES¶
PKCS12_parse() returns 1 for success and zero if an error occurred.
The error can be obtained from
ERR_get_error(3)
BUGS¶
Only a single private key and corresponding certificate is returned by this
function. More complex PKCS#12 files with multiple private keys will only
return the first match.
Only
friendlyName and
localKeyID attributes are currently stored
in certificates. Other attributes are discarded.
Attributes currently cannot be stored in the private key
EVP_PKEY
structure.
SEE ALSO¶
d2i_PKCS12(3)
HISTORY¶
PKCS12_parse was added in OpenSSL 0.9.3