gnutls_x509_privkey_import2 — API function


#include <gnutls/x509.h>
int gnutls_x509_privkey_import2( gnutls_x509_privkey_t key,
  const gnutls_datum_t * data,
  gnutls_x509_crt_fmt_t format,
  const char * password,
  unsigned int flags);


gnutls_x509_privkey_t key

The structure to store the parsed key

const gnutls_datum_t * data

The DER or PEM encoded key.

gnutls_x509_crt_fmt_t format

One of DER or PEM

const char * password

A password (optional)

unsigned int flags

an ORed sequence of gnutls_pkcs_encrypt_flags_t


This function will import the given DER or PEM encoded key, to the native gnutls_x509_privkey_t format, irrespective of the input format. The input format is auto−detected.

The supported formats are basic unencrypted key, PKCS8, PKCS12, and the openssl format.

If the provided key is encrypted but no password was given, then GNUTLS_E_DECRYPTION_FAILED is returned.


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


Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

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.