GMimeCipherContext

GMimeCipherContext — Encryption/signing contexts

Synopsis

gboolean            (*GMimePasswordRequestFunc)         (GMimeCipherContext *ctx,
                                                         const char *user_id,
                                                         const char *prompt_ctx,
                                                         gboolean reprompt,
                                                         GMimeStream *response,
                                                         GError **err);
enum                GMimeCipherHash;
                    GMimeCipherContext;
                    GMimeSignatureValidity;
enum                GMimeSignatureStatus;
enum                GMimeSignerStatus;
enum                GMimeSignerTrust;
enum                GMimeSignerError;
                    GMimeSigner;
void                g_mime_cipher_context_set_request_password
                                                        (GMimeCipherContext *ctx,
                                                         GMimePasswordRequestFunc request_passwd);
GMimeCipherHash     g_mime_cipher_context_hash_id       (GMimeCipherContext *ctx,
                                                         const char *hash);
const char *        g_mime_cipher_context_hash_name     (GMimeCipherContext *ctx,
                                                         GMimeCipherHash hash);
int                 g_mime_cipher_context_sign          (GMimeCipherContext *ctx,
                                                         const char *userid,
                                                         GMimeCipherHash hash,
                                                         GMimeStream *istream,
                                                         GMimeStream *ostream,
                                                         GError **err);
GMimeSignatureValidity * g_mime_cipher_context_verify   (GMimeCipherContext *ctx,
                                                         GMimeCipherHash hash,
                                                         GMimeStream *istream,
                                                         GMimeStream *sigstream,
                                                         GError **err);
int                 g_mime_cipher_context_encrypt       (GMimeCipherContext *ctx,
                                                         gboolean sign,
                                                         const char *userid,
                                                         GPtrArray *recipients,
                                                         GMimeStream *istream,
                                                         GMimeStream *ostream,
                                                         GError **err);
GMimeSignatureValidity * g_mime_cipher_context_decrypt  (GMimeCipherContext *ctx,
                                                         GMimeStream *istream,
                                                         GMimeStream *ostream,
                                                         GError **err);
int                 g_mime_cipher_context_import_keys   (GMimeCipherContext *ctx,
                                                         GMimeStream *istream,
                                                         GError **err);
int                 g_mime_cipher_context_export_keys   (GMimeCipherContext *ctx,
                                                         GPtrArray *keys,
                                                         GMimeStream *ostream,
                                                         GError **err);

GMimeSigner *       g_mime_signer_new                   (void);
void                g_mime_signer_free                  (GMimeSigner *signer);
GMimeSigner *       g_mime_signer_next                  (GMimeSigner *signer);
GMimeSignerStatus   g_mime_signer_get_status            (GMimeSigner *signer);
void                g_mime_signer_set_status            (GMimeSigner *signer,
                                                         GMimeSignerStatus status);
GMimeSignerError    g_mime_signer_get_errors            (GMimeSigner *signer);
void                g_mime_signer_set_errors            (GMimeSigner *signer,
                                                         GMimeSignerError error);
GMimeSignerTrust    g_mime_signer_get_trust             (GMimeSigner *signer);
void                g_mime_signer_set_trust             (GMimeSigner *signer,
                                                         GMimeSignerTrust trust);
const char *        g_mime_signer_get_issuer_serial     (GMimeSigner *signer);
void                g_mime_signer_set_issuer_serial     (GMimeSigner *signer,
                                                         const char *issuer_serial);
const char *        g_mime_signer_get_issuer_name       (GMimeSigner *signer);
void                g_mime_signer_set_issuer_name       (GMimeSigner *signer,
                                                         const char *issuer_name);
const char *        g_mime_signer_get_fingerprint       (GMimeSigner *signer);
void                g_mime_signer_set_fingerprint       (GMimeSigner *signer,
                                                         const char *fingerprint);
time_t              g_mime_signer_get_sig_created       (GMimeSigner *signer);
void                g_mime_signer_set_sig_created       (GMimeSigner *signer,
                                                         time_t created);
time_t              g_mime_signer_get_sig_expires       (GMimeSigner *signer);
void                g_mime_signer_set_sig_expires       (GMimeSigner *signer,
                                                         time_t expires);
time_t              g_mime_signer_get_key_created       (GMimeSigner *signer);
void                g_mime_signer_set_key_created       (GMimeSigner *signer,
                                                         time_t created);
time_t              g_mime_signer_get_key_expires       (GMimeSigner *signer);
void                g_mime_signer_set_key_expires       (GMimeSigner *signer,
                                                         time_t expires);
