gnutls_pkcs8_info(3) API function


#include <gnutls/x509.h>

int gnutls_pkcs8_info(const gnutls_datum_t * data, gnutls_x509_crt_fmt_t format, unsigned int * schema, unsigned int * cipher, void * salt, unsigned int * salt_size, unsigned int * iter_count, char ** oid);


const gnutls_datum_t * data
Holds the PKCS 8 data
gnutls_x509_crt_fmt_t format
the format of the PKCS 8 data
unsigned int * schema
indicate the schema as one of gnutls_pkcs_encrypt_flags_t
unsigned int * cipher
the cipher used as gnutls_cipher_algorithm_t
void * salt
PBKDF2 salt (if non-NULL then salt_size initially holds its size)
unsigned int * salt_size
PBKDF2 salt size
unsigned int * iter_count
PBKDF2 iteration count
char ** oid
if non-NULL it will contain an allocated null-terminated variable with the OID


This function will provide information on the algorithms used in a particular PKCS 8 structure. If the structure algorithms are unknown the code GNUTLS_E_UNKNOWN_CIPHER_TYPE will be returned, and only oid , will be set. That is, oid will be set on encrypted PKCS 8 structures whether supported or not. It must be deinitialized using gnutls_free(). The other variables are only set on supported structures.


GNUTLS_E_INVALID_REQUEST if the provided structure isn't encrypted, GNUTLS_E_UNKNOWN_CIPHER_TYPE if the structure's encryption isn't supported, or another negative error code in case of a failure. Zero on success.


Report bugs to <[email protected]>.
Home page:


Copyright © 2001-2016 Free Software Foundation, Inc., and others.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.