![]() |
![]() |
![]() |
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 NULL on 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 : |
0 on success or -1 on 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 NULL on 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 sign is TRUE )
|
|
an array of recipient key ids and/or email addresses |
|
cleartext input stream |
|
ciphertext output stream |
|
exception |
Returns : |
0 on success or -1 on 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 : |
0 on success or -1 for 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 : |
0 on success or -1 on 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 : |
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 |
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.
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.
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 |