const char *        g_mime_signer_get_key_id            (GMimeSigner *signer);
void                g_mime_signer_set_key_id            (GMimeSigner *signer,
                                                         const char *key_id);
const char *        g_mime_signer_get_email             (GMimeSigner *signer);
void                g_mime_signer_set_email             (GMimeSigner *signer,
                                                         const char *email);
const char *        g_mime_signer_get_name              (GMimeSigner *signer);
void                g_mime_signer_set_name              (GMimeSigner *signer,
                                                         const char *name);
GMimeSignatureValidity * g_mime_signature_validity_new  (void);
void                g_mime_signature_validity_free      (GMimeSignatureValidity *validity);
void                g_mime_signature_validity_set_status
                                                        (GMimeSignatureValidity *validity,
                                                         GMimeSignatureStatus status);
GMimeSignatureStatus  g_mime_signature_validity_get_status
                                                        (const GMimeSignatureValidity *validity);
void                g_mime_signature_validity_set_details
                                                        (GMimeSignatureValidity *validity,
                                                         const char *details);
const char *        g_mime_signature_validity_get_details
                                                        (const GMimeSignatureValidity *validity);
void                g_mime_signature_validity_add_signer
                                                        (GMimeSignatureValidity *validity,
                                                         GMimeSigner *signer);
const GMimeSigner * g_mime_signature_validity_get_signers
                                                        (const GMimeSignatureValidity *validity);

Object Hierarchy

  GObject
   +----GMimeCipherContext
         +----GMimeGpgContext

Description

A GMimeCipherContext is used for encrypting, decrypting, signing and verifying cryptographic signatures.

Details

GMimePasswordRequestFunc ()

gboolean            (*GMimePasswordRequestFunc)         (GMimeCipherContext *ctx,
                                                         const char *user_id,
                                                         const char *prompt_ctx,
                                                         gboolean reprompt,
                                                         GMimeStream *response,
                                                         GError **err);

A password request callback allowing a GMimeCipherContext to prompt the user for a password for a given key.

ctx : the GMimeCipherContext making the request
user_id : the user_id of the password being requested
prompt_ctx : a string containing some helpful context for the prompt
reprompt : TRUE if this password request is a reprompt due to a previously bad password response
response : a stream for the application to write the password to (followed by a newline '\n' character)
err : a GError for the callback to set if an error occurs
Returns : TRUE on success or FALSE on error.

enum GMimeCipherHash

typedef enum {
	GMIME_CIPHER_HASH_DEFAULT,
	GMIME_CIPHER_HASH_MD2,
	GMIME_CIPHER_HASH_MD5,
	GMIME_CIPHER_HASH_SHA1,
	GMIME_CIPHER_HASH_SHA224,
	GMIME_CIPHER_HASH_SHA256,
	GMIME_CIPHER_HASH_SHA384,
	GMIME_CIPHER_HASH_SHA512,
	GMIME_CIPHER_HASH_RIPEMD160,
	GMIME_CIPHER_HASH_TIGER192,
	GMIME_CIPHER_HASH_HAVAL5160
} GMimeCipherHash;

A hash algorithm.

GMIME_CIPHER_HASH_DEFAULT The default hash algorithm.
GMIME_CIPHER_HASH_MD2 The MD2 hash algorithm.
GMIME_CIPHER_HASH_MD5 The MD5 hash algorithm.
GMIME_CIPHER_HASH_SHA1 The SHA-1 hash algorithm.
GMIME_CIPHER_HASH_SHA224 The SHA-224 hash algorithm.
GMIME_CIPHER_HASH_SHA256 The SHA-256 hash algorithm.
GMIME_CIPHER_HASH_SHA384 The SHA-384 hash algorithm.
GMIME_CIPHER_HASH_SHA512 The SHA-512 hash algorithm.
GMIME_CIPHER_HASH_RIPEMD160 The RIPEMD-160 hash algorithm.
GMIME_CIPHER_HASH_TIGER192 The TIGER-192 hash algorithm.
GMIME_CIPHER_HASH_HAVAL5160 The HAVAL5-160 hash algorithm.

GMimeCipherContext

typedef struct _GMimeCipherContext GMimeCipherContext;

A crypto context for use with MIME.


GMimeSignatureValidity

typedef struct {
	GMimeSignatureStatus status;
	GMimeSigner *signers;
	char *details;
} GMimeSignatureValidity;

A structure containing information about the signature validity of a signed stream.

