GMimeMultpartEncrypted

## GMimeMultpartEncrypted GMimeMultpartEncrypted — Encrypted MIME multiparts |

## Synopsis

                        GMimeMultipartEncrypted;
    GMimeMultipartEncrypted * g_mime_multipart_encrypted_new
                                                            (void);
    int                 g_mime_multipart_encrypted_encrypt  (GMimeMultipartEncrypted *mpe,
                                                             GMimeObject *content,
                                                             GMimeCipherContext *ctx,
                                                             gboolean sign,
                                                             const char *userid,
                                                             GPtrArray *recipients,
                                                             GError **err);
    GMimeObject *       g_mime_multipart_encrypted_decrypt  (GMimeMultipartEncrypted *mpe,
                                                             GMimeCipherContext *ctx,
                                                             GError **err);
    const GMimeSignatureValidity * g_mime_multipart_encrypted_get_signature_validity
                                                            (GMimeMultipartEncrypted *mpe);

## 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.

## Details

### GMimeMultipartEncrypted

    typedef struct _GMimeMultipartEncrypted GMimeMultipartEncrypted;

A multipart/encrypted MIME part.

### 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,
                                                             GMimeCipherContext *ctx,
                                                             gboolean sign,
                                                             const char *userid,
                                                             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`.

`mpe` : | multipart/encrypted object
`content` : | MIME part to encrypt
`ctx` : | encryption cipher 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`)
`recipients` : | an array of recipients to encrypt to
`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,
                                                             GMimeCipherContext *ctx,
                                                             GError **err);

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

If `validity` is non-NULL, then on a successful decrypt operation, it will be updated to point to a newly-allocated GMimeSignatureValidity with signature status information.

`mpe` : | multipart/encrypted object
`ctx` : | decryption cipher context
`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.

### g_mime_multipart_encrypted_get_signature_validity ()

    const GMimeSignatureValidity * g_mime_multipart_encrypted_get_signature_validity
                                                            (GMimeMultipartEncrypted *mpe);

Gets the signature validity of the encrypted MIME part.

Note: This is only useful after calling `g_mime_multipart_encrypted_decrypt()`.

`mpe` : | a GMimeMultipartEncrypted
Returns : | a GMimeSignatureValidity.

## See Also

#GMimeMultipart