|  |  |  | GMime Reference Manual |  | 
|---|---|---|---|---|
enum GMimeCipherHash; GMimeCipherContext; typedef GMimeCipherValidity; GMimeSignatureValidity; enum GMimeSignatureStatus; enum GMimeSignerStatus; enum GMimeSignerTrust; enum GMimeSignerError; GMimeSigner; GMimeCipherHash g_mime_cipher_hash_id (GMimeCipherContext *ctx, const char *hash); const char* g_mime_cipher_hash_name (GMimeCipherContext *ctx, GMimeCipherHash hash); int g_mime_cipher_sign (GMimeCipherContext *ctx, const char *userid, GMimeCipherHash hash, GMimeStream *istream, GMimeStream *ostream, GError **err); GMimeSignatureValidity* g_mime_cipher_verify (GMimeCipherContext *ctx, GMimeCipherHash hash, GMimeStream *istream, GMimeStream *sigstream, GError **err); int g_mime_cipher_encrypt (GMimeCipherContext *ctx, gboolean sign, const char *userid, GPtrArray *recipients, GMimeStream *istream, GMimeStream *ostream, GError **err); int g_mime_cipher_decrypt (GMimeCipherContext *ctx, GMimeStream *istream, GMimeStream *ostream, GError **err); int g_mime_cipher_import_keys (GMimeCipherContext *ctx, GMimeStream *istream, GError **err); int g_mime_cipher_export_keys (GMimeCipherContext *ctx, GPtrArray *keys, GMimeStream *ostream, GError **err); GMimeSigner* g_mime_signer_new (void); void g_mime_signer_free (GMimeSigner *signer); GMimeSignatureValidity* g_mime_signature_validity_new (void); void g_mime_signature_validity_free (GMimeSignatureValidity *validity); GMimeSignatureStatus g_mime_signature_validity_get_status (GMimeSignatureValidity *validity); void g_mime_signature_validity_set_status (GMimeSignatureValidity *validity, GMimeSignatureStatus status); const char* g_mime_signature_validity_get_details (GMimeSignatureValidity *validity); void g_mime_signature_validity_set_details (GMimeSignatureValidity *validity, const char *details); const GMimeSigner* g_mime_signature_validity_get_signers (GMimeSignatureValidity *validity); void g_mime_signature_validity_add_signer (GMimeSignatureValidity *validity, GMimeSigner *signer); void g_mime_cipher_validity_init (GMimeCipherValidity *validity); GMimeCipherValidity* g_mime_cipher_validity_new (void); void g_mime_cipher_validity_clear (GMimeCipherValidity *validity); void g_mime_cipher_validity_free (GMimeCipherValidity *validity); gboolean g_mime_cipher_validity_get_valid (GMimeCipherValidity *validity); void g_mime_cipher_validity_set_valid (GMimeCipherValidity *validity, gboolean valid); const char* g_mime_cipher_validity_get_description (GMimeCipherValidity *validity); void g_mime_cipher_validity_set_description (GMimeCipherValidity *validity, const char *description);
A GMimeCipherContext is used for encrypting, decrypting, signing and verifying cryptographic signatures.
typedef enum {
	GMIME_CIPHER_HASH_DEFAULT,
	GMIME_CIPHER_HASH_MD2,
	GMIME_CIPHER_HASH_MD5,
	GMIME_CIPHER_HASH_SHA1,
	GMIME_CIPHER_HASH_RIPEMD160,
	GMIME_CIPHER_HASH_TIGER192,
	GMIME_CIPHER_HASH_HAVAL5160
} GMimeCipherHash;
A hash algorithm.
| The default hash algorithm. | |
| The MD2 hash algorithm. | |
| The MD5 hash algorithm. | |
| The SHA-1 hash algorithm. | |
| The RIPEMD-160 hash algorithm. | |
| The TIGER-192 hash algorithm. | |
| The HAVAL-5160 hash algorithm. | 
typedef struct _GMimeSignatureValidity GMimeCipherValidity;
GMimeCipherValidity is deprecated and should not be used in newly-written code.
typedef struct {
	GMimeSignatureStatus status;
	GMimeSigner *signers;
	char *details;
} GMimeSignatureValidity;
A structure containing information about the signature validity of a signed stream.
| GMimeSignatureStatus  | The overall signature status. | 
| GMimeSigner * | A list of GMimeSigner structures. | 
| char * | A string containing more user-readable details. | 
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.
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.
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.
| No trust assigned. | |
| Never trust this signer. | |
| Undefined trust for this signer. | |
| Trust this signer maginally. | |
| Trust this signer fully. | |
| Trust this signer ultimately. | 
typedef enum {
	GMIME_SIGNER_ERROR_NONE,
	GMIME_SIGNER_ERROR_EXPSIG     = (1 << 0),  /* expire 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.
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:23;   /* unused expansion bits */
	time_t sig_created;
	time_t sig_expire;
	char *fingerprint;
	char *keyid;
	char *name;
} GMimeSigner;
A structure containing useful information about a signer.
| GMimeSigner * | Pointer to the next GMimeSigner. | 
| unsigned int  | A GMimeSignerStatus. | 
| unsigned int  | A bitfield of GMimeSignerError values. | 
| unsigned int  | A GMimeSignerTrust. | 
| unsigned int  | Unused expansion bits for future use; ignore this. | 
| time_t  | The creation date of the signature. | 
| time_t  | The expiration date of the signature. | 
| char * | A hex string representing the signer's fingerprint. | 
| char * | The signer's key id. | 
| char * | The name of the person or entity. | 
GMimeCipherHash g_mime_cipher_hash_id (GMimeCipherContext *ctx, const char *hash);
Gets the hash id based on the hash name hash.
| 
 | Cipher Context | 
