gnutls_pem_base64_encode2 — API function


#include <gnutls/gnutls.h>

int gnutls_pem_base64_encode2(const char * header, const gnutls_datum_t * data, gnutls_datum_t * result);


const char * header

is a message to be put in the encoded header (may be NULL)

const gnutls_datum_t * data

contains the raw data

gnutls_datum_t * result

will hold the newly allocated encoded data


This function will convert the given data to printable data, using the base64 encoding.  This is the encoding used in PEM messages. This function will allocate the required memory to hold the encoded data.

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_encode_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