## 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 ()
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
struct | GMimeSignature
struct | GMimeSignatureList

## Object Hierarchy

        GObject
        ├── GMimeSignature
        ╰── 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 as a bitfield of GMimeSignatureStatus flags.

#### 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_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. A value of `0` means the signature never expires.

#### 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. A value of `0` means the signature never expires.

#### 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 bit flags for a particular GMimeSignature.

#### Members

GMIME_SIGNATURE_STATUS_VALID | The signature is fully valid. |
GMIME_SIGNATURE_STATUS_GREEN | The signature is good. |
GMIME_SIGNATURE_STATUS_RED | The signature is bad. |
GMIME_SIGNATURE_STATUS_KEY_REVOKED | The key has been revoked. |
GMIME_SIGNATURE_STATUS_KEY_EXPIRED | The key has expired. |
GMIME_SIGNATURE_STATUS_SIG_EXPIRED | The signature has expired. |
GMIME_SIGNATURE_STATUS_KEY_MISSING | Can't verify due to missing key. |
GMIME_SIGNATURE_STATUS_CRL_MISSING | CRL not available. |
GMIME_SIGNATURE_STATUS_CRL_TOO_OLD | Available CRL is too old. |
GMIME_SIGNATURE_STATUS_BAD_POLICY | A policy was not met. |
GMIME_SIGNATURE_STATUS_SYS_ERROR | A system error occurred. |
GMIME_SIGNATURE_STATUS_TOFU_CONFLICT | Tofu conflict detected. |

### struct GMimeSignature

    struct GMimeSignature;

An object containing useful information about a signature.

#### Members

### struct GMimeSignatureList

    struct GMimeSignatureList;

A collection of GMimeSignature objects.

#### Members