| 
 | hash name | 
| Returns : | the equivalent hash id or GMIME_CIPHER_HASH_DEFAULT on fail. | 
const char* g_mime_cipher_hash_name (GMimeCipherContext *ctx, GMimeCipherHash hash);
Gets the hash name based on the hash id hash.
| 
 | Cipher Context | 
| 
 | hash id | 
| Returns : | the equivalent hash name or NULLon fail. | 
int g_mime_cipher_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.
| 
 | Cipher Context | 
| 
 | private key to use to sign the stream | 
| 
 | preferred Message-Integrity-Check hash algorithm | 
| 
 | input stream | 
| 
 | output stream | 
| 
 | exception | 
| Returns : | 0on success or-1on fail. | 
GMimeSignatureValidity* g_mime_cipher_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.
| 
 | Cipher Context | 
| 
 | secure hash used | 
| 
 | input stream | 
| 
 | optional detached-signature stream | 
| 
 | exception | 
| Returns : | a GMimeSignatureValidity structure containing information
about the integrity of the input stream or NULLon failure to
execute at all. | 
int g_mime_cipher_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.
| 
 | Cipher Context | 
| 
 | sign as well as encrypt | 
| 
 | key id (or email address) to use when signing (assuming signisTRUE) | 
| 
 | an array of recipient key ids and/or email addresses | 
| 
 | cleartext input stream | 
| 
 | ciphertext output stream | 
| 
 | exception | 
| Returns : | 0on success or-1on fail. | 
int g_mime_cipher_decrypt (GMimeCipherContext *ctx, GMimeStream *istream, GMimeStream *ostream, GError **err);
Decrypts the ciphertext input stream and writes the resulting cleartext to the output stream.
| 
 | Cipher Context | 
| 
 | input/ciphertext stream | 
| 
 | output/cleartext stream | 
| 
 | exception | 
| Returns : | 0on success or-1for fail. | 
int g_mime_cipher_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.
| 
 | Cipher Context | 
| 
 | input stream (containing keys) | 
| 
 | exception | 
| Returns : | 0on success or-1on fail. | 
int g_mime_cipher_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.
| 
 | Cipher Context | 
| 
 | an array of key ids | 
| 
 | output stream | 
| 
 | exception | 
| Returns : | 0on success or-1on fail. | 
GMimeSigner* g_mime_signer_new (void);
Allocates an new GMimeSigner.
| Returns : | a new GMimeSigner. | 
void g_mime_signer_free (GMimeSigner *signer);
Free's the singleton signer.
| 
 | signer | 
GMimeSignatureValidity* g_mime_signature_validity_new (void);
Creates a new GMimeSignatureValidity.
| Returns : | a new GMimeSignatureValidity. | 
void g_mime_signature_validity_free (GMimeSignatureValidity *validity);
Frees the memory used by validity back to the system.
| 
 | signature validity | 
