GMimeCertificate

## GMimeCertificate GMimeCertificate — Digital certificates |

## Functions

GMimeCertificate * | g_mime_certificate_new ()
GMimePubKeyAlgo | g_mime_certificate_get_pubkey_algo ()
void | g_mime_certificate_set_pubkey_algo ()
GMimeDigestAlgo | g_mime_certificate_get_digest_algo ()
void | g_mime_certificate_set_digest_algo ()
const char * | g_mime_certificate_get_issuer_serial ()
void | g_mime_certificate_set_issuer_serial ()
const char * | g_mime_certificate_get_issuer_name ()
void | g_mime_certificate_set_issuer_name ()
const char * | g_mime_certificate_get_fingerprint ()
void | g_mime_certificate_set_fingerprint ()
time_t | g_mime_certificate_get_created ()
void | g_mime_certificate_set_created ()
time_t | g_mime_certificate_get_expires ()
void | g_mime_certificate_set_expires ()
const char * | g_mime_certificate_get_key_id ()
void | g_mime_certificate_set_key_id ()
GMimeCertificateTrust | g_mime_certificate_get_trust ()
void | g_mime_certificate_set_trust ()
const char * | g_mime_certificate_get_email ()
void | g_mime_certificate_set_email ()
const char * | g_mime_certificate_get_name ()
void | g_mime_certificate_set_name ()
GMimeCertificateList * | g_mime_certificate_list_new ()
int | g_mime_certificate_list_length ()
void | g_mime_certificate_list_clear ()
int | g_mime_certificate_list_add ()
void | g_mime_certificate_list_insert ()
gboolean | g_mime_certificate_list_remove ()
gboolean | g_mime_certificate_list_remove_at ()
gboolean | g_mime_certificate_list_contains ()
int | g_mime_certificate_list_index_of ()
GMimeCertificate * | g_mime_certificate_list_get_certificate ()
void | g_mime_certificate_list_set_certificate ()

## Types and Values

enum | GMimePubKeyAlgo
enum | GMimeDigestAlgo
enum | GMimeCertificateTrust
struct | GMimeCertificate
struct | GMimeCertificateList

## Description

A GMimeCertificate is an object containing useful information about a digital certificate as used in signing and encrypting data.

## Functions

### g_mime_certificate_new ()

    GMimeCertificate *
    g_mime_certificate_new (void);

Creates a new GMimeCertificate object.

#### Returns

a new GMimeCertificate object.

### g_mime_certificate_get_pubkey_algo ()

    GMimePubKeyAlgo
    g_mime_certificate_get_pubkey_algo (GMimeCertificate *cert);

Get the public-key algorithm used by the certificate.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the public-key algorithm used by the certificate or GMIME_PUBKEY_ALGO_DEFAULT if unspecified.

### g_mime_certificate_set_pubkey_algo ()

    void
    g_mime_certificate_set_pubkey_algo (GMimeCertificate *cert,
                                        GMimePubKeyAlgo algo);

Set the public-key algorithm used by the certificate.

#### Parameters

cert | a GMimeCertificate |
algo | a GMimePubKeyAlgo |

### g_mime_certificate_get_digest_algo ()

    GMimeDigestAlgo
    g_mime_certificate_get_digest_algo (GMimeCertificate *cert);

Get the digest algorithm used by the certificate.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the digest algorithm used by the certificate or GMIME_DIGEST_ALGO_DEFAULT if unspecified.

### g_mime_certificate_set_digest_algo ()

    void
    g_mime_certificate_set_digest_algo (GMimeCertificate *cert,
                                        GMimeDigestAlgo algo);

Set the digest algorithm used by the certificate.

#### Parameters

cert | a GMimeCertificate |
algo | a GMimeDigestAlgo |

### g_mime_certificate_get_issuer_serial ()

    const char *
    g_mime_certificate_get_issuer_serial (GMimeCertificate *cert);

Get the certificate's issuer serial.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate's issuer serial or `NULL` if unspecified.

### g_mime_certificate_set_issuer_serial ()

    void
    g_mime_certificate_set_issuer_serial (GMimeCertificate *cert,
                                          const char *issuer_serial);

