Initialize the gmime for upstream
[platform/upstream/gmime.git] / docs / reference / html / GMimeCryptoContext.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
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">
13 </head>
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">
16 <tr valign="middle">
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>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#GMimeCryptoContext.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#GMimeCryptoContext.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#GMimeCryptoContext.object-hierarchy" class="shortcut">Object Hierarchy</a>
29 </td></tr>
30 </table>
31 <div class="refentry">
32 <a name="GMimeCryptoContext"></a><div class="titlepage"></div>
33 <div class="refnamediv"><table width="100%"><tr>
34 <td valign="top">
35 <h2><span class="refentrytitle"><a name="GMimeCryptoContext.top_of_page"></a>GMimeCryptoContext</span></h2>
36 <p>GMimeCryptoContext — Encryption/signing contexts</p>
37 </td>
38 <td valign="top" align="right"></td>
39 </tr></table></div>
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>);
92
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>);
112 </pre>
113 </div>
114 <div class="refsect1">
115 <a name="GMimeCryptoContext.object-hierarchy"></a><h2>Object Hierarchy</h2>
116 <pre class="synopsis">
117   GObject
118    +----GMimeCryptoContext
119          +----<a class="link" href="GMimeGpgContext.html" title="GMimeGpgContext">GMimeGpgContext</a>
120          +----<a class="link" href="GMimePkcs7Context.html" title="GMimePkcs7Context">GMimePkcs7Context</a>
121 </pre>
122 </div>
123 <div class="refsect1">
124 <a name="GMimeCryptoContext.description"></a><h2>Description</h2>
125 <p>
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.
128 </p>
129 </div>
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>
140 <p>
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.
143 </p>
144 <div class="variablelist"><table border="0">
145 <col align="left" valign="top">
146 <tbody>
147 <tr>
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>
150 </tr>
151 <tr>
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>
154 </tr>
155 <tr>
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>
158 </tr>
159 <tr>
160 <td><p><span class="term"><em class="parameter"><code>reprompt</code></em> :</span></p></td>
161 <td>
162 <code class="literal">TRUE</code> if this password request is a reprompt due to a previously bad password response</td>
163 </tr>
164 <tr>
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>
167 </tr>
168 <tr>
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>
171 </tr>
172 <tr>
173 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
174 <td>
175 <code class="literal">TRUE</code> on success or <code class="literal">FALSE</code> on error.</td>
176 </tr>
177 </tbody>
178 </table></div>
179 </div>
180 <hr>
181 <div class="refsect2">
182 <a name="GMimeCryptoContext-struct"></a><h3>struct GMimeCryptoContext</h3>
183 <pre class="programlisting">struct GMimeCryptoContext;</pre>
184 <p>
185 A crypto context for use with MIME.
186 </p>
187 <div class="variablelist"><table border="0">
188 <col align="left" valign="top">
189 <tbody></tbody>
190 </table></div>
191 </div>
192 <hr>
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>
198 <p>
199 Sets the function used by the <em class="parameter"><code>ctx</code></em> for requesting a password from
200 the user.
201 </p>
202 <div class="variablelist"><table border="0">
203 <col align="left" valign="top">
204 <tbody>
205 <tr>
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>
208 </td>
209 </tr>
210 <tr>
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>
213 </tr>
214 </tbody>
215 </table></div>
216 </div>
217 <hr>
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>
222 <p>
223 Gets the signature protocol for the crypto context.
224 </p>
225 <div class="variablelist"><table border="0">
226 <col align="left" valign="top">
227 <tbody>
228 <tr>
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>
231 </td>
232 </tr>
233 <tr>
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>
236 </tr>
237 </tbody>
238 </table></div>
239 </div>
240 <hr>
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>
245 <p>
246 Gets the encryption protocol for the crypto context.
247 </p>
248 <div class="variablelist"><table border="0">
249 <col align="left" valign="top">
250 <tbody>
251 <tr>
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>
254 </td>
255 </tr>
256 <tr>
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>
259 </tr>
260 </tbody>
261 </table></div>
262 </div>
263 <hr>
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>
268 <p>
269 Gets the key exchange protocol for the crypto context.
270 </p>
271 <div class="variablelist"><table border="0">
272 <col align="left" valign="top">
273 <tbody>
274 <tr>
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>
277 </td>
278 </tr>
279 <tr>
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>
282 </tr>
283 </tbody>
284 </table></div>
285 </div>
286 <hr>
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>
291 <p>
292 Gets the digest id based on the digest name.
293 </p>
294 <div class="variablelist"><table border="0">
295 <col align="left" valign="top">
296 <tbody>
297 <tr>
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>
300 </td>
301 </tr>
302 <tr>
303 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
304 <td>digest name</td>
305 </tr>
306 <tr>
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>
309 </tr>
310 </tbody>
311 </table></div>
312 </div>
313 <hr>
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>
318 <p>
319 Gets the digest name based on the digest id <em class="parameter"><code>digest</code></em>.
320 </p>
321 <div class="variablelist"><table border="0">
322 <col align="left" valign="top">
323 <tbody>
324 <tr>
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>
327 </td>
328 </tr>
329 <tr>
330 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
331 <td>digest id</td>
332 </tr>
333 <tr>
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>
336 </tr>
337 </tbody>
338 </table></div>
339 </div>
340 <hr>
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>
349 <p>
350 Signs the input stream and writes the resulting signature to the output stream.
351 </p>
352 <div class="variablelist"><table border="0">
353 <col align="left" valign="top">
354 <tbody>
355 <tr>
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>
358 </td>
359 </tr>
360 <tr>
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>
363 </tr>
364 <tr>
365 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
366 <td>digest algorithm to use</td>
367 </tr>
368 <tr>
369 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
370 <td>input stream</td>
371 </tr>
372 <tr>
373 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
374 <td>output stream</td>
375 </tr>
376 <tr>
377 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
378 <td>a <span class="type">GError</span>
379 </td>
380 </tr>
381 <tr>
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>
385 </tr>
386 </tbody>
387 </table></div>
388 </div>
389 <hr>
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>
397 <p>
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>.
402 </p>
403 <div class="variablelist"><table border="0">
404 <col align="left" valign="top">
405 <tbody>
406 <tr>
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>
409 </td>
410 </tr>
411 <tr>
412 <td><p><span class="term"><em class="parameter"><code>digest</code></em> :</span></p></td>
413 <td>digest algorithm used, if known</td>
414 </tr>
415 <tr>
416 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
417 <td>input stream</td>
418 </tr>
419 <tr>
420 <td><p><span class="term"><em class="parameter"><code>sigstream</code></em> :</span></p></td>
421 <td>optional detached-signature stream</td>
422 </tr>
423 <tr>
424 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
425 <td>a <span class="type">GError</span>
426 </td>
427 </tr>
428 <tr>
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>
432 </tr>
433 </tbody>
434 </table></div>
435 </div>
436 <hr>
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>
447 <p>
448 Encrypts (and optionally signs) the cleartext input stream and
449 writes the resulting ciphertext to the output stream.
450 </p>
451 <div class="variablelist"><table border="0">
452 <col align="left" valign="top">
453 <tbody>
454 <tr>
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>
457 </td>
458 </tr>
459 <tr>
460 <td><p><span class="term"><em class="parameter"><code>sign</code></em> :</span></p></td>
461 <td>sign as well as encrypt</td>
462 </tr>
463 <tr>
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>
466 </tr>
467 <tr>
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>
470 </tr>
471 <tr>
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>
474 </tr>
475 <tr>
476 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
477 <td>cleartext input stream</td>
478 </tr>
479 <tr>
480 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
481 <td>ciphertext output stream</td>
482 </tr>
483 <tr>
484 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
485 <td>a <span class="type">GError</span>
486 </td>
487 </tr>
488 <tr>
489 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
490 <td>
491 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
492 </tr>
493 </tbody>
494 </table></div>
495 </div>
496 <hr>
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>
503 <p>
504 Decrypts the ciphertext input stream and writes the resulting
505 cleartext to the output stream.
506 </p>
507 <p>
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).
511 </p>
512 <p>
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
515 was encrypted to.
516 </p>
517 <div class="variablelist"><table border="0">
518 <col align="left" valign="top">
519 <tbody>
520 <tr>
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>
523 </td>
524 </tr>
525 <tr>
526 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
527 <td>input/ciphertext stream</td>
528 </tr>
529 <tr>
530 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
531 <td>output/cleartext stream</td>
532 </tr>
533 <tr>
534 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
535 <td>a <span class="type">GError</span>
536 </td>
537 </tr>
538 <tr>
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>
541 </tr>
542 </tbody>
543 </table></div>
544 </div>
545 <hr>
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>
551 <p>
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>.
554 </p>
555 <div class="variablelist"><table border="0">
556 <col align="left" valign="top">
557 <tbody>
558 <tr>
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>
561 </td>
562 </tr>
563 <tr>
564 <td><p><span class="term"><em class="parameter"><code>istream</code></em> :</span></p></td>
565 <td>input stream (containing keys)</td>
566 </tr>
567 <tr>
568 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
569 <td>a <span class="type">GError</span>
570 </td>
571 </tr>
572 <tr>
573 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
574 <td>
575 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
576 </tr>
577 </tbody>
578 </table></div>
579 </div>
580 <hr>
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>
587 <p>
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>.
590 </p>
591 <div class="variablelist"><table border="0">
592 <col align="left" valign="top">
593 <tbody>
594 <tr>
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>
597 </td>
598 </tr>
599 <tr>
600 <td><p><span class="term"><em class="parameter"><code>keys</code></em> :</span></p></td>
601 <td>an array of key ids</td>
602 </tr>
603 <tr>
604 <td><p><span class="term"><em class="parameter"><code>ostream</code></em> :</span></p></td>
605 <td>output stream</td>
606 </tr>
607 <tr>
608 <td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
609 <td>a <span class="type">GError</span>
610 </td>
611 </tr>
612 <tr>
613 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
614 <td>
615 <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</td>
616 </tr>
617 </tbody>
618 </table></div>
619 </div>
620 <hr>
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
636 } GMimeCipherAlgo;
637 </pre>
638 <p>
639 A cipher algorithm.
640 </p>
641 <div class="variablelist"><table border="0">
642 <col align="left" valign="top">
643 <tbody>
644 <tr>
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.
647 </td>
648 </tr>
649 <tr>
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>
651 <td>The IDEA cipher.
652 </td>
653 </tr>
654 <tr>
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>
656 <td>The 3DES cipher.
657 </td>
658 </tr>
659 <tr>
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.
662 </td>
663 </tr>
664 <tr>
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.
667 </td>
668 </tr>
669 <tr>
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.
672 </td>
673 </tr>
674 <tr>
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.
677 </td>
678 </tr>
679 <tr>
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.
682 </td>
683 </tr>
684 <tr>
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.
687 </td>
688 </tr>
689 <tr>
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.
692 </td>
693 </tr>
694 <tr>
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.
697 </td>
698 </tr>
699 <tr>
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.
702 </td>
703 </tr>
704 </tbody>
705 </table></div>
706 </div>
707 <hr>
708 <div class="refsect2">
709 <a name="GMimeDecryptResult"></a><h3>struct GMimeDecryptResult</h3>
710 <pre class="programlisting">struct GMimeDecryptResult {
711         GObject parent_object;
712         
713         GMimeCertificateList *recipients;
714         GMimeSignatureList *signatures;
715         GMimeCipherAlgo cipher;
716         GMimeDigestAlgo mdc;
717 };
718 </pre>
719 <p>
720 An object containing the results from decrypting an encrypted stream.
721 </p>
722 <div class="variablelist"><table border="0">
723 <col align="left" valign="top">
724 <tbody>
725 <tr>
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>
728 </td>
729 </tr>
730 <tr>
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>
733 </td>
734 </tr>
735 <tr>
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>
738 </tr>
739 <tr>
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>
742 </tr>
743 <tr>
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>
746 </tr>
747 </tbody>
748 </table></div>
749 </div>
750 <hr>
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>
754 <p>
755 Creates a new <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult" title="struct GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> object.
756 </p>
757 <div class="variablelist"><table border="0">
758 <col align="left" valign="top">
759 <tbody><tr>
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>
762 </tr></tbody>
763 </table></div>
764 </div>
765 <hr>
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>
770 <p>
771 Gets the list of certificates that the stream had been encrypted to.
772 </p>
773 <div class="variablelist"><table border="0">
774 <col align="left" valign="top">
775 <tbody>
776 <tr>
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>
779 </td>
780 </tr>
781 <tr>
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>
784 </tr>
785 </tbody>
786 </table></div>
787 </div>
788 <hr>
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>
794 <p>
795 Sets the list of certificates that the stream had been encrypted to.
796 </p>
797 <div class="variablelist"><table border="0">
798 <col align="left" valign="top">
799 <tbody>
800 <tr>
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>
803 </td>
804 </tr>
805 <tr>
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>
808 </td>
809 </tr>
810 </tbody>
811 </table></div>
812 </div>
813 <hr>
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>
818 <p>
819 Gets a list of signatures if the encrypted stream had also been signed.
820 </p>
821 <div class="variablelist"><table border="0">
822 <col align="left" valign="top">
823 <tbody>
824 <tr>
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>
827 </td>
828 </tr>
829 <tr>
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>
832 </tr>
833 </tbody>
834 </table></div>
835 </div>
836 <hr>
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>
842 <p>
843 Sets the list of signatures.
844 </p>
845 <div class="variablelist"><table border="0">
846 <col align="left" valign="top">
847 <tbody>
848 <tr>
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>
851 </td>
852 </tr>
853 <tr>
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>
856 </td>
857 </tr>
858 </tbody>
859 </table></div>
860 </div>
861 <hr>
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>
865 <p>
866 Get the cipher algorithm used.
867 </p>
868 <div class="variablelist"><table border="0">
869 <col align="left" valign="top">
870 <tbody>
871 <tr>
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>
874 </td>
875 </tr>
876 <tr>
877 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
878 <td>the cipher algorithm used.</td>
879 </tr>
880 </tbody>
881 </table></div>
882 </div>
883 <hr>
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>
888 <p>
889 Set the cipher algorithm used.
890 </p>
891 <div class="variablelist"><table border="0">
892 <col align="left" valign="top">
893 <tbody>
894 <tr>
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>
897 </td>
898 </tr>
899 <tr>
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>
902 </td>
903 </tr>
904 </tbody>
905 </table></div>
906 </div>
907 <hr>
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>
911 <p>
912 Get the mdc digest algorithm used.
913 </p>
914 <div class="variablelist"><table border="0">
915 <col align="left" valign="top">
916 <tbody>
917 <tr>
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>
920 </td>
921 </tr>
922 <tr>
923 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
924 <td>the mdc digest algorithm used.</td>
925 </tr>
926 </tbody>
927 </table></div>
928 </div>
929 <hr>
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>
934 <p>
935 Set the mdc digest algorithm used.
936 </p>
937 <div class="variablelist"><table border="0">
938 <col align="left" valign="top">
939 <tbody>
940 <tr>
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>
943 </td>
944 </tr>
945 <tr>
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>
948 </td>
949 </tr>
950 </tbody>
951 </table></div>
952 </div>
953 </div>
954 </div>
955 <div class="footer">
956 <hr>
957           Generated by GTK-Doc V1.18</div>
958 </body>
959 </html>