A pkcs12 type
const char * password
optional password used to decrypt the structure, bags and
gnutls_x509_privkey_t * key
a structure to store the parsed private key.
gnutls_x509_crt_t ** chain
the corresponding to key certificate chain (may be NULL)
unsigned int * chain_len
will be updated with the number of additional (may be
gnutls_x509_crt_t ** extra_certs
optional pointer to receive an array of additional
certificates found in the PKCS12 structure (may be NULL).
unsigned int * extra_certs_len
will be updated with the number of additional certs (may
gnutls_x509_crl_t * crl
an optional structure to store the parsed CRL (may be
unsigned int flags
should be zero or one of GNUTLS_PKCS12_SP_*
This function parses a PKCS12 structure in pkcs12 and extracts the
private key, the corresponding certificate chain, any additional
certificates and a CRL.
The extra_certs and extra_certs_len parameters are optional and
both may be set to NULL. If either is non-NULL, then both must be
set. The value for extra_certs is allocated using gnutls_malloc().
Encrypted PKCS12 bags and PKCS8 private keys are supported, but only
with password based security and the same password for all
Note that a PKCS12 structure may contain many keys and/or
certificates, and there is no way to identify which key/certificate
pair you want. For this reason this function is useful for PKCS12
files that contain only one key/certificate pair and/or one CRL.
If the provided structure has encrypted fields but no password is
provided then this function returns GNUTLS_E_DECRYPTION_FAILED.
Note that normally the chain constructed does not include self signed
certificates, to comply with TLS' requirements. If, however, the flag
GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED is specified then self signed
certificates will be included in the chain.
Prior to using this function the PKCS 12 structure integrity must be
verified using gnutls_pkcs12_verify_mac().
This page is part of the GnuTLS (GnuTLS Transport Layer Security
Library) project. Information about the project can be found at
⟨http://www.gnutls.org/⟩. If you have a bug report for this manual
page, send it to email@example.com.. This page was obtained from the
tarball gnutls-3.5.9.tar.xz fetched from
⟨http://www.gnutls.org/download.html⟩ on 2017-03-13. If you discover
any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page, or
you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail
gnutls 3.5.9 gnutls_pkcs12_simple_parse(3)