Set the certificate's issuer serial.

#### Parameters

cert | a GMimeCertificate |
issuer_serial | certificate's issuer serial |

### g_mime_certificate_get_issuer_name ()

    const char *
    g_mime_certificate_get_issuer_name (GMimeCertificate *cert);

Get the certificate's issuer name.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate's issuer name or `NULL` if unspecified.

### g_mime_certificate_set_issuer_name ()

    void
    g_mime_certificate_set_issuer_name (GMimeCertificate *cert,
                                        const char *issuer_name);

Set the certificate's issuer name.

#### Parameters

cert | a GMimeCertificate |
issuer_name | certificate's issuer name |

### g_mime_certificate_get_fingerprint ()

    const char *
    g_mime_certificate_get_fingerprint (GMimeCertificate *cert);

Get the certificate's key fingerprint.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate's key fingerprint or `NULL` if unspecified.

### g_mime_certificate_set_fingerprint ()

    void
    g_mime_certificate_set_fingerprint (GMimeCertificate *cert,
                                        const char *fingerprint);

Set the certificate's key fingerprint.

#### Parameters

cert | a GMimeCertificate |
fingerprint | fingerprint string |

### g_mime_certificate_get_created ()

    time_t
    g_mime_certificate_get_created (GMimeCertificate *cert);

Get the creation date of the certificate's key.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the creation date of the certificate's key or `-1` if unknown.

### g_mime_certificate_set_created ()

    void
    g_mime_certificate_set_created (GMimeCertificate *cert,
                                    time_t created);

Set the creation date of the certificate's key.

#### Parameters

cert | a GMimeCertificate |
created | creation date |

### g_mime_certificate_get_expires ()

    time_t
    g_mime_certificate_get_expires (GMimeCertificate *cert);

Get the expiration date of the certificate's key.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the expiration date of the certificate's key or `-1` if unknown.

### g_mime_certificate_set_expires ()

    void
    g_mime_certificate_set_expires (GMimeCertificate *cert,
                                    time_t expires);

Set the expiration date of the certificate's key.

#### Parameters

cert | a GMimeCertificate |
expires | expiration date |

### g_mime_certificate_get_key_id ()

    const char *
    g_mime_certificate_get_key_id (GMimeCertificate *cert);

Get the certificate's key id.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate's key id or `NULL` if unspecified.

### g_mime_certificate_set_key_id ()

    void
    g_mime_certificate_set_key_id (GMimeCertificate *cert,
                                   const char *key_id);

Set the certificate's key id.

#### Parameters

cert | a GMimeCertificate |
key_id | key id |

### g_mime_certificate_get_trust ()

    GMimeCertificateTrust
    g_mime_certificate_get_trust (GMimeCertificate *cert);

Get the certificate trust.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate trust.

### g_mime_certificate_set_trust ()

    void
    g_mime_certificate_set_trust (GMimeCertificate *cert,
                                  GMimeCertificateTrust trust);

Set the certificate trust.

#### Parameters

cert | a GMimeCertificate |
trust | a GMimeCertificateTrust value |

### g_mime_certificate_get_email ()

    const char *
    g_mime_certificate_get_email (GMimeCertificate *cert);

Get the certificate's email.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate's email or `NULL` if unspecified.

### g_mime_certificate_set_email ()

    void
    g_mime_certificate_set_email (GMimeCertificate *cert,
                                  const char *email);

Set the certificate's email.

#### Parameters

cert | a GMimeCertificate |
email | certificate's email |

### g_mime_certificate_get_name ()

    const char *
    g_mime_certificate_get_name (GMimeCertificate *cert);

Get the certificate's name.

#### Parameters

cert | a GMimeCertificate |

#### Returns

the certificate's name or `NULL` if unspecified.

### g_mime_certificate_set_name ()

    void
    g_mime_certificate_set_name (GMimeCertificate *cert,
                                 const char *name);

Set the certificate's name.

#### Parameters

cert | a GMimeCertificate |
name | certificate's name |

