CamelCertDB: Camel Reference Manual

## CamelCertDB CamelCertDB |

## Functions

CamelCert * | camel_cert_new ()
void | camel_cert_ref ()
void | camel_cert_unref ()
gboolean | camel_cert_load_cert_file ()
gboolean | camel_cert_save_cert_file ()
CamelCertDB * | camel_certdb_new ()
void | camel_certdb_set_default ()
CamelCertDB * | camel_certdb_get_default ()
void | camel_certdb_set_filename ()
gint | camel_certdb_load ()
gint | camel_certdb_save ()
void | camel_certdb_touch ()
CamelCert * | camel_certdb_get_host ()
void | camel_certdb_put ()
GSList * | camel_certdb_list_certs ()
void | camel_certdb_remove_host ()
void | camel_certdb_clear ()

## Types and Values

enum | CamelCertTrust
| CamelCert
struct | CamelCertDB

## Object Hierarchy

        GObject
        ╰── CamelCertDB

## Description

## Functions

### camel_cert_new ()

    CamelCert *
    camel_cert_new (void);

### camel_cert_ref ()

    void
    camel_cert_ref (CamelCert *cert);

### camel_cert_unref ()

    void
    camel_cert_unref (CamelCert *cert);

### camel_cert_load_cert_file ()

    gboolean
    camel_cert_load_cert_file (CamelCert *cert,
                               GError **error);

### camel_cert_save_cert_file ()

    gboolean
    camel_cert_save_cert_file (CamelCert *cert,
                               const GByteArray *der_data,
                               GError **error);

### camel_certdb_new ()

    CamelCertDB *
    camel_certdb_new (void);

### camel_certdb_set_default ()

    void
    camel_certdb_set_default (CamelCertDB *certdb);

### camel_certdb_get_default ()

    CamelCertDB *
    camel_certdb_get_default (void);

### camel_certdb_set_filename ()

    void
    camel_certdb_set_filename (CamelCertDB *certdb,
                               const gchar *filename);

### camel_certdb_load ()

    gint
    camel_certdb_load (CamelCertDB *certdb);

### camel_certdb_save ()

    gint
    camel_certdb_save (CamelCertDB *certdb);

### camel_certdb_touch ()

    void
    camel_certdb_touch (CamelCertDB *certdb);

### camel_certdb_get_host ()

    CamelCert *
    camel_certdb_get_host (CamelCertDB *certdb,
                           const gchar *hostname,
                           const gchar *fingerprint);

FIXME Document me!

Since: 3.6

### camel_certdb_put ()

    void
    camel_certdb_put (CamelCertDB *certdb,
                      CamelCert *cert);

FIXME Document me!

Since: 3.6

### camel_certdb_list_certs ()

    GSList *
    camel_certdb_list_certs (CamelCertDB *certdb);

Gathers a list of known certificates. Each certificate in the returned GSList is referenced, thus unref it with `camel_cert_unref()` when done with it, the same as free the list itself.

#### Parameters

certdb | a CamelCertDB |

#### Returns

(element-type CamelCert): Newly allocated list of referenced CamelCert-s, which are stored in the `certdb` .

[transfer full]

Since: 3.16

### camel_certdb_remove_host ()

    void
    camel_certdb_remove_host (CamelCertDB *certdb,
                              const gchar *hostname,
                              const gchar *fingerprint);

FIXME Document me!

Since: 3.6

### camel_certdb_clear ()

    void
    camel_certdb_clear (CamelCertDB *certdb);

## Types and Values

### enum CamelCertTrust

#### Members

CAMEL_CERT_TRUST_UNKNOWN |  |
CAMEL_CERT_TRUST_NEVER |  |
CAMEL_CERT_TRUST_MARGINAL |  |
CAMEL_CERT_TRUST_FULLY |  |
CAMEL_CERT_TRUST_ULTIMATE |  |
CAMEL_CERT_TRUST_TEMPORARY |  |

### CamelCert

    typedef struct {
    	volatile gint refcount;

    	gchar *issuer;
    	gchar *subject;
    	gchar *hostname;
    	gchar *fingerprint;

    	CamelCertTrust trust;
    	GBytes *rawcert; /* loaded on demand, with camel_cert_load_cert_file() */
    } CamelCert;

### struct CamelCertDB

    struct CamelCertDB;