| GMime Reference Manual |
|---|
gmime-cipher-context —
enum GMimeCipherHash; struct GMimeCipherContext; struct GMimeSignatureValidity; enum GMimeSignatureStatus; enum GMimeSignerStatus; enum GMimeSignerTrust; struct 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);
GObject
+----GMimeCipherContext
+----GMimeGpgContext
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;
struct GMimeSignatureValidity {
GMimeSignatureStatus status;
GMimeSigner *signers;
char *details;
};
typedef enum {
GMIME_SIGNATURE_STATUS_NONE,
GMIME_SIGNATURE_STATUS_GOOD,
GMIME_SIGNATURE_STATUS_BAD,
GMIME_SIGNATURE_STATUS_UNKNOWN
} GMimeSignatureStatus;
typedef enum {
GMIME_SIGNER_STATUS_NONE,
GMIME_SIGNER_STATUS_GOOD,
GMIME_SIGNER_STATUS_BAD,
GMIME_SIGNER_STATUS_ERROR
} GMimeSignerStatus;
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;
struct GMimeSigner {
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;
};
GMimeCipherHash g_mime_cipher_hash_id (GMimeCipherContext *ctx, const char *hash);
Gets the hash id based on the hash name hash.
| ctx : | Cipher Context |
| hash : | 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.
| ctx : | Cipher Context |
| hash : | 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.
| ctx : | Cipher Context |
| userid : | private key to use to sign the stream |
| hash : | preferred Message-Integrity-Check hash algorithm |
| istream : | input stream |
| ostream : | output stream |
| err : | 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.
| ctx : | Cipher Context |
| hash : | secure hash used |
| istream : | input stream |
| sigstream : | optional detached-signature stream |
| err : | 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.
| ctx : | Cipher Context |
| 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 : | 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.
| ctx : | Cipher Context |
| istream : | input/ciphertext stream |
| ostream : | output/cleartext stream |
| err : | 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.
| ctx : | Cipher Context |
| istream : | input stream (containing keys) |
| err : | 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.
| ctx : | Cipher Context |
| keys : | an array of key ids |
| ostream : | output stream |
| err : | 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 : | signer |
GMimeSignatureValidity* g_mime_signature_validity_new (void);
Creates a new validity structure.
| Returns : | a new validity structure. |
void g_mime_signature_validity_free (GMimeSignatureValidity *validity);
Frees the memory used by validity back to the system.
| validity : | signature validity |
GMimeSignatureStatus g_mime_signature_validity_get_status (GMimeSignatureValidity *validity);
Gets the signature status (GOOD, BAD, UNKNOWN).
| validity : | signature validity |
| Returns : | the signature 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 |
const char* g_mime_signature_validity_get_details
(GMimeSignatureValidity *validity);Gets any user-readable status details.
| validity : | 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.
| validity : | signature validity |
| details : | details string |
const GMimeSigner* g_mime_signature_validity_get_signers (GMimeSignatureValidity *validity);
Gets the list of signers.
| validity : | signature validity |
| Returns : | a list of signers 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.
| validity : | signature validity |
| signer : | 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 : | 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 validity structure. |
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 : | 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 : | 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 : | validity structure |
| Returns : | TRUE if validity is valid or FALSE otherwise. |
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 : | validity structure |
| valid : | TRUE if valid else FALSE |
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 : | 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 : | validity structure |
| description : | validity description |
| << Cipher Contexts | gmime-gpg-context >> |