### g_mime_certificate_list_new ()

    GMimeCertificateList *
    g_mime_certificate_list_new (void);

Creates a new GMimeCertificateList.

#### Returns

a new GMimeCertificateList.

### g_mime_certificate_list_length ()

    int
    g_mime_certificate_list_length (GMimeCertificateList *list);

Gets the length of the list.

#### Parameters

list | a GMimeCertificateList |

#### Returns

the number of GMimeCertificate objects in the list.

### g_mime_certificate_list_clear ()

    void
    g_mime_certificate_list_clear (GMimeCertificateList *list);

Clears the list of addresses.

#### Parameters

list | a GMimeCertificateList |

### g_mime_certificate_list_add ()

    int
    g_mime_certificate_list_add (GMimeCertificateList *list,
                                 GMimeCertificate *cert);

Adds a GMimeCertificate to the GMimeCertificateList.

#### Parameters

list | a GMimeCertificateList |
cert | a GMimeCertificate |

#### Returns

the index of the added GMimeCertificate.

### g_mime_certificate_list_insert ()

    void
    g_mime_certificate_list_insert (GMimeCertificateList *list,
                                    int index,
                                    GMimeCertificate *cert);

Inserts a GMimeCertificate into the GMimeCertificateList at the specified index.

#### Parameters

list | a GMimeCertificateList |
index | index to insert at |
cert | a GMimeCertificate |

### g_mime_certificate_list_remove ()

    gboolean
    g_mime_certificate_list_remove (GMimeCertificateList *list,
                                    GMimeCertificate *cert);

Removes a GMimeCertificate from the GMimeCertificateList.

#### Parameters

list | a GMimeCertificateList |
cert | a GMimeCertificate |

#### Returns

`TRUE` if the specified GMimeCertificate was removed or `FALSE` otherwise.

### g_mime_certificate_list_remove_at ()

    gboolean
    g_mime_certificate_list_remove_at (GMimeCertificateList *list,
                                       int index);

Removes a GMimeCertificate from the GMimeCertificateList at the specified index.

#### Parameters

list | a GMimeCertificateList |
index | index to remove |

#### Returns

`TRUE` if an GMimeCertificate was removed or `FALSE` otherwise.

### g_mime_certificate_list_contains ()

    gboolean
    g_mime_certificate_list_contains (GMimeCertificateList *list,
                                      GMimeCertificate *cert);

Checks whether or not the specified GMimeCertificate is contained within the GMimeCertificateList.

#### Parameters

list | a GMimeCertificateList |
cert | a GMimeCertificate |

#### Returns

`TRUE` if the specified GMimeCertificate is contained within the specified GMimeCertificateList or `FALSE` otherwise.

### g_mime_certificate_list_index_of ()

    int
    g_mime_certificate_list_index_of (GMimeCertificateList *list,
                                      GMimeCertificate *cert);

Gets the index of the specified GMimeCertificate inside the GMimeCertificateList.

#### Parameters

list | a GMimeCertificateList |
cert | a GMimeCertificate |

#### Returns

the index of the requested GMimeCertificate within the GMimeCertificateList or `-1` if it is not contained within the GMimeCertificateList.

### g_mime_certificate_list_get_certificate ()

    GMimeCertificate *
    g_mime_certificate_list_get_certificate
                                   (GMimeCertificateList *list,
                                    int index);

Gets the GMimeCertificate at the specified index.

#### Parameters

list | a GMimeCertificateList |
index | index of GMimeCertificate to get |

#### Returns

the GMimeCertificate at the specified index or `NULL` if the index is out of range.

[transfer full]

### g_mime_certificate_list_set_certificate ()

    void
    g_mime_certificate_list_set_certificate
                                   (GMimeCertificateList *list,
                                    int index,
                                    GMimeCertificate *cert);

Sets the GMimeCertificate at the specified index to `cert` .

#### Parameters

list | a GMimeCertificateList |
index | index of GMimeCertificate to set |
cert | a GMimeCertificate |

## Types and Values

### enum GMimePubKeyAlgo

A public-key algorithm.

#### Members

