Top |
Functions
Types and Values
#define | CAMEL_CIPHER_CERT_INFO_PROPERTY_PHOTO_FILENAME |
enum | CamelCipherHash |
enum | CamelCipherValiditySign |
enum | CamelCipherValidityEncrypt |
enum | CamelCipherValidityMode |
struct | CamelCipherCertInfoProperty |
struct | CamelCipherCertInfo |
Object Hierarchy
GBoxed ╰── CamelCipherValidity GObject ╰── CamelCipherContext ├── CamelGpgContext ╰── CamelSMIMEContext
Functions
camel_cipher_context_new ()
CamelCipherContext *
camel_cipher_context_new (CamelSession *session
);
This creates a new CamelCipherContext object which is used to sign, verify, encrypt and decrypt streams.
camel_cipher_context_get_session ()
CamelSession *
camel_cipher_context_get_session (CamelCipherContext *context
);
Since: 2.32
camel_cipher_context_id_to_hash ()
CamelCipherHash camel_cipher_context_id_to_hash (CamelCipherContext *context
,const gchar *id
);
camel_cipher_context_hash_to_id ()
const gchar * camel_cipher_context_hash_to_id (CamelCipherContext *context
,CamelCipherHash hash
);
camel_cipher_context_sign_sync ()
gboolean camel_cipher_context_sign_sync (CamelCipherContext *context
,const gchar *userid
,CamelCipherHash hash
,CamelMimePart *ipart
,CamelMimePart *opart
,GCancellable *cancellable
,GError **error
);
Converts the (unsigned) part ipart
into a new self-contained MIME
part opart
. This may be a multipart/signed part, or a simple part
for enveloped types.
Parameters
context |
||
userid |
a private key to use to sign the stream |
|
hash |
preferred Message-Integrity-Check hash algorithm |
|
ipart |
input CamelMimePart |
|
opart |
output CamelMimePart |
|
cancellable |
optional GCancellable object, or |
|
error |
Since: 3.0
camel_cipher_context_sign ()
void camel_cipher_context_sign (CamelCipherContext *context
,const gchar *userid
,CamelCipherHash hash
,CamelMimePart *ipart
,CamelMimePart *opart
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously converts the (unsigned) part ipart
into a new
self-contained MIME part opart
. This may be a multipart/signed part,
or a simple part for enveloped types.
When the operation is finished, callback
will be called. You can then
call camel_cipher_context_sign_finish()
to get the result of the operation.
Parameters
context |
||
userid |
a private key to use to sign the stream |
|
hash |
preferred Message-Integrity-Check hash algorithm |
|
ipart |
input CamelMimePart |
|
opart |
output CamelMimePart |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
camel_cipher_context_sign_finish ()
gboolean camel_cipher_context_sign_finish (CamelCipherContext *context
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_cipher_context_sign()
.
Since: 3.0
camel_cipher_context_verify_sync ()
CamelCipherValidity * camel_cipher_context_verify_sync (CamelCipherContext *context
,CamelMimePart *ipart
,GCancellable *cancellable
,GError **error
);
Verifies the signature.
Parameters
context |
||
ipart |
the CamelMimePart to verify |
|
cancellable |
optional GCancellable object, or |
|
error |
Returns
a CamelCipherValidity structure containing information
about the integrity of the input stream, or NULL
on failure to
execute at all
camel_cipher_context_verify ()
void camel_cipher_context_verify (CamelCipherContext *context
,CamelMimePart *ipart
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously verifies the signature.
When the operation is finished, callback
will be called. You can
then call camel_cipher_context_verify_finish()
to get the result of
the operation.
Parameters
context |
||
ipart |
the CamelMimePart to verify |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
camel_cipher_context_verify_finish ()
CamelCipherValidity * camel_cipher_context_verify_finish (CamelCipherContext *context
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_cipher_context_verify()
.
Returns
a CamelCipherValidity structure containing information
about the integrity of the input stream, or NULL
on failure to
execute at all
Since: 3.0
camel_cipher_context_encrypt_sync ()
gboolean camel_cipher_context_encrypt_sync (CamelCipherContext *context
,const gchar *userid
,GPtrArray *recipients
,CamelMimePart *ipart
,CamelMimePart *opart
,GCancellable *cancellable
,GError **error
);
Encrypts (and optionally signs) the clear-text ipart
and writes the
resulting cipher-text to opart
.
Parameters
context |
||
userid |
key ID (or email address) to use when signing, or |
|
recipients |
an array of recipient key IDs and/or email addresses. |
[element-type utf8] |
ipart |
clear-text CamelMimePart |
|
opart |
cipher-text CamelMimePart |
|
cancellable |
optional GCancellable object, or |
|
error |
Since: 3.0
camel_cipher_context_encrypt ()
void camel_cipher_context_encrypt (CamelCipherContext *context
,const gchar *userid
,GPtrArray *recipients
,CamelMimePart *ipart
,CamelMimePart *opart
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously encrypts (and optionally signs) the clear-text ipart
and
writes the resulting cipher-text to opart
.
When the operation is finished, callback
will be called. You can
then call camel_cipher_context_encrypt_finish()
to get the result of
the operation.
Parameters
context |
||
userid |
key id (or email address) to use when signing, or |
|
recipients |
an array of recipient key IDs and/or email addresses. |
[element-type utf8] |
ipart |
clear-text CamelMimePart |
|
opart |
cipher-text CamelMimePart |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
camel_cipher_context_encrypt_finish ()
gboolean camel_cipher_context_encrypt_finish (CamelCipherContext *context
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_cipher_context_encrypt()
.
Since: 3.0
camel_cipher_context_decrypt_sync ()
CamelCipherValidity * camel_cipher_context_decrypt_sync (CamelCipherContext *context
,CamelMimePart *ipart
,CamelMimePart *opart
,GCancellable *cancellable
,GError **error
);
Decrypts ipart
into opart
.
Parameters
context |
||
ipart |
cipher-text CamelMimePart |
|
opart |
clear-text CamelMimePart |
|
cancellable |
optional GCancellable object, or |
|
error |
Since: 3.0
camel_cipher_context_decrypt ()
void camel_cipher_context_decrypt (CamelCipherContext *context
,CamelMimePart *ipart
,CamelMimePart *opart
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously decrypts ipart
into opart
.
When the operation is finished, callback
will be called. You can
then call camel_cipher_context_decrypt_finish()
to get the result of
the operation.
Parameters
context |
||
ipart |
cipher-text CamelMimePart |
|
opart |
clear-text CamelMimePart |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since: 3.0
camel_cipher_context_decrypt_finish ()
CamelCipherValidity * camel_cipher_context_decrypt_finish (CamelCipherContext *context
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_cipher_context_decrypt()
.
Since: 3.0
camel_cipher_validity_get_valid ()
gboolean
camel_cipher_validity_get_valid (CamelCipherValidity *validity
);
camel_cipher_validity_set_valid ()
void camel_cipher_validity_set_valid (CamelCipherValidity *validity
,gboolean valid
);
camel_cipher_validity_get_description ()
gchar *
camel_cipher_validity_get_description (CamelCipherValidity *validity
);
camel_cipher_validity_set_description ()
void camel_cipher_validity_set_description (CamelCipherValidity *validity
,const gchar *description
);
camel_cipher_validity_clone ()
CamelCipherValidity *
camel_cipher_validity_clone (CamelCipherValidity *vin
);
camel_cipher_validity_add_certinfo ()
gint camel_cipher_validity_add_certinfo (CamelCipherValidity *vin
,CamelCipherValidityMode mode
,const gchar *name
,const gchar *email
);
Add a cert info to the signer or encrypter info.
camel_cipher_validity_add_certinfo_ex ()
gint camel_cipher_validity_add_certinfo_ex (CamelCipherValidity *vin
,CamelCipherValidityMode mode
,const gchar *name
,const gchar *email
,gpointer cert_data
,GDestroyNotify cert_data_free
,CamelCipherCloneFunc cert_data_clone
);
Add a cert info to the signer or encrypter info, with extended data set.
Since: 2.30
camel_cipher_validity_get_certinfo_property ()
gpointer camel_cipher_validity_get_certinfo_property (CamelCipherValidity *vin
,CamelCipherValidityMode mode
,gint info_index
,const gchar *name
);
Gets a named property name
value for the given info_index
of the mode
validity part.
Parameters
vin |
||
mode |
which cipher validity part to use |
|
info_index |
a 0-based index of the requested CamelCipherCertInfo |
|
name |
a property name |
Returns
Value of a named property of a CamelCipherCertInfo, or NULL
when no such
property exists. The returned value is owned by the associated CamelCipherCertInfo
and is valid until the cert info is freed.
Since: 3.22
camel_cipher_validity_set_certinfo_property ()
void camel_cipher_validity_set_certinfo_property (CamelCipherValidity *vin
,CamelCipherValidityMode mode
,gint info_index
,const gchar *name
,gpointer value
,GDestroyNotify value_free
,CamelCipherCloneFunc value_clone
);
Sets a named property name
value value
for the given info_index
of the mode
validity part. If the value
is NULL
, then the property
is removed. With a non-NULL
value
also value_free
and value_clone
functions cannot be NULL
.
Parameters
vin |
||
mode |
which cipher validity part to use |
|
info_index |
a 0-based index of the requested CamelCipherCertInfo |
|
name |
a property name |
|
value |
a property value, or |
[nullable] |
value_free |
a free function for the |
[nullable] |
value_clone |
a clone function for the |
[nullable] |
Since: 3.22
camel_cipher_validity_envelope ()
void camel_cipher_validity_envelope (CamelCipherValidity *parent
,CamelCipherValidity *valid
);
Calculate a conglomerate validity based on wrapping one secure part inside another one.
camel_cipher_certinfo_get_property ()
gpointer camel_cipher_certinfo_get_property (CamelCipherCertInfo *cert_info
,const gchar *name
);
Gets a named property name
value for the given cert_info
.
Returns
Value of a named property of the cert_info
, or NULL
when no such
property exists. The returned value is owned by the cert_info
and is valid until the cert_info
is freed.
Since: 3.22
camel_cipher_certinfo_set_property ()
void camel_cipher_certinfo_set_property (CamelCipherCertInfo *cert_info
,const gchar *name
,gpointer value
,GDestroyNotify value_free
,CamelCipherCloneFunc value_clone
);
Sets a named property name
value value
for the given cert_info
.
If the value
is NULL
, then the property is removed. With a non-NULL
value
also value_free
and value_clone
functions cannot be NULL
.
Parameters
cert_info |
||
name |
a property name |
|
value |
a property value, or |
[nullable] |
value_free |
a free function for the |
[nullable] |
value_clone |
a clone function for the |
[nullable] |
Since: 3.22
camel_cipher_canonical_to_stream ()
gint camel_cipher_canonical_to_stream (CamelMimePart *part
,guint32 flags
,CamelStream *ostream
,GCancellable *cancellable
,GError **error
);
Writes a part to a stream in a canonicalised format, suitable for signing/encrypting.
The transfer encoding paramaters for the part may be changed by this function.
Parameters
part |
Part to write. |
|
flags |
flags for the canonicalisation filter (CamelMimeFilterCanon) |
|
ostream |
stream to write canonicalised output to. |
|
cancellable |
optional GCancellable object, or |
|
error |
Types and Values
CAMEL_CIPHER_CERT_INFO_PROPERTY_PHOTO_FILENAME
#define CAMEL_CIPHER_CERT_INFO_PROPERTY_PHOTO_FILENAME "photo-filename"
Name of the photo-filename property which can be stored on a CamelCipherCertInfo.
Since: 3.22
struct CamelCipherCertInfoProperty
struct CamelCipherCertInfoProperty { gchar *name; gpointer value; GDestroyNotify value_free; CamelCipherCloneFunc value_clone; };
struct CamelCipherCertInfo
struct CamelCipherCertInfo { gchar *name; /* common name */ gchar *email; gpointer cert_data; /* custom certificate data; can be NULL */ GDestroyNotify cert_data_free; /* called to free cert_data; can be NULL only if cert_data is NULL */ CamelCipherCloneFunc cert_data_clone; /* called to clone cert_data; can be NULL only if cert_data is NULL */ GSList *properties; /* CamelCipherCertInfoProperty * */ };