GMime 2.4 Reference Manual | ||||
---|---|---|---|---|
enum GMimeCipherHash; GMimeCipherContext; GMimeSignatureValidity; enum GMimeSignatureStatus; enum GMimeSignerStatus; enum GMimeSignerTrust; enum GMimeSignerError; GMimeSigner; 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_fingerprint (GMimeSigner *signer); void g_mime_signer_set_fingerprint (GMimeSigner *signer, const char *fingerprint); 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_name (GMimeSigner *signer); void g_mime_signer_set_name (GMimeSigner *signer, const char *name); time_t g_mime_signer_get_created (GMimeSigner *signer); void g_mime_signer_set_created (GMimeSigner *signer, time_t created); time_t g_mime_signer_get_expires (GMimeSigner *signer); void g_mime_signer_set_expires (GMimeSigner *signer, time_t expires); 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);
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_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.
The default hash algorithm. | |
The MD2 hash algorithm. | |
The MD5 hash algorithm. | |
The SHA-1 hash algorithm. | |
The SHA-224 hash algorithm. | |
The SHA-256 hash algorithm. | |
The SHA-384 hash algorithm. | |
The SHA-512 hash algorithm. | |
The RIPEMD-160 hash algorithm. | |
The TIGER-192 hash algorithm. | |
The HAVAL5-160 hash algorithm. |
typedef struct _GMimeCipherContext GMimeCipherContext;
A crypto context for use with MIME.
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 */ char *fingerprint; time_t created; time_t expires; 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. |
char * |
A hex string representing the signer's fingerprint. |
time_t |
The creation date of the signature. |
time_t |
The expiration date of the signature. |
char * |
The signer's key id. |
char * |
The name of the person or entity. |
GMimeCipherHash g_mime_cipher_context_hash_id (GMimeCipherContext *ctx, const char *hash);
Gets the hash id based on the hash name hash
.
|
a GMimeCipherContext |
|
hash name |
Returns : |
the equivalent hash id or GMIME_CIPHER_HASH_DEFAULT on fail. |
const char* g_mime_cipher_context_hash_name (GMimeCipherContext *ctx, GMimeCipherHash hash);
Gets the hash name based on the hash id hash
.
|
a GMimeCipherContext |
|
hash id |
Returns : |
the equivalent hash name or NULL on fail.
|
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.
|
a GMimeCipherContext |
|
private key to use to sign the stream |
|
preferred Message-Integrity-Check hash algorithm |
|
input stream |
|
output stream |
|
a GError |
Returns : |
the GMimeCipherHash used on success (useful if hash is
specified as GMIME_CIPHER_HASH_DEFAULT) or -1 on fail.
|
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
.
|
a GMimeCipherContext |
|
secure hash used |
|
input stream |
|
optional detached-signature stream |
|
a GError |
Returns : |
a GMimeSignatureValidity structure containing information
about the integrity of the input stream or NULL on failure to
execute at all.
|
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.
|
a GMimeCipherContext |
|
sign as well as encrypt |
|
key id (or email address) to use when signing (assuming sign is TRUE )
|
|
an array of recipient key ids and/or email addresses |
|
cleartext input stream |
|
ciphertext output stream |
|
a GError |
Returns : |
0 on success or -1 on fail.
|
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.
|
a GMimeCipherContext |
|
input/ciphertext stream |
|
output/cleartext stream |
|
a GError |
Returns : |
a GMimeSignatureValidity on success or NULL on error.
|
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
.
|
a GMimeCipherContext |
|
input stream (containing keys) |
|
a GError |
Returns : |
0 on success or -1 on fail.
|
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
.
|
a GMimeCipherContext |
|
an array of key ids |
|
output stream |
|
a GError |
Returns : |
0 on success or -1 on 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 |
GMimeSigner* g_mime_signer_next (GMimeSigner *signer);
Advance to the next signer.
|
a GMimeSigner |
Returns : |
the next GMimeSigner or NULL when complete.
|
GMimeSignerStatus g_mime_signer_get_status (GMimeSigner *signer);
Get the signer status.
|
a GMimeSigner |
Returns : |
the signer status. |
void g_mime_signer_set_status (GMimeSigner *signer, GMimeSignerStatus status);
Set the status on the signer.
|
a GMimeSigner |
|
a GMimeSignerStatus |
GMimeSignerError g_mime_signer_get_errors (GMimeSigner *signer);
Get the signer errors.
|
a GMimeSigner |
Returns : |
the signer errors. |
void g_mime_signer_set_errors (GMimeSigner *signer, GMimeSignerError error);
Set the errors on the signer.
|
a GMimeSigner |
|
a GMimeSignerError |
GMimeSignerTrust g_mime_signer_get_trust (GMimeSigner *signer);
Get the signer trust.
|
a GMimeSigner |
Returns : |
the signer trust. |
void g_mime_signer_set_trust (GMimeSigner *signer, GMimeSignerTrust trust);
Set the signer trust.
|
a GMimeSigner |
|
a GMimeSignerTrust |
const char* g_mime_signer_get_fingerprint (GMimeSigner *signer);
Get the signer's key fingerprint.
|
a GMimeSigner |
Returns : |
the signer's key fingerprint. |
void g_mime_signer_set_fingerprint (GMimeSigner *signer, const char *fingerprint);
Set the signer's key fingerprint.
|
a GMimeSigner |
|
fingerprint string |
const char* g_mime_signer_get_key_id (GMimeSigner *signer);
Get the signer's key id.
|
a GMimeSigner |
Returns : |
the signer's key id. |
void g_mime_signer_set_key_id (GMimeSigner *signer, const char *key_id);
Set the signer's key id.
|
a GMimeSigner |
|
key id |
const char* g_mime_signer_get_name (GMimeSigner *signer);
Get the signer trust.
|
a GMimeSigner |
Returns : |
the signer trust. |
void g_mime_signer_set_name (GMimeSigner *signer, const char *name);
Set the signer's name.
|
a GMimeSigner |
|
signer's name |
time_t g_mime_signer_get_created (GMimeSigner *signer);
Get the creation date of the signer's key.
|
a GMimeSigner |
Returns : |
the creation date of the signer's key. |
void g_mime_signer_set_created (GMimeSigner *signer, time_t created);
Set the signer's key creation date.
|
a GMimeSigner |
|
creation date |
time_t g_mime_signer_get_expires (GMimeSigner *signer);
Get the expiration date of the signer's key.
|
a GMimeSigner |
Returns : |
the expiration date of the signer's key. |
void g_mime_signer_set_expires (GMimeSigner *signer, time_t expires);
Set the signer's key expiration date.
|
a GMimeSigner |
|
expiration date |
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 |
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 |
GMimeSignatureStatus g_mime_signature_validity_get_status (const GMimeSignatureValidity *validity);
Gets the signature status (GOOD, BAD, UNKNOWN).
|
signature validity |
Returns : |
a GMimeSignatureStatus value. |
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 char* g_mime_signature_validity_get_details (const GMimeSignatureValidity *validity);
Gets any user-readable status details.
|
signature validity |
Returns : |
a user-readable string containing any status information. |
void g_mime_signature_validity_add_signer (GMimeSignatureValidity *validity, GMimeSigner *signer);
Adds signer
to the list of signers on validity
.
|
signature validity |
|
signer |
const GMimeSigner* g_mime_signature_validity_get_signers (const GMimeSignatureValidity *validity);
Gets the list of signers.
|
signature validity |
Returns : |
a GMimeSigner list which contain further information such as trust and cipher keys. |