ne_ssl_cert_read
3

# ne_ssl_cert_read

# ne_ssl_cert_write

# ne_ssl_cert_import

# ne_ssl_cert_export

functions to read or write certificates to and from files or strings

          #include <ne_ssl.h>

            ne_ssl_certificate *ne_ssl_cert_read
            const char *filename

            int ne_ssl_cert_write
            const ne_ssl_certificate *cert
            const char *filename

            ne_ssl_certificate *ne_ssl_cert_import
            const char *data

            char *ne_ssl_cert_export
            const ne_ssl_certificate *cert

## Description

The `ne_ssl_cert_write` function writes a certificate to a file using the PEM encoding. The `ne_ssl_cert_export` function returns a base64-encoded &nul;-terminated string representing the certificate. This string is malloc-allocated and should be destroyed using `free` by the caller.

The `ne_ssl_cert_read` function reads a certificate from a PEM-encoded file, and returns a certificate object. The `ne_ssl_cert_import` function returns a certificate object from a base64-encoded string, `data`, as returned by `ne_ssl_cert_export`. The certificate object returned by these functions should be destroyed using after use.

## Return value

`ne_ssl_cert_read` returns &null; if a certificate could not be read from the file. `ne_ssl_cert_write` returns non-zero if the certificate could not be written to the file. `ne_ssl_cert_export` always returns a &nul;-terminated string, and never &null;. `ne_ssl_cert_import` returns &null; if the string was not a valid base64-encoded certificate.

## Encoding Formats

The string produced by `ne_ssl_cert_export` is the base64 encoding of the DER representation of the certificate. The file written by `ne_ssl_cert_write` uses the PEM format: this is the base64 encoding of the DER representation with newlines every 64 characters, and start and end marker lines.