GMimeCipherContext

Name

GMimeCipherContext -- 

Synopsis



enum        GMimeCipherHash;
struct      GMimeCipherContext;
struct      GMimeCipherValidity;
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,
                                             GMimeException *ex);
GMimeCipherValidity* g_mime_cipher_verify   (GMimeCipherContext *ctx,
                                             GMimeCipherHash hash,
                                             GMimeStream *istream,
                                             GMimeStream *sigstream,
                                             GMimeException *ex);
int         g_mime_cipher_encrypt           (GMimeCipherContext *ctx,
                                             gboolean sign,
                                             const char *userid,
                                             GPtrArray *recipients,
                                             GMimeStream *istream,
                                             GMimeStream *ostream,
                                             GMimeException *ex);
int         g_mime_cipher_decrypt           (GMimeCipherContext *ctx,
                                             GMimeStream *istream,
                                             GMimeStream *ostream,
                                             GMimeException *ex);
int         g_mime_cipher_import            (GMimeCipherContext *ctx,
                                             GMimeStream *istream,
                                             GMimeException *ex);
int         g_mime_cipher_export            (GMimeCipherContext *ctx,
                                             GPtrArray *keys,
                                             GMimeStream *ostream,
                                             GMimeException *ex);
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);


Description

Details

enum GMimeCipherHash

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 GMimeCipherContext

struct GMimeCipherContext {
	GObject parent_object;
	
	GMimeSession *session;
	
	/* these must be set by the subclass */
	const char *sign_protocol;
	const char *encrypt_protocol;
	const char *key_protocol;
};


struct GMimeCipherValidity

struct GMimeCipherValidity;


g_mime_cipher_hash_id ()

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.


g_mime_cipher_hash_name ()

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.


g_mime_cipher_sign ()

int         g_mime_cipher_sign              (GMimeCipherContext *ctx,
                                             const char *userid,
                                             GMimeCipherHash hash,
                                             GMimeStream *istream,
                                             GMimeStream *ostream,
                                             GMimeException *ex);

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
ex : exception
Returns :0 on success or -1 on fail.


g_mime_cipher_verify ()

GMimeCipherValidity* g_mime_cipher_verify   (GMimeCipherContext *ctx,
                                             GMimeCipherHash hash,
                                             GMimeStream *istream,
                                             GMimeStream *sigstream,
                                             GMimeException *ex);

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
ex : exception
Returns :a GMimeCipherValidity structure containing information about the integrity of the input stream or NULL on failure to execute at all.


g_mime_cipher_encrypt ()

int         g_mime_cipher_encrypt           (GMimeCipherContext *ctx,
                                             gboolean sign,
                                             const char *userid,
                                             GPtrArray *recipients,
                                             GMimeStream *istream,
                                             GMimeStream *ostream,
                                             GMimeException *ex);

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
ex : exception
Returns :0 on success or -1 on fail.


g_mime_cipher_decrypt ()

int         g_mime_cipher_decrypt           (GMimeCipherContext *ctx,
                                             GMimeStream *istream,
                                             GMimeStream *ostream,
                                             GMimeException *ex);

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
ex : exception
Returns :0 on success or -1 for fail.


g_mime_cipher_import ()

int         g_mime_cipher_import            (GMimeCipherContext *ctx,
                                             GMimeStream *istream,
                                             GMimeException *ex);

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)
ex : exception
Returns :0 on success or -1 on fail.


g_mime_cipher_export ()

int         g_mime_cipher_export            (GMimeCipherContext *ctx,
                                             GPtrArray *keys,
                                             GMimeStream *ostream,
                                             GMimeException *ex);

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
ex : exception
Returns :0 on success or -1 on fail.


g_mime_cipher_validity_init ()

void        g_mime_cipher_validity_init     (GMimeCipherValidity *validity);

Initializes the validity structure.

validity : validity structure


g_mime_cipher_validity_new ()

GMimeCipherValidity* g_mime_cipher_validity_new
                                            (void);

Creates a new validity structure.

Returns :a new validity structure.


g_mime_cipher_validity_clear ()

void        g_mime_cipher_validity_clear    (GMimeCipherValidity *validity);

Clears the contents of the validity structure.

validity : validity structure


g_mime_cipher_validity_free ()

void        g_mime_cipher_validity_free     (GMimeCipherValidity *validity);

Frees the memory used by validity back to the system.

validity : validity structure


g_mime_cipher_validity_get_valid ()

gboolean    g_mime_cipher_validity_get_valid
                                            (GMimeCipherValidity *validity);

Gets the validity of the validity structure validity.

validity : validity structure
Returns :TRUE if validity is valid or FALSE otherwise.


g_mime_cipher_validity_set_valid ()

void        g_mime_cipher_validity_set_valid
                                            (GMimeCipherValidity *validity,
                                             gboolean valid);

Sets the validness on the validity structure.

validity : validity structure
valid : TRUE if valid else FALSE


g_mime_cipher_validity_get_description ()

const char* g_mime_cipher_validity_get_description
                                            (GMimeCipherValidity *validity);

Gets the description set on the validity structure validity.

validity : validity structure
Returns :any description set on the validity structure.


g_mime_cipher_validity_set_description ()

void        g_mime_cipher_validity_set_description
                                            (GMimeCipherValidity *validity,
                                             const char *description);

Sets the description on the validity structure.

validity : validity structure
description : validity description