## GMimeSignature GMimeSignature — Digital signatures |

## Functions

GMimeSignature * | g_mime_signature_new ()
GMimeCertificate * | g_mime_signature_get_certificate ()
void | g_mime_signature_set_certificate ()
GMimeSignatureStatus | g_mime_signature_get_status ()
void | g_mime_signature_set_status ()
GMimeSignatureError | g_mime_signature_get_errors ()
void | g_mime_signature_set_errors ()
time_t | g_mime_signature_get_created ()
void | g_mime_signature_set_created ()
time_t | g_mime_signature_get_expires ()
void | g_mime_signature_set_expires ()
GMimeSignatureList * | g_mime_signature_list_new ()
int | g_mime_signature_list_length ()
void | g_mime_signature_list_clear ()
int | g_mime_signature_list_add ()
void | g_mime_signature_list_insert ()
gboolean | g_mime_signature_list_remove ()
gboolean | g_mime_signature_list_remove_at ()
gboolean | g_mime_signature_list_contains ()
int | g_mime_signature_list_index_of ()
GMimeSignature * | g_mime_signature_list_get_signature ()
void | g_mime_signature_list_set_signature ()

## Types and Values

enum | GMimeSignatureStatus
enum | GMimeSignatureError
struct | GMimeSignature
struct | GMimeSignatureList

## Description

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

## Functions

### g_mime_signature_new ()

    GMimeSignature *
    g_mime_signature_new (void);

Creates a new GMimeSignature object.

#### Returns

a new GMimeSignature object.

### g_mime_signature_get_certificate ()

    GMimeCertificate *
    g_mime_signature_get_certificate (GMimeSignature *sig);

Get the signature's certificate.

#### Parameters

sig | a GMimeSignature |

#### Returns

the signature's certificate.

[transfer none]

### g_mime_signature_set_certificate ()

    void
    g_mime_signature_set_certificate (GMimeSignature *sig,
                                      GMimeCertificate *cert);

Set the signature's certificate.

#### Parameters

sig | a GMimeSignature |
cert | a GMimeCertificate |

### g_mime_signature_get_status ()

    GMimeSignatureStatus
    g_mime_signature_get_status (GMimeSignature *sig);

Get the signature status.

#### Parameters

sig | a GMimeSignature |

#### Returns

the signature status.

### g_mime_signature_set_status ()

    void
    g_mime_signature_set_status (GMimeSignature *sig,
                                 GMimeSignatureStatus status);

Set the status on the signature.

#### Parameters

sig | a GMimeSignature |
status | a GMimeSignatureStatus |

### g_mime_signature_get_errors ()

    GMimeSignatureError
    g_mime_signature_get_errors (GMimeSignature *sig);

Get the signature errors. If the GMimeSignatureStatus returned from `g_mime_signature_get_status()` is not GMIME_SIGNATURE_STATUS_GOOD, then the errors may provide a clue as to why.

#### Parameters

sig | a GMimeSignature |

#### Returns

a bitfield of errors.

### g_mime_signature_set_errors ()

    void
    g_mime_signature_set_errors (GMimeSignature *sig,
                                 GMimeSignatureError errors);

Set the errors on the signature.

#### Parameters

sig | a GMimeSignature |
errors | a GMimeSignatureError |

### g_mime_signature_get_created ()

    time_t
    g_mime_signature_get_created (GMimeSignature *sig);

Get the creation date of the signature.

#### Parameters

sig | a GMimeSignature |

#### Returns

the creation date of the signature or `-1` if unknown.

### g_mime_signature_set_created ()

    void
    g_mime_signature_set_created (GMimeSignature *sig,
                                  time_t created);

Set the creation date of the signature.

#### Parameters

sig | a GMimeSignature |
created | creation date |

### g_mime_signature_get_expires ()

    time_t
    g_mime_signature_get_expires (GMimeSignature *sig);

Get the expiration date of the signature.

#### Parameters

sig | a GMimeSignature |

#### Returns

the expiration date of the signature or `-1` if unknown.

### g_mime_signature_set_expires ()

    void
    g_mime_signature_set_expires (GMimeSignature *sig,
                                  time_t expires);

Set the expiration date of the signature.

#### Parameters

sig | a GMimeSignature |
expires | expiration date |

### g_mime_signature_list_new ()

    GMimeSignatureList *
    g_mime_signature_list_new (void);

Creates a new GMimeSignatureList.

#### Returns

a new GMimeSignatureList.

### g_mime_signature_list_length ()

    int
    g_mime_signature_list_length (GMimeSignatureList *list);

Gets the length of the list.

#### Parameters

list | a GMimeSignatureList |

#### Returns

the number of GMimeSignature objects in the list.

### g_mime_signature_list_clear ()

    void
    g_mime_signature_list_clear (GMimeSignatureList *list);