GMimeSignatureStatus status; The overall signature status.
GMimeSigner *signers; A list of GMimeSigner structures.
char *details; A string containing more user-readable details.

enum GMimeSignatureStatus

typedef enum {
	GMIME_SIGNATURE_STATUS_NONE,
	GMIME_SIGNATURE_STATUS_GOOD,
	GMIME_SIGNATURE_STATUS_BAD,
	GMIME_SIGNATURE_STATUS_UNKNOWN
} GMimeSignatureStatus;

The status of a message signature.

GMIME_SIGNATURE_STATUS_NONE No status.
GMIME_SIGNATURE_STATUS_GOOD Good signature.
GMIME_SIGNATURE_STATUS_BAD Bad signature.
GMIME_SIGNATURE_STATUS_UNKNOWN Unknown signature status.

enum GMimeSignerStatus

typedef enum {
	GMIME_SIGNER_STATUS_NONE,
	GMIME_SIGNER_STATUS_GOOD,
	GMIME_SIGNER_STATUS_BAD,
	GMIME_SIGNER_STATUS_ERROR
} GMimeSignerStatus;

A value representing the signature status for a particular GMimeSigner.

GMIME_SIGNER_STATUS_NONE No status.
GMIME_SIGNER_STATUS_GOOD Good signature.
GMIME_SIGNER_STATUS_BAD Bad signature.
GMIME_SIGNER_STATUS_ERROR An error occurred.

enum GMimeSignerTrust

typedef enum {
	GMIME_SIGNER_TRUST_NONE,
	GMIME_SIGNER_TRUST_NEVER,
	GMIME_SIGNER_TRUST_UNDEFINED,
	GMIME_SIGNER_TRUST_MARGINAL,
	GMIME_SIGNER_TRUST_FULLY,
	GMIME_SIGNER_TRUST_ULTIMATE
} GMimeSignerTrust;

The trust value of a signer.

GMIME_SIGNER_TRUST_NONE No trust assigned.
GMIME_SIGNER_TRUST_NEVER Never trust this signer.
GMIME_SIGNER_TRUST_UNDEFINED Undefined trust for this signer.
GMIME_SIGNER_TRUST_MARGINAL Trust this signer maginally.
GMIME_SIGNER_TRUST_FULLY Trust this signer fully.
GMIME_SIGNER_TRUST_ULTIMATE Trust this signer ultimately.

enum GMimeSignerError

typedef enum {
	GMIME_SIGNER_ERROR_NONE,
	GMIME_SIGNER_ERROR_EXPSIG      = (1 << 0),  /* expired signature */
	GMIME_SIGNER_ERROR_NO_PUBKEY   = (1 << 1),  /* no public key */
	GMIME_SIGNER_ERROR_EXPKEYSIG   = (1 << 2),  /* expired key */
	GMIME_SIGNER_ERROR_REVKEYSIG   = (1 << 3)   /* revoked key */
} GMimeSignerError;

Possible errors that a GMimeSigner could have.

GMIME_SIGNER_ERROR_NONE No error.
GMIME_SIGNER_ERROR_EXPSIG Expired signature.
GMIME_SIGNER_ERROR_NO_PUBKEY No public key found.
GMIME_SIGNER_ERROR_EXPKEYSIG Expired signature key.
GMIME_SIGNER_ERROR_REVKEYSIG Revoked signature key.

GMimeSigner

typedef struct {
	GMimeSigner *next;
	unsigned int status:2;    /* GMimeSignerStatus */
	unsigned int errors:4;    /* bitfield of GMimeSignerError's */
	unsigned int trust:3;     /* GMimeSignerTrust */
	unsigned int unused:21;   /* unused expansion bits */
	char *issuer_serial;
	char *issuer_name;
	char *fingerprint;
	time_t sig_created;
	time_t sig_expires;
	time_t key_created;
	time_t key_expires;
	char *keyid;
	char *email;
	char *name;
} GMimeSigner;

A structure containing useful information about a signer.

GMimeSigner *next; Pointer to the next GMimeSigner.
unsigned int status :2; A GMimeSignerStatus.
unsigned int errors :4; A bitfield of GMimeSignerError values.
unsigned int trust :3; A GMimeSignerTrust.
unsigned int unused :21; Unused expansion bits for future use; ignore this.
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 signer's fingerprint.
time_t sig_created; The creation date of the signature.
time_t sig_expires; The expiration date of the signature.
time_t key_created; The creation date of the signature key.
time_t key_expires; The expiration date of the signature key.
char *keyid; The signer's key id.
char *email; The email address of the person or entity.
char *name; The name of the person or entity.

