1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GMimeCryptoContext</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GMime 2.6 Reference Manual">
8 <link rel="up" href="CryptoContexts.html" title="Cryptography Contexts">
9 <link rel="prev" href="GMimeSignature.html" title="GMimeSignature">
10 <link rel="next" href="GMimeGpgContext.html" title="GMimeGpgContext">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="GMimeSignature.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="CryptoContexts.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GMime 2.6 Reference Manual</th>
21 <td><a accesskey="n" href="GMimeGpgContext.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GMimeCryptoContext.synopsis" class="shortcut">Top</a>
26 <a href="#GMimeCryptoContext.description" class="shortcut">Description</a>
28 <a href="#GMimeCryptoContext.object-hierarchy" class="shortcut">Object Hierarchy</a>
31 <div class="refentry">
32 <a name="GMimeCryptoContext"></a><div class="titlepage"></div>
33 <div class="refnamediv"><table width="100%"><tr>
35 <h2><span class="refentrytitle"><a name="GMimeCryptoContext.top_of_page"></a>GMimeCryptoContext</span></h2>
36 <p>GMimeCryptoContext — Encryption/signing contexts</p>
38 <td valign="top" align="right"></td>
40 <div class="refsynopsisdiv">
41 <a name="GMimeCryptoContext.synopsis"></a><h2>Synopsis</h2>
42 <pre class="synopsis"><span class="returnvalue">gboolean</span> (<a class="link" href="GMimeCryptoContext.html#GMimePasswordRequestFunc" title="GMimePasswordRequestFunc ()">*GMimePasswordRequestFunc</a>) (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
43 <em class="parameter"><code>const <span class="type">char</span> *user_id</code></em>,
44 <em class="parameter"><code>const <span class="type">char</span> *prompt_ctx</code></em>,
45 <em class="parameter"><code><span class="type">gboolean</span> reprompt</code></em>,
46 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *response</code></em>,
47 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
48 struct <a class="link" href="GMimeCryptoContext.html#GMimeCryptoContext-struct" title="struct GMimeCryptoContext">GMimeCryptoContext</a>;
49 <span class="returnvalue">void</span> <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-set-request-password" title="g_mime_crypto_context_set_request_password ()">g_mime_crypto_context_set_request_password</a>
50 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
51 <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimePasswordRequestFunc" title="GMimePasswordRequestFunc ()"><span class="type">GMimePasswordRequestFunc</span></a> request_passwd</code></em>);
52 const <span class="returnvalue">char</span> * <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-get-signature-protocol" title="g_mime_crypto_context_get_signature_protocol ()">g_mime_crypto_context_get_signature_protocol</a>
53 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);
54 const <span class="returnvalue">char</span> * <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-get-encryption-protocol" title="g_mime_crypto_context_get_encryption_protocol ()">g_mime_crypto_context_get_encryption_protocol</a>
55 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);
56 const <span class="returnvalue">char</span> * <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-get-key-exchange-protocol" title="g_mime_crypto_context_get_key_exchange_protocol ()">g_mime_crypto_context_get_key_exchange_protocol</a>
57 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);
58 <a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a> <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-digest-id" title="g_mime_crypto_context_digest_id ()">g_mime_crypto_context_digest_id</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
59 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
60 const <span class="returnvalue">char</span> * <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-digest-name" title="g_mime_crypto_context_digest_name ()">g_mime_crypto_context_digest_name</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
61 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>);
62 <span class="returnvalue">int</span> <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-sign" title="g_mime_crypto_context_sign ()">g_mime_crypto_context_sign</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
63 <em class="parameter"><code>const <span class="type">char</span> *userid</code></em>,
64 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>,
65 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
66 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
67 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
68 <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> * <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-verify" title="g_mime_crypto_context_verify ()">g_mime_crypto_context_verify</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
69 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>,
70 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
71 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *sigstream</code></em>,
72 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
73 <span class="returnvalue">int</span> <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-encrypt" title="g_mime_crypto_context_encrypt ()">g_mime_crypto_context_encrypt</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
74 <em class="parameter"><code><span class="type">gboolean</span> sign</code></em>,
75 <em class="parameter"><code>const <span class="type">char</span> *userid</code></em>,
76 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>,
77 <em class="parameter"><code><span class="type">GPtrArray</span> *recipients</code></em>,
78 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
79 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
80 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
81 <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> * <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-decrypt" title="g_mime_crypto_context_decrypt ()">g_mime_crypto_context_decrypt</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
82 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
83 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
84 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
85 <span class="returnvalue">int</span> <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-import-keys" title="g_mime_crypto_context_import_keys ()">g_mime_crypto_context_import_keys</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
86 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
87 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
88 <span class="returnvalue">int</span> <a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-export-keys" title="g_mime_crypto_context_export_keys ()">g_mime_crypto_context_export_keys</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
89 <em class="parameter"><code><span class="type">GPtrArray</span> *keys</code></em>,
90 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
91 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);
93 enum <a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo">GMimeCipherAlgo</a>;
94 struct <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult">GMimeDecryptResult</a>;
95 <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> * <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-new" title="g_mime_decrypt_result_new ()">g_mime_decrypt_result_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
96 <a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="returnvalue">GMimeCertificateList</span></a> * <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-recipients" title="g_mime_decrypt_result_get_recipients ()">g_mime_decrypt_result_get_recipients</a>
97 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);
98 <span class="returnvalue">void</span> <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-recipients" title="g_mime_decrypt_result_set_recipients ()">g_mime_decrypt_result_set_recipients</a>
99 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
100 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a> *recipients</code></em>);
101 <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> * <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-signatures" title="g_mime_decrypt_result_get_signatures ()">g_mime_decrypt_result_get_signatures</a>
102 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);
103 <span class="returnvalue">void</span> <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-signatures" title="g_mime_decrypt_result_set_signatures ()">g_mime_decrypt_result_set_signatures</a>
104 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
105 <em class="parameter"><code><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> *signatures</code></em>);
106 <a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="returnvalue">GMimeCipherAlgo</span></a> <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-cipher" title="g_mime_decrypt_result_get_cipher ()">g_mime_decrypt_result_get_cipher</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);
107 <span class="returnvalue">void</span> <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-cipher" title="g_mime_decrypt_result_set_cipher ()">g_mime_decrypt_result_set_cipher</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
108 <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="type">GMimeCipherAlgo</span></a> cipher</code></em>);
109 <a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a> <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-mdc" title="g_mime_decrypt_result_get_mdc ()">g_mime_decrypt_result_get_mdc</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);
110 <span class="returnvalue">void</span> <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-mdc" title="g_mime_decrypt_result_set_mdc ()">g_mime_decrypt_result_set_mdc</a> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
111 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> mdc</code></em>);
114 <div class="refsect1">
115 <a name="GMimeCryptoContext.object-hierarchy"></a><h2>Object Hierarchy</h2>
116 <pre class="synopsis">
118 +----GMimeCryptoContext
119 +----<a class="link" href="GMimeGpgContext.html" title="GMimeGpgContext">GMimeGpgContext</a>
120 +----<a class="link" href="GMimePkcs7Context.html" title="GMimePkcs7Context">GMimePkcs7Context</a>
123 <div class="refsect1">
124 <a name="GMimeCryptoContext.description"></a><h2>Description</h2>
126 A <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> is used for encrypting, decrypting, signing
127 and verifying cryptographic signatures.
130 <div class="refsect1">
131 <a name="GMimeCryptoContext.details"></a><h2>Details</h2>
132 <div class="refsect2">
133 <a name="GMimePasswordRequestFunc"></a><h3>GMimePasswordRequestFunc ()</h3>
134 <pre class="programlisting"><span class="returnvalue">gboolean</span> (*GMimePasswordRequestFunc) (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
135 <em class="parameter"><code>const <span class="type">char</span> *user_id</code></em>,
136 <em class="parameter"><code>const <span class="type">char</span> *prompt_ctx</code></em>,
137 <em class="parameter"><code><span class="type">gboolean</span> reprompt</code></em>,
138 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *response</code></em>,
139 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
141 A password request callback allowing a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> to
142 prompt the user for a password for a given key.
144 <div class="variablelist"><table border="0">
145 <col align="left" valign="top">
148 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
149 <td>the <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> making the request</td>
152 <td><p><span class="term"><em class="parameter"><code>user_id</code></em> :</span></p></td>
153 <td>the user_id of the password being requested</td>
156 <td><p><span class="term"><em class="parameter"><code>prompt_ctx</code></em> :</span></p></td>
157 <td>a string containing some helpful context for the prompt</td>
160 <td><p><span class="term"><em class="parameter"><code>reprompt</code></em> :</span></p></td>
162 <code class="literal">TRUE</code> if this password request is a reprompt due to a previously bad password response</td>
165 <td><p><span class="term"><em class="parameter"><code>response</code></em> :</span></p></td>
166 <td>a stream for the application to write the password to (followed by a newline '\n' character)</td>
169 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
170 <td>a <span class="type">GError</span> for the callback to set if an error occurs</td>
173 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
175 <code class="literal">TRUE</code> on success or <code class="literal">FALSE</code> on error.</td>
181 <div class="refsect2">
182 <a name="GMimeCryptoContext-struct"></a><h3>struct GMimeCryptoContext</h3>
183 <pre class="programlisting">struct GMimeCryptoContext;</pre>
185 A crypto context for use with MIME.
187 <div class="variablelist"><table border="0">
188 <col align="left" valign="top">
193 <div class="refsect2">
194 <a name="g-mime-crypto-context-set-request-password"></a><h3>g_mime_crypto_context_set_request_password ()</h3>
195 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_crypto_context_set_request_password
196 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
197 <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimePasswordRequestFunc" title="GMimePasswordRequestFunc ()"><span class="type">GMimePasswordRequestFunc</span></a> request_passwd</code></em>);</pre>
199 Sets the function used by the <em class="parameter"><code>ctx</code></em> for requesting a password from
202 <div class="variablelist"><table border="0">
203 <col align="left" valign="top">
206 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
207 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
211 <td><p><span class="term"><em class="parameter"><code>request_passwd</code></em> :</span></p></td>
212 <td>a callback function for requesting a password</td>
218 <div class="refsect2">
219 <a name="g-mime-crypto-context-get-signature-protocol"></a><h3>g_mime_crypto_context_get_signature_protocol ()</h3>
220 <pre class="programlisting">const <span class="returnvalue">char</span> * g_mime_crypto_context_get_signature_protocol
221 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);</pre>
223 Gets the signature protocol for the crypto context.
225 <div class="variablelist"><table border="0">
226 <col align="left" valign="top">
229 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
230 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
234 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
235 <td>the signature protocol or <code class="literal">NULL</code> if not supported.</td>
241 <div class="refsect2">
242 <a name="g-mime-crypto-context-get-encryption-protocol"></a><h3>g_mime_crypto_context_get_encryption_protocol ()</h3>
243 <pre class="programlisting">const <span class="returnvalue">char</span> * g_mime_crypto_context_get_encryption_protocol
244 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);</pre>
246 Gets the encryption protocol for the crypto context.
248 <div class="variablelist"><table border="0">
249 <col align="left" valign="top">
252 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
253 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
257 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
258 <td>the encryption protocol or <code class="literal">NULL</code> if not supported.</td>
264 <div class="refsect2">
265 <a name="g-mime-crypto-context-get-key-exchange-protocol"></a><h3>g_mime_crypto_context_get_key_exchange_protocol ()</h3>
266 <pre class="programlisting">const <span class="returnvalue">char</span> * g_mime_crypto_context_get_key_exchange_protocol
267 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);</pre>
269 Gets the key exchange protocol for the crypto context.
271 <div class="variablelist"><table border="0">
272 <col align="left" valign="top">
275 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
276 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
280 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
281 <td>the key exchange protocol or <code class="literal">NULL</code> if not supported.</td>
287 <div class="refsect2">
288 <a name="g-mime-crypto-context-digest-id"></a><h3>g_mime_crypto_context_digest_id ()</h3>
289 <pre class="programlisting"><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a> g_mime_crypto_context_digest_id (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
290 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
292 Gets the digest id based on the digest name.
294 <div class="variablelist"><table border="0">
295 <col align="left" valign="top">
298 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
299 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
303 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
307 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
308 <td>the equivalent digest id or <a class="link" href="GMimeCertificate.html#GMIME-DIGEST-ALGO-DEFAULT:CAPS"><span class="type">GMIME_DIGEST_ALGO_DEFAULT</span></a> on fail.</td>
314 <div class="refsect2">
315 <a name="g-mime-crypto-context-digest-name"></a><h3>g_mime_crypto_context_digest_name ()</h3>
316 <pre class="programlisting">const <span class="returnvalue">char</span> * g_mime_crypto_context_digest_name (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
317 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>);</pre>
319 Gets the digest name based on the digest id <em class="parameter"><code>digest</code></em>.
321 <div class="variablelist"><table border="0">
322 <col align="left" valign="top">
325 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
326 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
330 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
334 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
335 <td>the equivalent digest name or <code class="literal">NULL</code> on fail.</td>
341 <div class="refsect2">
342 <a name="g-mime-crypto-context-sign"></a><h3>g_mime_crypto_context_sign ()</h3>
343 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_crypto_context_sign (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
344 <em class="parameter"><code>const <span class="type">char</span> *userid</code></em>,
345 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>,
346 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
347 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
348 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
350 Signs the input stream and writes the resulting signature to the output stream.
352 <div class="variablelist"><table border="0">
353 <col align="left" valign="top">
356 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
357 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
361 <td><p><span class="term"><em class="parameter"><code>userid</code></em> :</span></p></td>
362 <td>private key to use to sign the stream</td>
365 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
366 <td>digest algorithm to use</td>
369 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
370 <td>input stream</td>
373 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
374 <td>output stream</td>
377 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
378 <td>a <span class="type">GError</span>
382 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
383 <td>the <a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> used on success (useful if <em class="parameter"><code>digest</code></em> is
384 specified as <a class="link" href="GMimeCertificate.html#GMIME-DIGEST-ALGO-DEFAULT:CAPS"><span class="type">GMIME_DIGEST_ALGO_DEFAULT</span></a>) or <code class="literal">-1</code> on fail.</td>
390 <div class="refsect2">
391 <a name="g-mime-crypto-context-verify"></a><h3>g_mime_crypto_context_verify ()</h3>
392 <pre class="programlisting"><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> * g_mime_crypto_context_verify (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
393 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>,
394 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
395 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *sigstream</code></em>,
396 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
398 Verifies the signature. If <em class="parameter"><code>istream</code></em> is a clearsigned stream,
399 you should pass <code class="literal">NULL</code> as the sigstream parameter. Otherwise
400 <em class="parameter"><code>sigstream</code></em> is assumed to be the signature stream and is used to
401 verify the integirity of the <em class="parameter"><code>istream</code></em>.
403 <div class="variablelist"><table border="0">
404 <col align="left" valign="top">
407 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
408 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
412 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
413 <td>digest algorithm used, if known</td>
416 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
417 <td>input stream</td>
420 <td><p><span class="term"><em class="parameter"><code>sigstream</code></em> :</span></p></td>
421 <td>optional detached-signature stream</td>
424 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
425 <td>a <span class="type">GError</span>
429 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
430 <td>a <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> object containing the status of each
431 signature or <code class="literal">NULL</code> on error.</td>
437 <div class="refsect2">
438 <a name="g-mime-crypto-context-encrypt"></a><h3>g_mime_crypto_context_encrypt ()</h3>
439 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_crypto_context_encrypt (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
440 <em class="parameter"><code><span class="type">gboolean</span> sign</code></em>,
441 <em class="parameter"><code>const <span class="type">char</span> *userid</code></em>,
442 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>,
443 <em class="parameter"><code><span class="type">GPtrArray</span> *recipients</code></em>,
444 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
445 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
446 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
448 Encrypts (and optionally signs) the cleartext input stream and
449 writes the resulting ciphertext to the output stream.
451 <div class="variablelist"><table border="0">
452 <col align="left" valign="top">
455 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
456 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
460 <td><p><span class="term"><em class="parameter"><code>sign</code></em> :</span></p></td>
461 <td>sign as well as encrypt</td>
464 <td><p><span class="term"><em class="parameter"><code>userid</code></em> :</span></p></td>
465 <td>key id (or email address) to use when signing (assuming <em class="parameter"><code>sign</code></em> is <code class="literal">TRUE</code>)</td>
468 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
469 <td>digest algorithm to use when signing</td>
472 <td><p><span class="term"><em class="parameter"><code>recipients</code></em> :</span></p></td>
473 <td>an array of recipient key ids and/or email addresses</td>
476 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
477 <td>cleartext input stream</td>
480 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
481 <td>ciphertext output stream</td>
484 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
485 <td>a <span class="type">GError</span>
489 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
491 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
497 <div class="refsect2">
498 <a name="g-mime-crypto-context-decrypt"></a><h3>g_mime_crypto_context_decrypt ()</h3>
499 <pre class="programlisting"><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> * g_mime_crypto_context_decrypt (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
500 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
501 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
502 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
504 Decrypts the ciphertext input stream and writes the resulting
505 cleartext to the output stream.
508 If the encrypted input stream was also signed, the returned
509 <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> will have a non-<code class="literal">NULL</code> list of signatures, each with a
510 <a class="link" href="GMimeSignature.html#GMimeSignatureStatus" title="enum GMimeSignatureStatus"><span class="type">GMimeSignatureStatus</span></a> (among other details about each signature).
513 On success, the returned <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> will contain a list of
514 certificates, one for each recipient, that the original encrypted stream
517 <div class="variablelist"><table border="0">
518 <col align="left" valign="top">
521 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
522 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
526 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
527 <td>input/ciphertext stream</td>
530 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
531 <td>output/cleartext stream</td>
534 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
535 <td>a <span class="type">GError</span>
539 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
540 <td>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> on success or <code class="literal">NULL</code> on error.</td>
546 <div class="refsect2">
547 <a name="g-mime-crypto-context-import-keys"></a><h3>g_mime_crypto_context_import_keys ()</h3>
548 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_crypto_context_import_keys (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
549 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
550 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
552 Imports a stream of keys/certificates contained within <em class="parameter"><code>istream</code></em>
553 into the key/certificate database controlled by <em class="parameter"><code>ctx</code></em>.
555 <div class="variablelist"><table border="0">
556 <col align="left" valign="top">
559 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
560 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
564 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
565 <td>input stream (containing keys)</td>
568 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
569 <td>a <span class="type">GError</span>
573 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
575 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
581 <div class="refsect2">
582 <a name="g-mime-crypto-context-export-keys"></a><h3>g_mime_crypto_context_export_keys ()</h3>
583 <pre class="programlisting"><span class="returnvalue">int</span> g_mime_crypto_context_export_keys (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
584 <em class="parameter"><code><span class="type">GPtrArray</span> *keys</code></em>,
585 <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
586 <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
588 Exports the keys/certificates in <em class="parameter"><code>keys</code></em> to the stream <em class="parameter"><code>ostream</code></em> from
589 the key/certificate database controlled by <em class="parameter"><code>ctx</code></em>.
591 <div class="variablelist"><table border="0">
592 <col align="left" valign="top">
595 <td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
596 <td>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>
600 <td><p><span class="term"><em class="parameter"><code>keys</code></em> :</span></p></td>
601 <td>an array of key ids</td>
604 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
605 <td>output stream</td>
608 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
609 <td>a <span class="type">GError</span>
613 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
615 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
621 <div class="refsect2">
622 <a name="GMimeCipherAlgo"></a><h3>enum GMimeCipherAlgo</h3>
623 <pre class="programlisting">typedef enum {
624 GMIME_CIPHER_ALGO_DEFAULT = 0,
625 GMIME_CIPHER_ALGO_IDEA = 1,
626 GMIME_CIPHER_ALGO_3DES = 2,
627 GMIME_CIPHER_ALGO_CAST5 = 3,
628 GMIME_CIPHER_ALGO_BLOWFISH = 4,
629 GMIME_CIPHER_ALGO_AES = 7,
630 GMIME_CIPHER_ALGO_AES192 = 8,
631 GMIME_CIPHER_ALGO_AES256 = 9,
632 GMIME_CIPHER_ALGO_TWOFISH = 10,
633 GMIME_CIPHER_ALGO_CAMELLIA128 = 11,
634 GMIME_CIPHER_ALGO_CAMELLIA192 = 12,
635 GMIME_CIPHER_ALGO_CAMELLIA256 = 13
641 <div class="variablelist"><table border="0">
642 <col align="left" valign="top">
645 <td><p><a name="GMIME-CIPHER-ALGO-DEFAULT:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_DEFAULT</code></span></p></td>
646 <td>The default (or unknown) cipher.
650 <td><p><a name="GMIME-CIPHER-ALGO-IDEA:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_IDEA</code></span></p></td>
655 <td><p><a name="GMIME-CIPHER-ALGO-3DES:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_3DES</code></span></p></td>
660 <td><p><a name="GMIME-CIPHER-ALGO-CAST5:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_CAST5</code></span></p></td>
661 <td>The CAST5 cipher.
665 <td><p><a name="GMIME-CIPHER-ALGO-BLOWFISH:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_BLOWFISH</code></span></p></td>
666 <td>The Blowfish cipher.
670 <td><p><a name="GMIME-CIPHER-ALGO-AES:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_AES</code></span></p></td>
671 <td>The AES (aka RIJANDALE) cipher.
675 <td><p><a name="GMIME-CIPHER-ALGO-AES192:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_AES192</code></span></p></td>
676 <td>The AES-192 cipher.
680 <td><p><a name="GMIME-CIPHER-ALGO-AES256:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_AES256</code></span></p></td>
681 <td>The AES-256 cipher.
685 <td><p><a name="GMIME-CIPHER-ALGO-TWOFISH:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_TWOFISH</code></span></p></td>
686 <td>The Twofish cipher.
690 <td><p><a name="GMIME-CIPHER-ALGO-CAMELLIA128:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_CAMELLIA128</code></span></p></td>
691 <td>The Camellia-128 cipher.
695 <td><p><a name="GMIME-CIPHER-ALGO-CAMELLIA192:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_CAMELLIA192</code></span></p></td>
696 <td>The Camellia-192 cipher.
700 <td><p><a name="GMIME-CIPHER-ALGO-CAMELLIA256:CAPS"></a><span class="term"><code class="literal">GMIME_CIPHER_ALGO_CAMELLIA256</code></span></p></td>
701 <td>The Camellia-256 cipher.
708 <div class="refsect2">
709 <a name="GMimeDecryptResult"></a><h3>struct GMimeDecryptResult</h3>
710 <pre class="programlisting">struct GMimeDecryptResult {
711 GObject parent_object;
713 GMimeCertificateList *recipients;
714 GMimeSignatureList *signatures;
715 GMimeCipherAlgo cipher;
720 An object containing the results from decrypting an encrypted stream.
722 <div class="variablelist"><table border="0">
723 <col align="left" valign="top">
726 <td><p><span class="term"><span class="type">GObject</span> <em class="structfield"><code><a name="GMimeDecryptResult.parent-object"></a>parent_object</code></em>;</span></p></td>
727 <td>parent <span class="type">GObject</span>
731 <td><p><span class="term"><a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a> *<em class="structfield"><code><a name="GMimeDecryptResult.recipients"></a>recipients</code></em>;</span></p></td>
732 <td>A <a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a>
736 <td><p><span class="term"><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> *<em class="structfield"><code><a name="GMimeDecryptResult.signatures"></a>signatures</code></em>;</span></p></td>
737 <td>A <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> if signed or <code class="literal">NULL</code> otherwise.</td>
740 <td><p><span class="term"><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="type">GMimeCipherAlgo</span></a> <em class="structfield"><code><a name="GMimeDecryptResult.cipher"></a>cipher</code></em>;</span></p></td>
741 <td>The cipher algorithm used to encrypt the stream.</td>
744 <td><p><span class="term"><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> <em class="structfield"><code><a name="GMimeDecryptResult.mdc"></a>mdc</code></em>;</span></p></td>
745 <td>The MDC digest algorithm used, if any.</td>
751 <div class="refsect2">
752 <a name="g-mime-decrypt-result-new"></a><h3>g_mime_decrypt_result_new ()</h3>
753 <pre class="programlisting"><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> * g_mime_decrypt_result_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
755 Creates a new <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> object.
757 <div class="variablelist"><table border="0">
758 <col align="left" valign="top">
760 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
761 <td>a new <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> object.</td>
766 <div class="refsect2">
767 <a name="g-mime-decrypt-result-get-recipients"></a><h3>g_mime_decrypt_result_get_recipients ()</h3>
768 <pre class="programlisting"><a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="returnvalue">GMimeCertificateList</span></a> * g_mime_decrypt_result_get_recipients
769 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
771 Gets the list of certificates that the stream had been encrypted to.
773 <div class="variablelist"><table border="0">
774 <col align="left" valign="top">
777 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
778 <td>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
782 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
783 <td>a <a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a>.</td>
789 <div class="refsect2">
790 <a name="g-mime-decrypt-result-set-recipients"></a><h3>g_mime_decrypt_result_set_recipients ()</h3>
791 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_decrypt_result_set_recipients
792 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
793 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a> *recipients</code></em>);</pre>
795 Sets the list of certificates that the stream had been encrypted to.
797 <div class="variablelist"><table border="0">
798 <col align="left" valign="top">
801 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
802 <td>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
806 <td><p><span class="term"><em class="parameter"><code>recipients</code></em> :</span></p></td>
807 <td>A <a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a>
814 <div class="refsect2">
815 <a name="g-mime-decrypt-result-get-signatures"></a><h3>g_mime_decrypt_result_get_signatures ()</h3>
816 <pre class="programlisting"><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> * g_mime_decrypt_result_get_signatures
817 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
819 Gets a list of signatures if the encrypted stream had also been signed.
821 <div class="variablelist"><table border="0">
822 <col align="left" valign="top">
825 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
826 <td>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
830 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
831 <td>a <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> or <code class="literal">NULL</code> if the stream was not signed.</td>
837 <div class="refsect2">
838 <a name="g-mime-decrypt-result-set-signatures"></a><h3>g_mime_decrypt_result_set_signatures ()</h3>
839 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_decrypt_result_set_signatures
840 (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
841 <em class="parameter"><code><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> *signatures</code></em>);</pre>
843 Sets the list of signatures.
845 <div class="variablelist"><table border="0">
846 <col align="left" valign="top">
849 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
850 <td>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
854 <td><p><span class="term"><em class="parameter"><code>signatures</code></em> :</span></p></td>
855 <td>A <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a>
862 <div class="refsect2">
863 <a name="g-mime-decrypt-result-get-cipher"></a><h3>g_mime_decrypt_result_get_cipher ()</h3>
864 <pre class="programlisting"><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="returnvalue">GMimeCipherAlgo</span></a> g_mime_decrypt_result_get_cipher (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
866 Get the cipher algorithm used.
868 <div class="variablelist"><table border="0">
869 <col align="left" valign="top">
872 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
873 <td>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
877 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
878 <td>the cipher algorithm used.</td>
884 <div class="refsect2">
885 <a name="g-mime-decrypt-result-set-cipher"></a><h3>g_mime_decrypt_result_set_cipher ()</h3>
886 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_decrypt_result_set_cipher (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
887 <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="type">GMimeCipherAlgo</span></a> cipher</code></em>);</pre>
889 Set the cipher algorithm used.
891 <div class="variablelist"><table border="0">
892 <col align="left" valign="top">
895 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
896 <td>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
900 <td><p><span class="term"><em class="parameter"><code>cipher</code></em> :</span></p></td>
901 <td>a <a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="type">GMimeCipherAlgo</span></a>
908 <div class="refsect2">
909 <a name="g-mime-decrypt-result-get-mdc"></a><h3>g_mime_decrypt_result_get_mdc ()</h3>
910 <pre class="programlisting"><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a> g_mime_decrypt_result_get_mdc (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
912 Get the mdc digest algorithm used.
914 <div class="variablelist"><table border="0">
915 <col align="left" valign="top">
918 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
919 <td>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
923 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
924 <td>the mdc digest algorithm used.</td>
930 <div class="refsect2">
931 <a name="g-mime-decrypt-result-set-mdc"></a><h3>g_mime_decrypt_result_set_mdc ()</h3>
932 <pre class="programlisting"><span class="returnvalue">void</span> g_mime_decrypt_result_set_mdc (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
933 <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> mdc</code></em>);</pre>
935 Set the mdc digest algorithm used.
937 <div class="variablelist"><table border="0">
938 <col align="left" valign="top">
941 <td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
942 <td>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a>
946 <td><p><span class="term"><em class="parameter"><code>mdc</code></em> :</span></p></td>
947 <td>a <a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a>
957 Generated by GTK-Doc V1.18</div>