GMIME_PUBKEY_ALGO_DEFAULT | The default public-key algorithm. |
GMIME_PUBKEY_ALGO_RSA | The RSA algorithm. |
GMIME_PUBKEY_ALGO_RSA_E | An encryption-only RSA algorithm. |
GMIME_PUBKEY_ALGO_RSA_S | A signature-only RSA algorithm. |
GMIME_PUBKEY_ALGO_ELG_E | An encryption-only ElGamal algorithm. |
GMIME_PUBKEY_ALGO_DSA | The DSA algorithm. |
GMIME_PUBKEY_ALGO_ELG | The ElGamal algorithm. |

### enum GMimeDigestAlgo

A hash algorithm.

#### Members

GMIME_DIGEST_ALGO_DEFAULT | The default hash algorithm. |
GMIME_DIGEST_ALGO_MD5 | The MD5 hash algorithm. |
GMIME_DIGEST_ALGO_SHA1 | The SHA-1 hash algorithm. |
GMIME_DIGEST_ALGO_RIPEMD160 | The RIPEMD-160 hash algorithm. |
GMIME_DIGEST_ALGO_MD2 | The MD2 hash algorithm. |
GMIME_DIGEST_ALGO_TIGER192 | The TIGER-192 hash algorithm. |
GMIME_DIGEST_ALGO_HAVAL5160 | The HAVAL-5-160 hash algorithm. |
GMIME_DIGEST_ALGO_SHA256 | The SHA-256 hash algorithm. |
GMIME_DIGEST_ALGO_SHA384 | The SHA-384 hash algorithm. |
GMIME_DIGEST_ALGO_SHA512 | The SHA-512 hash algorithm. |
GMIME_DIGEST_ALGO_SHA224 | The SHA-224 hash algorithm. |
GMIME_DIGEST_ALGO_MD4 | The MD4 hash algorithm. |

### enum GMimeCertificateTrust

The trust value of a certificate.

#### Members

GMIME_CERTIFICATE_TRUST_NONE | No trust assigned. |
GMIME_CERTIFICATE_TRUST_NEVER | Never trust this certificate. |
GMIME_CERTIFICATE_TRUST_UNDEFINED | Undefined trust for this certificate. |
GMIME_CERTIFICATE_TRUST_MARGINAL | Trust this certificate maginally. |
GMIME_CERTIFICATE_TRUST_FULLY | Trust this certificate fully. |
GMIME_CERTIFICATE_TRUST_ULTIMATE | Trust this certificate ultimately. |

### struct GMimeCertificate

    struct GMimeCertificate {
    	GObject parent_object;

    	GMimePubKeyAlgo pubkey_algo;
    	GMimeDigestAlgo digest_algo;
    	GMimeCertificateTrust trust;
    	char *issuer_serial;
    	char *issuer_name;
    	char *fingerprint;
    	time_t created;
    	time_t expires;
    	char *keyid;
    	char *email;
    	char *name;
    };

An object containing useful information about a certificate.

#### Members

GObject `parent_object`; | parent GObject |
GMimePubKeyAlgo `pubkey_algo`; | The public-key algorithm used by the certificate, if known. |
GMimeDigestAlgo `digest_algo`; | The digest algorithm used by the certificate, if known. |
GMimeCertificateTrust `trust`; | The level of trust assigned to this certificate. |
char *`issuer_serial`; | The issuer of the certificate, if known. |
char *`issuer_name`; | The issuer of the certificate, if known. |
char *`fingerprint`; | A hex string representing the certificate's fingerprint. |
time_t `created`; | The creation date of the certificate. |
time_t `expires`; | The expiration date of the certificate. |
char *`keyid`; | The certificate's key id. |
char *`email`; | The email address of the person or entity. |
char *`name`; | The name of the person or entity. |

### struct GMimeCertificateList

    struct GMimeCertificateList {
    	GObject parent_object;
    	GPtrArray *array;
    };

A collection of GMimeCertificate objects.

#### Members

GObject `parent_object`; | parent GObject |
GPtrArray *`array`; | An array of GMimeCertificate objects. |