Clears the list of addresses.

#### Parameters

list | a GMimeSignatureList |

### g_mime_signature_list_add ()

    int
    g_mime_signature_list_add (GMimeSignatureList *list,
                               GMimeSignature *sig);

Adds a GMimeSignature to the GMimeSignatureList.

#### Parameters

list | a GMimeSignatureList |
sig | a GMimeSignature |

#### Returns

the index of the added GMimeSignature.

### g_mime_signature_list_insert ()

    void
    g_mime_signature_list_insert (GMimeSignatureList *list,
                                  int index,
                                  GMimeSignature *sig);

Inserts a GMimeSignature into the GMimeSignatureList at the specified index.

#### Parameters

list | a GMimeSignatureList |
index | index to insert at |
sig | a GMimeSignature |

### g_mime_signature_list_remove ()

    gboolean
    g_mime_signature_list_remove (GMimeSignatureList *list,
                                  GMimeSignature *sig);

Removes a GMimeSignature from the GMimeSignatureList.

#### Parameters

list | a GMimeSignatureList |
sig | a GMimeSignature |

#### Returns

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

### g_mime_signature_list_remove_at ()

    gboolean
    g_mime_signature_list_remove_at (GMimeSignatureList *list,
                                     int index);

Removes a GMimeSignature from the GMimeSignatureList at the specified index.

#### Parameters

list | a GMimeSignatureList |
index | index to remove |

#### Returns

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

### g_mime_signature_list_contains ()

    gboolean
    g_mime_signature_list_contains (GMimeSignatureList *list,
                                    GMimeSignature *sig);

Checks whether or not the specified GMimeSignature is contained within the GMimeSignatureList.

#### Parameters

list | a GMimeSignatureList |
sig | a GMimeSignature |

#### Returns

`TRUE` if the specified GMimeSignature is contained within the specified GMimeSignatureList or `FALSE` otherwise.

### g_mime_signature_list_index_of ()

    int
    g_mime_signature_list_index_of (GMimeSignatureList *list,
                                    GMimeSignature *sig);

Gets the index of the specified GMimeSignature inside the GMimeSignatureList.

#### Parameters

list | a GMimeSignatureList |
sig | a GMimeSignature |

#### Returns

the index of the requested GMimeSignature within the GMimeSignatureList or `-1` if it is not contained within the GMimeSignatureList.

### g_mime_signature_list_get_signature ()

    GMimeSignature *
    g_mime_signature_list_get_signature (GMimeSignatureList *list,
                                         int index);

Gets the GMimeSignature at the specified index.

#### Parameters

list | a GMimeSignatureList |
index | index of GMimeSignature to get |

#### Returns

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

[transfer none]

### g_mime_signature_list_set_signature ()

    void
    g_mime_signature_list_set_signature (GMimeSignatureList *list,
                                         int index,
                                         GMimeSignature *sig);

Sets the GMimeSignature at the specified index to `sig` .

#### Parameters

list | a GMimeSignatureList |
index | index of GMimeSignature to set |
sig | a GMimeSignature |

## Types and Values

### enum GMimeSignatureStatus

A value representing the signature status for a particular GMimeSignature.

#### Members

GMIME_SIGNATURE_STATUS_GOOD | Good signature. |
GMIME_SIGNATURE_STATUS_ERROR | An error occurred. |
GMIME_SIGNATURE_STATUS_BAD | Bad signature. |

### enum GMimeSignatureError

Possible errors that a GMimeSignature could have.

#### Members

GMIME_SIGNATURE_ERROR_NONE | No error. |
GMIME_SIGNATURE_ERROR_EXPSIG | Expired signature. |
GMIME_SIGNATURE_ERROR_NO_PUBKEY | No public key found. |
GMIME_SIGNATURE_ERROR_EXPKEYSIG | Expired signature key. |
GMIME_SIGNATURE_ERROR_REVKEYSIG | Revoked signature key. |
GMIME_SIGNATURE_ERROR_UNSUPP_ALGO | Unsupported algorithm. |

### struct GMimeSignature

    struct GMimeSignature {
    	GObject parent_object;

    	GMimeSignatureStatus status;
    	GMimeSignatureError errors;
    	GMimeCertificate *cert;
    	time_t created;
    	time_t expires;
    };

An object containing useful information about a signature.

#### Members

GObject `parent_object`; | parent GObject |
GMimeSignatureStatus `status`; | A GMimeSignatureStatus. |
GMimeSignatureError `errors`; | A bitfield of GMimeSignatureError values. |
GMimeCertificate *`cert`; | The GMimeCertificate used in the signature. |
time_t `created`; | The creation date of the signature. |
time_t `expires`; | The expiration date of the signature. |

### struct GMimeSignatureList

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

A collection of GMimeSignature objects.

#### Members

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