GMimeMultipartEncrypted

GMimeMultipartEncrypted — Encrypted MIME multiparts

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GMimeObject
        ╰── GMimeMultipart
            ╰── GMimeMultipartEncrypted

Description

A GMimeMultipartEncrypted part is a special subclass of GMimeMultipart to make it easier to manipulate the multipart/encrypted MIME type.

Functions

g_mime_multipart_encrypted_new ()

GMimeMultipartEncrypted *
g_mime_multipart_encrypted_new (void);

Creates a new MIME multipart/encrypted object.

Returns

an empty MIME multipart/encrypted object.


g_mime_multipart_encrypted_encrypt ()

int
g_mime_multipart_encrypted_encrypt (GMimeMultipartEncrypted *mpe,
                                    GMimeObject *content,
                                    GMimeCryptoContext *ctx,
                                    gboolean sign,
                                    const char *userid,
                                    GMimeDigestAlgo digest,
                                    GPtrArray *recipients,
                                    GError **err);

Attempts to encrypt (and conditionally sign) the content MIME part to the public keys of recipients using the ctx encryption context. If successful, the encrypted GMimeObject is set as the encrypted part of the multipart/encrypted object mpe .

Parameters

mpe

multipart/encrypted object

 

content

MIME part to encrypt

 

ctx

encryption context

 

sign

TRUE if the content should also be signed or FALSE otherwise

 

userid

user id to use for signing (only used if sign is TRUE)

 

digest

digest algorithm to use when signing

 

recipients

an array of recipients to encrypt to.

[element-type utf8]

err

a GError

 

Returns

0 on success or -1 on fail. If the encryption fails, an exception will be set on err to provide information as to why the failure occured.


g_mime_multipart_encrypted_decrypt ()

GMimeObject *
g_mime_multipart_encrypted_decrypt (GMimeMultipartEncrypted *mpe,
                                    GMimeCryptoContext *ctx,
                                    GMimeDecryptResult **result,
                                    GError **err);

Attempts to decrypt the encrypted MIME part contained within the multipart/encrypted object mpe using the ctx decryption context.

If result is non-NULL, then on a successful decrypt operation, it will be updated to point to a newly-allocated GMimeDecryptResult with signature status information as well as a list of recipients that the part was encrypted to.

Parameters

mpe

multipart/encrypted object

 

ctx

decryption context

 

result

a GMimeDecryptionResult

 

err

a GError

 

Returns

the decrypted MIME part on success or NULL on fail. If the decryption fails, an exception will be set on err to provide information as to why the failure occured.

[transfer full]


g_mime_multipart_encrypted_decrypt_session ()

GMimeObject *
g_mime_multipart_encrypted_decrypt_session
                               (GMimeMultipartEncrypted *mpe,
                                GMimeCryptoContext *ctx,
                                const char *session_key,
                                GMimeDecryptResult **result,
                                GError **err);

Attempts to decrypt the encrypted MIME part contained within the multipart/encrypted object mpe using the ctx decryption context trying only the supplied session key. If session_key is non-NULL, but is not valid for the ciphertext, the decryption will fail even if other available secret key material may have been able to decrypt it. If session_key is NULL, this does the same thing as g_mime_multipart_encrypted_decrypt().

When non-NULL, session_key should be a NULL-terminated string, such as the one returned by g_mime_decrypt_result_get_session_key() from a previous decryption.

If result is non-NULL, then on a successful decrypt operation, it will be updated to point to a newly-allocated GMimeDecryptResult with signature status information as well as a list of recipients that the part was encrypted to.

Parameters

mpe

multipart/encrypted object

 

ctx

decryption context

 

session_key

session key to use

 

result

a GMimeDecryptionResult

 

err

a GError

 

Returns

the decrypted MIME part on success or NULL on fail. If the decryption fails, an exception will be set on err to provide information as to why the failure occured.

[transfer full]

Types and Values

struct GMimeMultipartEncrypted

struct GMimeMultipartEncrypted;

A multipart/encrypted MIME part.

Members

See Also

GMimeMultipart