gnutls_pem_base64_decode2 — API function


#include <gnutls/gnutls.h>

int gnutls_pem_base64_decode2(const char * header, const gnutls_datum_t * b64_data, gnutls_datum_t * result);


const char * header

The PEM header (eg. CERTIFICATE)

const gnutls_datum_t * b64_data

contains the encoded data

gnutls_datum_t * result

the location of decoded data


This function will decode the given encoded data. The decoded data will be allocated, and stored into result.  If the header given is non null this function will search for "-----BEGIN header" and decode only this part. Otherwise it will decode the first PEM packet found.

You should use gnutls_free() to free the returned data.

Note, that prior to GnuTLS 3.4.0 this function was available under the name gnutls_pem_base64_decode_alloc(). There is compatibility macro pointing to this function.


On success, GNUTLS_E_SUCCESS (0) is returned, otherwise an error code is returned.



Reporting Bugs

Report bugs to <>.
Home page:

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


3.6.9 gnutls