g_mime_cipher_context_set_request_password ()

void                g_mime_cipher_context_set_request_password
                                                        (GMimeCipherContext *ctx,
                                                         GMimePasswordRequestFunc request_passwd);

Sets the function used by the ctx for requesting a password from the user.

ctx : a GMimeCipherContext
request_passwd : a callback function for requesting a password

g_mime_cipher_context_hash_id ()

GMimeCipherHash     g_mime_cipher_context_hash_id       (GMimeCipherContext *ctx,
                                                         const char *hash);

Gets the hash id based on the hash name hash.

ctx : a GMimeCipherContext
hash : hash name
Returns : the equivalent hash id or GMIME_CIPHER_HASH_DEFAULT on fail.

g_mime_cipher_context_hash_name ()

const char *        g_mime_cipher_context_hash_name     (GMimeCipherContext *ctx,
                                                         GMimeCipherHash hash);

Gets the hash name based on the hash id hash.

ctx : a GMimeCipherContext
hash : hash id
Returns : the equivalent hash name or NULL on fail.

g_mime_cipher_context_sign ()

int                 g_mime_cipher_context_sign          (GMimeCipherContext *ctx,
                                                         const char *userid,
                                                         GMimeCipherHash hash,
                                                         GMimeStream *istream,
                                                         GMimeStream *ostream,
                                                         GError **err);

Signs the input stream and writes the resulting signature to the output stream.

ctx : a GMimeCipherContext
userid : private key to use to sign the stream
hash : preferred Message-Integrity-Check hash algorithm
istream : input stream
ostream : output stream
err : a GError
Returns : the GMimeCipherHash used on success (useful if hash is specified as GMIME_CIPHER_HASH_DEFAULT) or -1 on fail.

g_mime_cipher_context_verify ()

GMimeSignatureValidity * g_mime_cipher_context_verify   (GMimeCipherContext *ctx,
                                                         GMimeCipherHash hash,
                                                         GMimeStream *istream,
                                                         GMimeStream *sigstream,
                                                         GError **err);

Verifies the signature. If istream is a clearsigned stream, you should pass NULL as the sigstream parameter. Otherwise sigstream is assumed to be the signature stream and is used to verify the integirity of the istream.

ctx : a GMimeCipherContext
hash : secure hash used
istream : input stream
sigstream : optional detached-signature stream
err : a GError
Returns : a GMimeSignatureValidity structure containing information about the integrity of the input stream or NULL on failure to execute at all.

g_mime_cipher_context_encrypt ()

int                 g_mime_cipher_context_encrypt       (GMimeCipherContext *ctx,
                                                         gboolean sign,
                                                         const char *userid,
                                                         GPtrArray *recipients,
                                                         GMimeStream *istream,
                                                         GMimeStream *ostream,
                                                         GError **err);

Encrypts (and optionally signs) the cleartext input stream and writes the resulting ciphertext to the output stream.

ctx : a GMimeCipherContext
sign : sign as well as encrypt
userid : key id (or email address) to use when signing (assuming sign is TRUE)
recipients : an array of recipient key ids and/or email addresses
istream : cleartext input stream
ostream : ciphertext output stream
err : a GError
Returns : 0 on success or -1 on fail.

g_mime_cipher_context_decrypt ()

GMimeSignatureValidity * g_mime_cipher_context_decrypt  (GMimeCipherContext *ctx,
                                                         GMimeStream *istream,
                                                         GMimeStream *ostream,
                                                         GError **err);

Decrypts the ciphertext input stream and writes the resulting cleartext to the output stream.

If the encrypted input stream was also signed, the returned GMimeSignatureValidity will have signer information included and the signature status will be one of GMIME_SIGNATURE_STATUS_GOOD, GMIME_SIGNATURE_STATUS_BAD, or GMIME_SIGNATURE_STATUS_UNKNOWN.

If the encrypted input text was not signed, then the signature status of the returned GMimeSignatureValidity will be GMIME_SIGNATURE_STATUS_NONE.

ctx : a GMimeCipherContext
istream : input/ciphertext stream
ostream : output/cleartext stream
err : a GError
Returns : a GMimeSignatureValidity on success or NULL on error.

g_mime_cipher_context_import_keys ()

int                 g_mime_cipher_context_import_keys   (GMimeCipherContext *ctx,
                                                         GMimeStream *istream,
                                                         GError **err);

Imports a stream of keys/certificates contained within istream into the key/certificate database controlled by ctx.

