logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

gnutls_pkcs12_simple_parse - API function

Arguments

gnutls_pkcs12_t p12 A pkcs12 type const char * password optional password used to decrypt the structure, bags and keys. 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 NULL) 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 be NULL). gnutls_x509_crl_t * crl an optional structure to store the parsed CRL (may be NULL). unsigned int flags should be zero or one of GNUTLS_PKCS12_SP_*

Description

This function parses a PKCS12 structure in pkcs12 and extracts the private key, the corresponding certificate chain, any additional certificates and a CRL. The structures in key , chaincrl , and extra_certs must not be initialized. 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 operations. 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().

Name

gnutls_pkcs12_simple_parse - API function

Reporting Bugs

Report bugs to <bugs@gnutls.org>. Home page: https://www.gnutls.org

Returns

On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error value.

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit https://www.gnutls.org/manual/ gnutls 3.8.9 gnutls_pkcs12_simple_parse(3)

Since

3.1.0

Synopsis

#include<gnutls/pkcs12.h>intgnutls_pkcs12_simple_parse(gnutls_pkcs12_tp12,constchar*password,gnutls_x509_privkey_t*key,gnutls_x509_crt_t**chain,unsignedint*chain_len,gnutls_x509_crt_t**extra_certs,unsignedint*extra_certs_len,gnutls_x509_crl_t*crl,unsignedintflags);

See Also