GMimeSignatureStatus g_mime_signature_validity_get_status (GMimeSignatureValidity *validity);
Gets the signature status (GOOD, BAD, UNKNOWN).
| 
 | signature validity | 
| Returns : | a GMimeSignatureStatus value. | 
void                g_mime_signature_validity_set_status
                                                        (GMimeSignatureValidity *validity,
                                                         GMimeSignatureStatus status);
Sets the status of the signature on validity.
| 
 | signature validity | 
| 
 | GOOD, BAD or UNKNOWN | 
const char*         g_mime_signature_validity_get_details
                                                        (GMimeSignatureValidity *validity);
Gets any user-readable status details.
| 
 | signature validity | 
| Returns : | a user-readable string containing any status information. | 
void                g_mime_signature_validity_set_details
                                                        (GMimeSignatureValidity *validity,
                                                         const char *details);
Sets details as the status details string on validity.
| 
 | signature validity | 
| 
 | details string | 
const GMimeSigner* g_mime_signature_validity_get_signers (GMimeSignatureValidity *validity);
Gets the list of signers.
| 
 | signature validity | 
| Returns : | a GMimeSigner list which contain further information such as trust and cipher keys. | 
void                g_mime_signature_validity_add_signer
                                                        (GMimeSignatureValidity *validity,
                                                         GMimeSigner *signer);
Adds signer to the list of signers on validity.
| 
 | signature validity | 
| 
 | signer | 
void g_mime_cipher_validity_init (GMimeCipherValidity *validity);
g_mime_cipher_validity_init is deprecated and should not be used in newly-written code.
Initializes the validity structure.
WARNING: This interface has been deprecated.
| 
 | validity structure | 
GMimeCipherValidity* g_mime_cipher_validity_new (void);
g_mime_cipher_validity_new is deprecated and should not be used in newly-written code.
Creates a new validity structure.
WARNING: This interface has been deprecated. Use
g_mime_signature_validity_new() instead.
| Returns : | a new GMimeCipherValidity. | 
void g_mime_cipher_validity_clear (GMimeCipherValidity *validity);
g_mime_cipher_validity_clear is deprecated and should not be used in newly-written code.
Clears the contents of the validity structure.
WARNING: This interface has been deprecated.
| 
 | validity structure | 
void g_mime_cipher_validity_free (GMimeCipherValidity *validity);
g_mime_cipher_validity_free is deprecated and should not be used in newly-written code.
Frees the memory used by validity back to the system.
WARNING: This interface has been deprecated. Use
g_mime_signature_validity_free() instead.
| 
 | validity structure | 
gboolean g_mime_cipher_validity_get_valid (GMimeCipherValidity *validity);
g_mime_cipher_validity_get_valid is deprecated and should not be used in newly-written code.
Gets the validity of the validity structure validity.
WARNING: This interface has been deprecated. Use
g_mime_signature_validity_get_status() instead.
| 
 | validity structure | 
| Returns : | TRUEifvalidityis valid orFALSEotherwise. | 
void g_mime_cipher_validity_set_valid (GMimeCipherValidity *validity, gboolean valid);
g_mime_cipher_validity_set_valid is deprecated and should not be used in newly-written code.
Sets the validness on the validity structure.
WARNING: This interface has been deprecated. Use
g_mime_signature_validity_set_status() instead.
| 
 | validity structure | 
| 
 | TRUEif valid elseFALSE | 
const char*         g_mime_cipher_validity_get_description
                                                        (GMimeCipherValidity *validity);
g_mime_cipher_validity_get_description is deprecated and should not be used in newly-written code.
Gets the description set on the validity structure validity.
WARNING: This interface has been deprecated. Use
g_mime_signature_validity_get_details() instead.
| 
 | validity structure | 
| Returns : | any description set on the validity structure. | 
void                g_mime_cipher_validity_set_description
                                                        (GMimeCipherValidity *validity,
                                                         const char *description);
g_mime_cipher_validity_set_description is deprecated and should not be used in newly-written code.
Sets the description on the validity structure.
WARNING: This interface has been deprecated. Use
g_mime_signature_validity_set_details() instead.
| 
 | validity structure | 
| 
 | validity description |