ctx : a GMimeCipherContext
istream : input stream (containing keys)
err : a GError
Returns : 0 on success or -1 on fail.

g_mime_cipher_context_export_keys ()

int                 g_mime_cipher_context_export_keys   (GMimeCipherContext *ctx,
                                                         GPtrArray *keys,
                                                         GMimeStream *ostream,
                                                         GError **err);

Exports the keys/certificates in keys to the stream ostream from the key/certificate database controlled by ctx.

ctx : a GMimeCipherContext
keys : an array of key ids
ostream : output stream
err : a GError
Returns : 0 on success or -1 on fail.

g_mime_signer_new ()

GMimeSigner *       g_mime_signer_new                   (void);

Allocates an new GMimeSigner.

Returns : a new GMimeSigner.

g_mime_signer_free ()

void                g_mime_signer_free                  (GMimeSigner *signer);

Free's the singleton signer.

signer : signer

g_mime_signer_next ()

GMimeSigner *       g_mime_signer_next                  (GMimeSigner *signer);

Advance to the next signer.

signer : a GMimeSigner
Returns : the next GMimeSigner or NULL when complete.

g_mime_signer_get_status ()

GMimeSignerStatus   g_mime_signer_get_status            (GMimeSigner *signer);

Get the signer status.

signer : a GMimeSigner
Returns : the signer status.

g_mime_signer_set_status ()

void                g_mime_signer_set_status            (GMimeSigner *signer,
                                                         GMimeSignerStatus status);

Set the status on the signer.

signer : a GMimeSigner
status : a GMimeSignerStatus

g_mime_signer_get_errors ()

GMimeSignerError    g_mime_signer_get_errors            (GMimeSigner *signer);

Get the signer errors.

signer : a GMimeSigner
Returns : the signer errors.

g_mime_signer_set_errors ()

void                g_mime_signer_set_errors            (GMimeSigner *signer,
                                                         GMimeSignerError error);

Set the errors on the signer.

signer : a GMimeSigner
error : a GMimeSignerError

g_mime_signer_get_trust ()

GMimeSignerTrust    g_mime_signer_get_trust             (GMimeSigner *signer);

Get the signer trust.

signer : a GMimeSigner
Returns : the signer trust.

g_mime_signer_set_trust ()

void                g_mime_signer_set_trust             (GMimeSigner *signer,
                                                         GMimeSignerTrust trust);

Set the signer trust.

signer : a GMimeSigner
trust : a GMimeSignerTrust

g_mime_signer_get_issuer_serial ()

const char *        g_mime_signer_get_issuer_serial     (GMimeSigner *signer);

Get the signer's issuer serial.

signer : a GMimeSigner
Returns : the signer's issuer serial.

g_mime_signer_set_issuer_serial ()

void                g_mime_signer_set_issuer_serial     (GMimeSigner *signer,
                                                         const char *issuer_serial);

Set the signer's issuer serial.

signer : a GMimeSigner
issuer_serial : signer's issuer serial

g_mime_signer_get_issuer_name ()

const char *        g_mime_signer_get_issuer_name       (GMimeSigner *signer);

Get the signer's issuer name.

signer : a GMimeSigner
Returns : the signer's issuer name.

g_mime_signer_set_issuer_name ()

void                g_mime_signer_set_issuer_name       (GMimeSigner *signer,
                                                         const char *issuer_name);

Set the signer's issuer name.

signer : a GMimeSigner
issuer_name : signer's issuer name

g_mime_signer_get_fingerprint ()

const char *        g_mime_signer_get_fingerprint       (GMimeSigner *signer);

Get the signer's key fingerprint.

signer : a GMimeSigner
Returns : the signer's key fingerprint.

g_mime_signer_set_fingerprint ()

void                g_mime_signer_set_fingerprint       (GMimeSigner *signer,
                                                         const char *fingerprint);

Set the signer's key fingerprint.

signer : a GMimeSigner
fingerprint : fingerprint string

g_mime_signer_get_sig_created ()

time_t              g_mime_signer_get_sig_created       (GMimeSigner *signer);

Get the creation date of the signer's signature.

signer : a GMimeSigner
Returns : the creation date of the signer's signature.

g_mime_signer_set_sig_created ()

void                g_mime_signer_set_sig_created       (GMimeSigner *signer,
                                                         time_t created);

Set the creation date of the signer's signature.

signer : a GMimeSigner
created : creation date

g_mime_signer_get_sig_expires ()

