93
93
<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-mode-t" title="enum camel_cipher_validity_mode_t"><span class="type">camel_cipher_validity_mode_t</span></a> mode</code></em>,
94
94
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
95
95
<em class="parameter"><code>const <span class="type">gchar</span> *email</code></em>);
96
<span class="returnvalue">void</span> <a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-add-certinfo-ex" title="camel_cipher_validity_add_certinfo_ex ()">camel_cipher_validity_add_certinfo_ex</a>
97
(<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *vin</code></em>,
98
<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-mode-t" title="enum camel_cipher_validity_mode_t"><span class="type">camel_cipher_validity_mode_t</span></a> mode</code></em>,
99
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
100
<em class="parameter"><code>const <span class="type">gchar</span> *email</code></em>,
101
<em class="parameter"><code><span class="type">gpointer</span> cert_data</code></em>,
102
<em class="parameter"><code><span class="type">void</span> (cert_data_freegpointer cert_data) ()</code></em>,
103
<em class="parameter"><code><span class="type">gpointer</span> (cert_data_clonegpointer cert_data) ()</code></em>);
96
104
<span class="returnvalue">void</span> <a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-envelope" title="camel_cipher_validity_envelope ()">camel_cipher_validity_envelope</a> (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *parent</code></em>,
97
105
<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *valid</code></em>);
98
106
<span class="returnvalue">void</span> <a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-free" title="camel_cipher_validity_free ()">camel_cipher_validity_free</a> (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *validity</code></em>);
101
109
<em class="parameter"><code><a class="link" href="camel-CamelStream.html#CamelStream" title="struct CamelStream"><span class="type">CamelStream</span></a> *ostream</code></em>);
104
<div class="refsect1" lang="en">
112
<div class="refsect1" title="Description">
105
113
<a name="camel-CamelCipherContext.description"></a><h2>Description</h2>
109
<div class="refsect1" lang="en">
117
<div class="refsect1" title="Details">
110
118
<a name="camel-CamelCipherContext.details"></a><h2>Details</h2>
111
<div class="refsect2" lang="en">
119
<div class="refsect2" title="CamelCipherContext">
112
120
<a name="CamelCipherContext"></a><h3>CamelCipherContext</h3>
113
121
<pre class="programlisting">typedef struct {
114
122
CamelObject parent_object;
159
167
gchar *name; /* common name */
170
gpointer cert_data; /* custom certificate data; can be NULL */
171
void (*cert_data_free) (gpointer cert_data); /* called to free cert_data; can be NULL only if cert_data is NULL */
172
gpointer (*cert_data_clone) (gpointer cert_data); /* called to clone cert_data; can be NULL only if cert_data is NULL */
161
173
} CamelCipherCertInfo;
167
<div class="refsect2" lang="en">
179
<div class="refsect2" title="enum CamelCipherHash">
168
180
<a name="CamelCipherHash"></a><h3>enum CamelCipherHash</h3>
169
181
<pre class="programlisting">typedef enum {
170
182
CAMEL_CIPHER_HASH_DEFAULT,
221
<div class="refsect2" lang="en">
233
<div class="refsect2" title="camel_cipher_context_new ()">
222
234
<a name="camel-cipher-context-new"></a><h3>camel_cipher_context_new ()</h3>
223
235
<pre class="programlisting"><a class="link" href="camel-CamelCipherContext.html#CamelCipherContext" title="CamelCipherContext"><span class="returnvalue">CamelCipherContext</span></a> * camel_cipher_context_new (<em class="parameter"><code><a class="link" href="camel-CamelSession.html#CamelSession" title="struct CamelSession"><span class="type">CamelSession</span></a> *session</code></em>);</pre>
225
237
This creates a new CamelCipherContext object which is used to sign,
226
verify, encrypt and decrypt streams.</p>
238
verify, encrypt and decrypt streams.
227
240
<div class="variablelist"><table border="0">
228
241
<col align="left" valign="top">
244
<div class="refsect2" lang="en">
257
<div class="refsect2" title="camel_cipher_context_construct ()">
245
258
<a name="camel-cipher-context-construct"></a><h3>camel_cipher_context_construct ()</h3>
246
259
<pre class="programlisting"><span class="returnvalue">void</span> camel_cipher_context_construct (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherContext" title="CamelCipherContext"><span class="type">CamelCipherContext</span></a> *context</code></em>,
247
260
<em class="parameter"><code><a class="link" href="camel-CamelSession.html#CamelSession" title="struct CamelSession"><span class="type">CamelSession</span></a> *session</code></em>);</pre>
249
Constucts the CamelCipherContext</p>
262
Constucts the CamelCipherContext
250
264
<div class="variablelist"><table border="0">
251
265
<col align="left" valign="top">
330
344
<em class="parameter"><code><a class="link" href="camel-camel-exception.html#CamelException" title="struct CamelException"><span class="type">CamelException</span></a> *ex</code></em>);</pre>
332
346
Converts the (unsigned) part <em class="parameter"><code>ipart</code></em> into a new self-contained mime part <em class="parameter"><code>opart</code></em>.
333
This may be a multipart/signed part, or a simple part for enveloped types.</p>
347
This may be a multipart/signed part, or a simple part for enveloped types.
334
349
<div class="variablelist"><table border="0">
335
350
<col align="left" valign="top">
382
397
Verifies the signature. If <em class="parameter"><code>istream</code></em> is a clearsigned stream,
383
398
you should pass <code class="literal">NULL</code> as the sigstream parameter. Otherwise
384
399
<em class="parameter"><code>sigstream</code></em> is assumed to be the signature stream and is used to
385
verify the integirity of the <em class="parameter"><code>istream</code></em>.</p>
400
verify the integirity of the <em class="parameter"><code>istream</code></em>.
386
402
<div class="variablelist"><table border="0">
387
403
<col align="left" valign="top">
468
<div class="refsect2" lang="en">
485
<div class="refsect2" title="camel_cipher_decrypt ()">
469
486
<a name="camel-cipher-decrypt"></a><h3>camel_cipher_decrypt ()</h3>
470
487
<pre class="programlisting"><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="returnvalue">CamelCipherValidity</span></a> * camel_cipher_decrypt (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherContext" title="CamelCipherContext"><span class="type">CamelCipherContext</span></a> *context</code></em>,
471
488
<em class="parameter"><code><span class="type">struct _CamelMimePart</span> *ipart</code></em>,
472
489
<em class="parameter"><code><span class="type">struct _CamelMimePart</span> *opart</code></em>,
473
490
<em class="parameter"><code><a class="link" href="camel-camel-exception.html#CamelException" title="struct CamelException"><span class="type">CamelException</span></a> *ex</code></em>);</pre>
475
Decrypts <em class="parameter"><code>ipart</code></em> into <em class="parameter"><code>opart</code></em>.</p>
492
Decrypts <em class="parameter"><code>ipart</code></em> into <em class="parameter"><code>opart</code></em>.
476
494
<div class="variablelist"><table border="0">
477
495
<col align="left" valign="top">
486
<div class="refsect2" lang="en">
504
<div class="refsect2" title="camel_cipher_import_keys ()">
487
505
<a name="camel-cipher-import-keys"></a><h3>camel_cipher_import_keys ()</h3>
488
506
<pre class="programlisting"><span class="returnvalue">gint</span> camel_cipher_import_keys (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherContext" title="CamelCipherContext"><span class="type">CamelCipherContext</span></a> *context</code></em>,
489
507
<em class="parameter"><code><span class="type">struct _CamelStream</span> *istream</code></em>,
490
508
<em class="parameter"><code><a class="link" href="camel-camel-exception.html#CamelException" title="struct CamelException"><span class="type">CamelException</span></a> *ex</code></em>);</pre>
492
510
Imports a stream of keys/certificates contained within <em class="parameter"><code>istream</code></em>
493
into the key/certificate database controlled by <em class="parameter"><code>ctx</code></em>.</p>
511
into the key/certificate database controlled by <em class="parameter"><code>ctx</code></em>.
494
513
<div class="variablelist"><table border="0">
495
514
<col align="left" valign="top">
721
<div class="refsect2" lang="en">
741
<div class="refsect2" title="camel_cipher_validity_add_certinfo ()">
722
742
<a name="camel-cipher-validity-add-certinfo"></a><h3>camel_cipher_validity_add_certinfo ()</h3>
723
743
<pre class="programlisting"><span class="returnvalue">void</span> camel_cipher_validity_add_certinfo (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *vin</code></em>,
724
744
<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-mode-t" title="enum camel_cipher_validity_mode_t"><span class="type">camel_cipher_validity_mode_t</span></a> mode</code></em>,
725
745
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
726
746
<em class="parameter"><code>const <span class="type">gchar</span> *email</code></em>);</pre>
728
Add a cert info to the signer or encrypter info.</p>
731
<div class="refsect2" lang="en">
748
Add a cert info to the signer or encrypter info.
752
<div class="refsect2" title="camel_cipher_validity_add_certinfo_ex ()">
753
<a name="camel-cipher-validity-add-certinfo-ex"></a><h3>camel_cipher_validity_add_certinfo_ex ()</h3>
754
<pre class="programlisting"><span class="returnvalue">void</span> camel_cipher_validity_add_certinfo_ex
755
(<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *vin</code></em>,
756
<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#camel-cipher-validity-mode-t" title="enum camel_cipher_validity_mode_t"><span class="type">camel_cipher_validity_mode_t</span></a> mode</code></em>,
757
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
758
<em class="parameter"><code>const <span class="type">gchar</span> *email</code></em>,
759
<em class="parameter"><code><span class="type">gpointer</span> cert_data</code></em>,
760
<em class="parameter"><code><span class="type">void</span> (cert_data_freegpointer cert_data) ()</code></em>,
761
<em class="parameter"><code><span class="type">gpointer</span> (cert_data_clonegpointer cert_data) ()</code></em>);</pre>
763
Add a cert info to the signer or encrypter info, with extended data set.
765
<div class="variablelist"><table border="0">
766
<col align="left" valign="top">
769
<td><p><span class="term"><em class="parameter"><code>vin</code></em> :</span></p></td>
774
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
779
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
784
<td><p><span class="term"><em class="parameter"><code>email</code></em> :</span></p></td>
789
<td><p><span class="term"><em class="parameter"><code>cert_data</code></em> :</span></p></td>
791
<em class="parameter"><code>gpointer</code></em> cert_data:
792
<em class="parameter"><code>gpointer</code></em> cert_data:
797
<p class="since">Since 2.30</p>
800
<div class="refsect2" title="camel_cipher_validity_envelope ()">
732
801
<a name="camel-cipher-validity-envelope"></a><h3>camel_cipher_validity_envelope ()</h3>
733
802
<pre class="programlisting"><span class="returnvalue">void</span> camel_cipher_validity_envelope (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *parent</code></em>,
734
803
<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *valid</code></em>);</pre>
736
805
Calculate a conglomerate validity based on wrapping one secure part inside
740
<div class="refsect2" lang="en">
810
<div class="refsect2" title="camel_cipher_validity_free ()">
741
811
<a name="camel-cipher-validity-free"></a><h3>camel_cipher_validity_free ()</h3>
742
812
<pre class="programlisting"><span class="returnvalue">void</span> camel_cipher_validity_free (<em class="parameter"><code><a class="link" href="camel-CamelCipherContext.html#CamelCipherValidity" title="CamelCipherValidity"><span class="type">CamelCipherValidity</span></a> *validity</code></em>);</pre>