time_t              g_mime_signer_get_sig_expires       (GMimeSigner *signer);

Get the expiration date of the signer's signature.

signer : a GMimeSigner
Returns : the expiration date of the signer's signature.

g_mime_signer_set_sig_expires ()

void                g_mime_signer_set_sig_expires       (GMimeSigner *signer,
                                                         time_t expires);

Set the expiration date of the signer's signature.

signer : a GMimeSigner
expires : expiration date

g_mime_signer_get_key_created ()

time_t              g_mime_signer_get_key_created       (GMimeSigner *signer);

Get the creation date of the signer's key.

signer : a GMimeSigner
Returns : the creation date of the signer's key.

g_mime_signer_set_key_created ()

void                g_mime_signer_set_key_created       (GMimeSigner *signer,
                                                         time_t created);

Set the creation date of the signer's key.

signer : a GMimeSigner
created : creation date

g_mime_signer_get_key_expires ()

time_t              g_mime_signer_get_key_expires       (GMimeSigner *signer);

Get the expiration date of the signer's key.

signer : a GMimeSigner
Returns : the expiration date of the signer's key.

g_mime_signer_set_key_expires ()

void                g_mime_signer_set_key_expires       (GMimeSigner *signer,
                                                         time_t expires);

Set the expiration date of the signer's key.

signer : a GMimeSigner
expires : expiration date

g_mime_signer_get_key_id ()

const char *        g_mime_signer_get_key_id            (GMimeSigner *signer);

Get the signer's key id.

signer : a GMimeSigner
Returns : the signer's key id.

g_mime_signer_set_key_id ()

void                g_mime_signer_set_key_id            (GMimeSigner *signer,
                                                         const char *key_id);

Set the signer's key id.

signer : a GMimeSigner
key_id : key id

g_mime_signer_get_email ()

const char *        g_mime_signer_get_email             (GMimeSigner *signer);

Get the signer's email.

signer : a GMimeSigner
Returns : the signer's email.

g_mime_signer_set_email ()

void                g_mime_signer_set_email             (GMimeSigner *signer,
                                                         const char *email);

Set the signer's email.

signer : a GMimeSigner
email : signer's email

g_mime_signer_get_name ()

const char *        g_mime_signer_get_name              (GMimeSigner *signer);

Get the signer's name.

signer : a GMimeSigner
Returns : the signer's name.

g_mime_signer_set_name ()

void                g_mime_signer_set_name              (GMimeSigner *signer,
                                                         const char *name);

Set the signer's name.

signer : a GMimeSigner
name : signer's name

g_mime_signature_validity_new ()

GMimeSignatureValidity * g_mime_signature_validity_new  (void);

Creates a new GMimeSignatureValidity.

Returns : a new GMimeSignatureValidity.

g_mime_signature_validity_free ()

void                g_mime_signature_validity_free      (GMimeSignatureValidity *validity);

Frees the memory used by validity back to the system.

validity : signature validity

g_mime_signature_validity_set_status ()

void                g_mime_signature_validity_set_status
                                                        (GMimeSignatureValidity *validity,
                                                         GMimeSignatureStatus status);

Sets the status of the signature on validity.

validity : signature validity
status : GOOD, BAD or UNKNOWN

g_mime_signature_validity_get_status ()

GMimeSignatureStatus  g_mime_signature_validity_get_status
                                                        (const GMimeSignatureValidity *validity);

Gets the signature status (GOOD, BAD, UNKNOWN).

validity : signature validity
Returns : a GMimeSignatureStatus value.

g_mime_signature_validity_set_details ()

void                g_mime_signature_validity_set_details
                                                        (GMimeSignatureValidity *validity,
                                                         const char *details);

Sets details as the status details string on validity.

validity : signature validity
details : details string

g_mime_signature_validity_get_details ()

const char *        g_mime_signature_validity_get_details
                                                        (const GMimeSignatureValidity *validity);

Gets any user-readable status details.

validity : signature validity
Returns : a user-readable string containing any status information.

g_mime_signature_validity_add_signer ()

void                g_mime_signature_validity_add_signer
                                                        (GMimeSignatureValidity *validity,
                                                         GMimeSigner *signer);

Adds signer to the list of signers on validity.

validity : signature validity
signer : signer

g_mime_signature_validity_get_signers ()

const GMimeSigner * g_mime_signature_validity_get_signers
                                                        (const GMimeSignatureValidity *validity);

Gets the list of signers.

validity : signature validity
Returns : a GMimeSigner list which contain further information such as trust and cipher keys.