Tizen 2.0 Release
[external/libgnutls26.git] / doc / reference / html / gnutls-pkcs12.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>pkcs12</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GnuTLS API Reference Manual">
8 <link rel="up" href="intro.html" title="GnuTLS API Reference Manual">
9 <link rel="prev" href="gnutls-pkcs11.html" title="pkcs11">
10 <link rel="next" href="gnutls-openpgp.html" title="openpgp">
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="gnutls-pkcs11.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="intro.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">GnuTLS API Reference Manual</th>
21 <td><a accesskey="n" href="gnutls-openpgp.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="#gnutls-pkcs12.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gnutls-pkcs12.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gnutls-pkcs12"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gnutls-pkcs12.top_of_page"></a>pkcs12</span></h2>
34 <p>pkcs12</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="gnutls-pkcs12.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">struct              <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-int" title="struct gnutls_pkcs12_int">gnutls_pkcs12_int</a>;
41 typedef             <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t">gnutls_pkcs12_t</a>;
42 struct              <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-int" title="struct gnutls_pkcs12_bag_int">gnutls_pkcs12_bag_int</a>;
43 typedef             <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t">gnutls_pkcs12_bag_t</a>;
44 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-init" title="gnutls_pkcs12_init ()">gnutls_pkcs12_init</a>                  (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> *pkcs12</code></em>);
45 <span class="returnvalue">void</span>                <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-deinit" title="gnutls_pkcs12_deinit ()">gnutls_pkcs12_deinit</a>                (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>);
46 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-import" title="gnutls_pkcs12_import ()">gnutls_pkcs12_import</a>                (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
47                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
48                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
49                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> flags</code></em>);
50 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-export" title="gnutls_pkcs12_export ()">gnutls_pkcs12_export</a>                (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
51                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
52                                                          <em class="parameter"><code><span class="type">void</span> *output_data</code></em>,
53                                                          <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);
54 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-get-bag" title="gnutls_pkcs12_get_bag ()">gnutls_pkcs12_get_bag</a>               (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
55                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
56                                                          <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);
57 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-set-bag" title="gnutls_pkcs12_set_bag ()">gnutls_pkcs12_set_bag</a>               (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
58                                                          <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);
59 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-generate-mac" title="gnutls_pkcs12_generate_mac ()">gnutls_pkcs12_generate_mac</a>          (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
60                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);
61 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-verify-mac" title="gnutls_pkcs12_verify_mac ()">gnutls_pkcs12_verify_mac</a>            (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
62                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);
63 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-decrypt" title="gnutls_pkcs12_bag_decrypt ()">gnutls_pkcs12_bag_decrypt</a>           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
64                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);
65 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-encrypt" title="gnutls_pkcs12_bag_encrypt ()">gnutls_pkcs12_bag_encrypt</a>           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
66                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>,
67                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> flags</code></em>);
68 enum                <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t">gnutls_pkcs12_bag_type_t</a>;
69 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t"><span class="returnvalue">gnutls_pkcs12_bag_type_t</span></a> <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-type" title="gnutls_pkcs12_bag_get_type ()">gnutls_pkcs12_bag_get_type</a>     (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
70                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>);
71 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-data" title="gnutls_pkcs12_bag_get_data ()">gnutls_pkcs12_bag_get_data</a>          (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
72                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
73                                                          <em class="parameter"><code><span class="type">gnutls_datum_t</span> *data</code></em>);
74 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()">gnutls_pkcs12_bag_set_data</a>          (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
75                                                          <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t"><span class="type">gnutls_pkcs12_bag_type_t</span></a> type</code></em>,
76                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>);
77 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crl" title="gnutls_pkcs12_bag_set_crl ()">gnutls_pkcs12_bag_set_crl</a>           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
78                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);
79 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-crt" title="gnutls_pkcs12_bag_set_crt ()">gnutls_pkcs12_bag_set_crt</a>           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
80                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>);
81 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-init" title="gnutls_pkcs12_bag_init ()">gnutls_pkcs12_bag_init</a>              (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> *bag</code></em>);
82 <span class="returnvalue">void</span>                <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-deinit" title="gnutls_pkcs12_bag_deinit ()">gnutls_pkcs12_bag_deinit</a>            (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);
83 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-count" title="gnutls_pkcs12_bag_get_count ()">gnutls_pkcs12_bag_get_count</a>         (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);
84 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-key-id" title="gnutls_pkcs12_bag_get_key_id ()">gnutls_pkcs12_bag_get_key_id</a>        (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
85                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
86                                                          <em class="parameter"><code><span class="type">gnutls_datum_t</span> *id</code></em>);
87 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-key-id" title="gnutls_pkcs12_bag_set_key_id ()">gnutls_pkcs12_bag_set_key_id</a>        (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
88                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
89                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *id</code></em>);
90 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-get-friendly-name" title="gnutls_pkcs12_bag_get_friendly_name ()">gnutls_pkcs12_bag_get_friendly_name</a> (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
91                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
92                                                          <em class="parameter"><code><span class="type">char</span> **name</code></em>);
93 <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-friendly-name" title="gnutls_pkcs12_bag_set_friendly_name ()">gnutls_pkcs12_bag_set_friendly_name</a> (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
94                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
95                                                          <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
96 </pre>
97 </div>
98 <div class="refsect1">
99 <a name="gnutls-pkcs12.description"></a><h2>Description</h2>
100 <p>
101 </p>
102 </div>
103 <div class="refsect1">
104 <a name="gnutls-pkcs12.details"></a><h2>Details</h2>
105 <div class="refsect2">
106 <a name="gnutls-pkcs12-int"></a><h3>struct gnutls_pkcs12_int</h3>
107 <pre class="programlisting">struct gnutls_pkcs12_int;</pre>
108 <p>
109 </p>
110 </div>
111 <hr>
112 <div class="refsect2">
113 <a name="gnutls-pkcs12-t"></a><h3>gnutls_pkcs12_t</h3>
114 <pre class="programlisting">  typedef struct gnutls_pkcs12_int *gnutls_pkcs12_t;
115 </pre>
116 <p>
117 </p>
118 </div>
119 <hr>
120 <div class="refsect2">
121 <a name="gnutls-pkcs12-bag-int"></a><h3>struct gnutls_pkcs12_bag_int</h3>
122 <pre class="programlisting">struct gnutls_pkcs12_bag_int;</pre>
123 <p>
124 </p>
125 </div>
126 <hr>
127 <div class="refsect2">
128 <a name="gnutls-pkcs12-bag-t"></a><h3>gnutls_pkcs12_bag_t</h3>
129 <pre class="programlisting">  typedef struct gnutls_pkcs12_bag_int *gnutls_pkcs12_bag_t;
130 </pre>
131 <p>
132 </p>
133 </div>
134 <hr>
135 <div class="refsect2">
136 <a name="gnutls-pkcs12-init"></a><h3>gnutls_pkcs12_init ()</h3>
137 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_init                  (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> *pkcs12</code></em>);</pre>
138 <p>
139 This function will initialize a PKCS12 structure. PKCS12 structures
140 usually contain lists of X.509 Certificates and X.509 Certificate
141 revocation lists.
142 </p>
143 <div class="variablelist"><table border="0">
144 <col align="left" valign="top">
145 <tbody>
146 <tr>
147 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
148 <td>The structure to be initialized</td>
149 </tr>
150 <tr>
151 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
152 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
153 negative error value.</td>
154 </tr>
155 </tbody>
156 </table></div>
157 </div>
158 <hr>
159 <div class="refsect2">
160 <a name="gnutls-pkcs12-deinit"></a><h3>gnutls_pkcs12_deinit ()</h3>
161 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_pkcs12_deinit                (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>);</pre>
162 <p>
163 This function will deinitialize a PKCS12 structure.
164 </p>
165 <div class="variablelist"><table border="0">
166 <col align="left" valign="top">
167 <tbody><tr>
168 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
169 <td>The structure to be initialized</td>
170 </tr></tbody>
171 </table></div>
172 </div>
173 <hr>
174 <div class="refsect2">
175 <a name="gnutls-pkcs12-import"></a><h3>gnutls_pkcs12_import ()</h3>
176 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_import                (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
177                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
178                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
179                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> flags</code></em>);</pre>
180 <p>
181 This function will convert the given DER or PEM encoded PKCS12
182 to the native gnutls_pkcs12_t format. The output will be stored in 'pkcs12'.
183 </p>
184 <p>
185 If the PKCS12 is PEM encoded it should have a header of "PKCS12".
186 </p>
187 <div class="variablelist"><table border="0">
188 <col align="left" valign="top">
189 <tbody>
190 <tr>
191 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
192 <td>The structure to store the parsed PKCS12.</td>
193 </tr>
194 <tr>
195 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
196 <td>The DER or PEM encoded PKCS12.</td>
197 </tr>
198 <tr>
199 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
200 <td>One of DER or PEM</td>
201 </tr>
202 <tr>
203 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
204 <td>an ORed sequence of gnutls_privkey_pkcs8_flags</td>
205 </tr>
206 <tr>
207 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
208 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
209 negative error value.</td>
210 </tr>
211 </tbody>
212 </table></div>
213 </div>
214 <hr>
215 <div class="refsect2">
216 <a name="gnutls-pkcs12-export"></a><h3>gnutls_pkcs12_export ()</h3>
217 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_export                (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
218                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-fmt-t" title="enum gnutls_x509_crt_fmt_t"><span class="type">gnutls_x509_crt_fmt_t</span></a> format</code></em>,
219                                                          <em class="parameter"><code><span class="type">void</span> *output_data</code></em>,
220                                                          <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre>
221 <p>
222 This function will export the pkcs12 structure to DER or PEM format.
223 </p>
224 <p>
225 If the buffer provided is not long enough to hold the output, then
226 *output_data_size will be updated and GNUTLS_E_SHORT_MEMORY_BUFFER
227 will be returned.
228 </p>
229 <p>
230 If the structure is PEM encoded, it will have a header
231 of "BEGIN PKCS12".
232 </p>
233 <div class="variablelist"><table border="0">
234 <col align="left" valign="top">
235 <tbody>
236 <tr>
237 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
238 <td>Holds the pkcs12 structure</td>
239 </tr>
240 <tr>
241 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
242 <td>the format of output params. One of PEM or DER.</td>
243 </tr>
244 <tr>
245 <td><p><span class="term"><em class="parameter"><code>output_data</code></em> :</span></p></td>
246 <td>will contain a structure PEM or DER encoded</td>
247 </tr>
248 <tr>
249 <td><p><span class="term"><em class="parameter"><code>output_data_size</code></em> :</span></p></td>
250 <td>holds the size of output_data (and will be
251 replaced by the actual size of parameters)</td>
252 </tr>
253 <tr>
254 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
255 <td>In case of failure a negative value will be
256 returned, and 0 on success.</td>
257 </tr>
258 </tbody>
259 </table></div>
260 </div>
261 <hr>
262 <div class="refsect2">
263 <a name="gnutls-pkcs12-get-bag"></a><h3>gnutls_pkcs12_get_bag ()</h3>
264 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_get_bag               (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
265                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
266                                                          <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre>
267 <p>
268 This function will return a Bag from the PKCS12 structure.
269 </p>
270 <p>
271 After the last Bag has been read
272 <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned.
273 </p>
274 <div class="variablelist"><table border="0">
275 <col align="left" valign="top">
276 <tbody>
277 <tr>
278 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
279 <td>should contain a gnutls_pkcs12_t structure</td>
280 </tr>
281 <tr>
282 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
283 <td>contains the index of the bag to extract</td>
284 </tr>
285 <tr>
286 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
287 <td>An initialized bag, where the contents of the bag will be copied</td>
288 </tr>
289 <tr>
290 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
291 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
292 negative error value.</td>
293 </tr>
294 </tbody>
295 </table></div>
296 </div>
297 <hr>
298 <div class="refsect2">
299 <a name="gnutls-pkcs12-set-bag"></a><h3>gnutls_pkcs12_set_bag ()</h3>
300 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_set_bag               (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
301                                                          <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre>
302 <p>
303 This function will insert a Bag into the PKCS12 structure.
304 </p>
305 <div class="variablelist"><table border="0">
306 <col align="left" valign="top">
307 <tbody>
308 <tr>
309 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
310 <td>should contain a gnutls_pkcs12_t structure</td>
311 </tr>
312 <tr>
313 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
314 <td>An initialized bag</td>
315 </tr>
316 <tr>
317 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
318 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
319 negative error value.</td>
320 </tr>
321 </tbody>
322 </table></div>
323 </div>
324 <hr>
325 <div class="refsect2">
326 <a name="gnutls-pkcs12-generate-mac"></a><h3>gnutls_pkcs12_generate_mac ()</h3>
327 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_generate_mac          (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
328                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre>
329 <p>
330 This function will generate a MAC for the PKCS12 structure.
331 </p>
332 <div class="variablelist"><table border="0">
333 <col align="left" valign="top">
334 <tbody>
335 <tr>
336 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
337 <td>should contain a gnutls_pkcs12_t structure</td>
338 </tr>
339 <tr>
340 <td><p><span class="term"><em class="parameter"><code>pass</code></em> :</span></p></td>
341 <td>The password for the MAC</td>
342 </tr>
343 <tr>
344 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
345 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
346 negative error value.</td>
347 </tr>
348 </tbody>
349 </table></div>
350 </div>
351 <hr>
352 <div class="refsect2">
353 <a name="gnutls-pkcs12-verify-mac"></a><h3>gnutls_pkcs12_verify_mac ()</h3>
354 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_verify_mac            (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-t" title="gnutls_pkcs12_t"><span class="type">gnutls_pkcs12_t</span></a> pkcs12</code></em>,
355                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre>
356 <p>
357 This function will verify the MAC for the PKCS12 structure.
358 </p>
359 <div class="variablelist"><table border="0">
360 <col align="left" valign="top">
361 <tbody>
362 <tr>
363 <td><p><span class="term"><em class="parameter"><code>pkcs12</code></em> :</span></p></td>
364 <td>should contain a gnutls_pkcs12_t structure</td>
365 </tr>
366 <tr>
367 <td><p><span class="term"><em class="parameter"><code>pass</code></em> :</span></p></td>
368 <td>The password for the MAC</td>
369 </tr>
370 <tr>
371 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
372 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
373 negative error value.</td>
374 </tr>
375 </tbody>
376 </table></div>
377 </div>
378 <hr>
379 <div class="refsect2">
380 <a name="gnutls-pkcs12-bag-decrypt"></a><h3>gnutls_pkcs12_bag_decrypt ()</h3>
381 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_decrypt           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
382                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>);</pre>
383 <p>
384 This function will decrypt the given encrypted bag and return 0 on
385 success.
386 </p>
387 <div class="variablelist"><table border="0">
388 <col align="left" valign="top">
389 <tbody>
390 <tr>
391 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
392 <td>The bag</td>
393 </tr>
394 <tr>
395 <td><p><span class="term"><em class="parameter"><code>pass</code></em> :</span></p></td>
396 <td>The password used for encryption, must be ASCII.</td>
397 </tr>
398 <tr>
399 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
400 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned,
401 otherwise an error code is returned.</td>
402 </tr>
403 </tbody>
404 </table></div>
405 </div>
406 <hr>
407 <div class="refsect2">
408 <a name="gnutls-pkcs12-bag-encrypt"></a><h3>gnutls_pkcs12_bag_encrypt ()</h3>
409 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_encrypt           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
410                                                          <em class="parameter"><code>const <span class="type">char</span> *pass</code></em>,
411                                                          <em class="parameter"><code>unsigned <a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> flags</code></em>);</pre>
412 <p>
413 This function will encrypt the given bag.
414 </p>
415 <div class="variablelist"><table border="0">
416 <col align="left" valign="top">
417 <tbody>
418 <tr>
419 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
420 <td>The bag</td>
421 </tr>
422 <tr>
423 <td><p><span class="term"><em class="parameter"><code>pass</code></em> :</span></p></td>
424 <td>The password used for encryption, must be ASCII</td>
425 </tr>
426 <tr>
427 <td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
428 <td>should be one of <a class="link" href="gnutls-x509.html#gnutls-pkcs-encrypt-flags-t" title="enum gnutls_pkcs_encrypt_flags_t"><span class="type">gnutls_pkcs_encrypt_flags_t</span></a> elements bitwise or'd</td>
429 </tr>
430 <tr>
431 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
432 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned,
433 otherwise an error code is returned.</td>
434 </tr>
435 </tbody>
436 </table></div>
437 </div>
438 <hr>
439 <div class="refsect2">
440 <a name="gnutls-pkcs12-bag-type-t"></a><h3>enum gnutls_pkcs12_bag_type_t</h3>
441 <pre class="programlisting">typedef enum {
442     GNUTLS_BAG_EMPTY = 0,
443     GNUTLS_BAG_PKCS8_ENCRYPTED_KEY = 1,
444     GNUTLS_BAG_PKCS8_KEY = 2,
445     GNUTLS_BAG_CERTIFICATE = 3,
446     GNUTLS_BAG_CRL = 4,
447     GNUTLS_BAG_SECRET = 5,      /* Secret data. Underspecified in pkcs-12,
448                                  * gnutls extension. We use the PKCS-9
449                                  * random nonce ID 1.2.840.113549.1.9.25.3
450                                  * to store randomly generated keys.
451                                  */
452     GNUTLS_BAG_ENCRYPTED = 10,
453     GNUTLS_BAG_UNKNOWN = 20
454 } gnutls_pkcs12_bag_type_t;
455 </pre>
456 <p>
457 Enumeration of different PKCS 12 bag types.
458 </p>
459 <div class="variablelist"><table border="0">
460 <col align="left" valign="top">
461 <tbody>
462 <tr>
463 <td><p><a name="GNUTLS-BAG-EMPTY:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_EMPTY</code></span></p></td>
464 <td>Empty PKCS-12 bag.
465 </td>
466 </tr>
467 <tr>
468 <td><p><a name="GNUTLS-BAG-PKCS8-ENCRYPTED-KEY:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_PKCS8_ENCRYPTED_KEY</code></span></p></td>
469 <td>PKCS-12 bag with PKCS-8 encrypted key.
470 </td>
471 </tr>
472 <tr>
473 <td><p><a name="GNUTLS-BAG-PKCS8-KEY:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_PKCS8_KEY</code></span></p></td>
474 <td>PKCS-12 bag with PKCS-8 key.
475 </td>
476 </tr>
477 <tr>
478 <td><p><a name="GNUTLS-BAG-CERTIFICATE:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_CERTIFICATE</code></span></p></td>
479 <td>PKCS-12 bag with certificate.
480 </td>
481 </tr>
482 <tr>
483 <td><p><a name="GNUTLS-BAG-CRL:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_CRL</code></span></p></td>
484 <td>PKCS-12 bag with CRL.
485 </td>
486 </tr>
487 <tr>
488 <td><p><a name="GNUTLS-BAG-SECRET:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_SECRET</code></span></p></td>
489 <td>PKCS-12 bag with secret PKCS-9 keys.
490 </td>
491 </tr>
492 <tr>
493 <td><p><a name="GNUTLS-BAG-ENCRYPTED:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_ENCRYPTED</code></span></p></td>
494 <td>Encrypted PKCS-12 bag.
495 </td>
496 </tr>
497 <tr>
498 <td><p><a name="GNUTLS-BAG-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GNUTLS_BAG_UNKNOWN</code></span></p></td>
499 <td>Unknown PKCS-12 bag.
500 </td>
501 </tr>
502 </tbody>
503 </table></div>
504 </div>
505 <hr>
506 <div class="refsect2">
507 <a name="gnutls-pkcs12-bag-get-type"></a><h3>gnutls_pkcs12_bag_get_type ()</h3>
508 <pre class="programlisting"><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t"><span class="returnvalue">gnutls_pkcs12_bag_type_t</span></a> gnutls_pkcs12_bag_get_type     (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
509                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>);</pre>
510 <p>
511 This function will return the bag's type.
512 </p>
513 <div class="variablelist"><table border="0">
514 <col align="left" valign="top">
515 <tbody>
516 <tr>
517 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
518 <td>The bag</td>
519 </tr>
520 <tr>
521 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
522 <td>The element of the bag to get the type</td>
523 </tr>
524 <tr>
525 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
526 <td>One of the <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t"><span class="type">gnutls_pkcs12_bag_type_t</span></a> enumerations.</td>
527 </tr>
528 </tbody>
529 </table></div>
530 </div>
531 <hr>
532 <div class="refsect2">
533 <a name="gnutls-pkcs12-bag-get-data"></a><h3>gnutls_pkcs12_bag_get_data ()</h3>
534 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_get_data          (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
535                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
536                                                          <em class="parameter"><code><span class="type">gnutls_datum_t</span> *data</code></em>);</pre>
537 <p>
538 This function will return the bag's data. The data is a constant
539 that is stored into the bag.  Should not be accessed after the bag
540 is deleted.
541 </p>
542 <div class="variablelist"><table border="0">
543 <col align="left" valign="top">
544 <tbody>
545 <tr>
546 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
547 <td>The bag</td>
548 </tr>
549 <tr>
550 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
551 <td>The element of the bag to get the data from</td>
552 </tr>
553 <tr>
554 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
555 <td>where the bag's data will be. Should be treated as constant.</td>
556 </tr>
557 <tr>
558 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
559 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
560 negative error value.</td>
561 </tr>
562 </tbody>
563 </table></div>
564 </div>
565 <hr>
566 <div class="refsect2">
567 <a name="gnutls-pkcs12-bag-set-data"></a><h3>gnutls_pkcs12_bag_set_data ()</h3>
568 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_set_data          (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
569                                                          <em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-type-t" title="enum gnutls_pkcs12_bag_type_t"><span class="type">gnutls_pkcs12_bag_type_t</span></a> type</code></em>,
570                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>);</pre>
571 <p>
572 This function will insert the given data of the given type into
573 the bag.
574 </p>
575 <div class="variablelist"><table border="0">
576 <col align="left" valign="top">
577 <tbody>
578 <tr>
579 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
580 <td>The bag</td>
581 </tr>
582 <tr>
583 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
584 <td>The data's type</td>
585 </tr>
586 <tr>
587 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
588 <td>the data to be copied.</td>
589 </tr>
590 <tr>
591 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
592 <td>the index of the added bag on success, or a negative
593 value on error.</td>
594 </tr>
595 </tbody>
596 </table></div>
597 </div>
598 <hr>
599 <div class="refsect2">
600 <a name="gnutls-pkcs12-bag-set-crl"></a><h3>gnutls_pkcs12_bag_set_crl ()</h3>
601 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_set_crl           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
602                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crl-t" title="gnutls_x509_crl_t"><span class="type">gnutls_x509_crl_t</span></a> crl</code></em>);</pre>
603 <p>
604 This function will insert the given CRL into the
605 bag. This is just a wrapper over <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()"><code class="function">gnutls_pkcs12_bag_set_data()</code></a>.
606 </p>
607 <div class="variablelist"><table border="0">
608 <col align="left" valign="top">
609 <tbody>
610 <tr>
611 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
612 <td>The bag</td>
613 </tr>
614 <tr>
615 <td><p><span class="term"><em class="parameter"><code>crl</code></em> :</span></p></td>
616 <td>the CRL to be copied.</td>
617 </tr>
618 <tr>
619 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
620 <td>the index of the added bag on success, or a negative value
621 on failure.</td>
622 </tr>
623 </tbody>
624 </table></div>
625 </div>
626 <hr>
627 <div class="refsect2">
628 <a name="gnutls-pkcs12-bag-set-crt"></a><h3>gnutls_pkcs12_bag_set_crt ()</h3>
629 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_set_crt           (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
630                                                          <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-x509-crt-t" title="gnutls_x509_crt_t"><span class="type">gnutls_x509_crt_t</span></a> crt</code></em>);</pre>
631 <p>
632 This function will insert the given certificate into the
633 bag. This is just a wrapper over <a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-set-data" title="gnutls_pkcs12_bag_set_data ()"><code class="function">gnutls_pkcs12_bag_set_data()</code></a>.
634 </p>
635 <div class="variablelist"><table border="0">
636 <col align="left" valign="top">
637 <tbody>
638 <tr>
639 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
640 <td>The bag</td>
641 </tr>
642 <tr>
643 <td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
644 <td>the certificate to be copied.</td>
645 </tr>
646 <tr>
647 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
648 <td>the index of the added bag on success, or a negative
649 value on failure.</td>
650 </tr>
651 </tbody>
652 </table></div>
653 </div>
654 <hr>
655 <div class="refsect2">
656 <a name="gnutls-pkcs12-bag-init"></a><h3>gnutls_pkcs12_bag_init ()</h3>
657 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_init              (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> *bag</code></em>);</pre>
658 <p>
659 This function will initialize a PKCS12 bag structure. PKCS12 Bags
660 usually contain private keys, lists of X.509 Certificates and X.509
661 Certificate revocation lists.
662 </p>
663 <div class="variablelist"><table border="0">
664 <col align="left" valign="top">
665 <tbody>
666 <tr>
667 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
668 <td>The structure to be initialized</td>
669 </tr>
670 <tr>
671 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
672 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
673 negative error value.</td>
674 </tr>
675 </tbody>
676 </table></div>
677 </div>
678 <hr>
679 <div class="refsect2">
680 <a name="gnutls-pkcs12-bag-deinit"></a><h3>gnutls_pkcs12_bag_deinit ()</h3>
681 <pre class="programlisting"><span class="returnvalue">void</span>                gnutls_pkcs12_bag_deinit            (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre>
682 <p>
683 This function will deinitialize a PKCS12 Bag structure.
684 </p>
685 <div class="variablelist"><table border="0">
686 <col align="left" valign="top">
687 <tbody><tr>
688 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
689 <td>The structure to be initialized</td>
690 </tr></tbody>
691 </table></div>
692 </div>
693 <hr>
694 <div class="refsect2">
695 <a name="gnutls-pkcs12-bag-get-count"></a><h3>gnutls_pkcs12_bag_get_count ()</h3>
696 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_get_count         (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>);</pre>
697 <p>
698 This function will return the number of the elements withing the bag.
699 </p>
700 <div class="variablelist"><table border="0">
701 <col align="left" valign="top">
702 <tbody>
703 <tr>
704 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
705 <td>The bag</td>
706 </tr>
707 <tr>
708 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
709 <td>Number of elements in bag, or an negative error code on
710 error.</td>
711 </tr>
712 </tbody>
713 </table></div>
714 </div>
715 <hr>
716 <div class="refsect2">
717 <a name="gnutls-pkcs12-bag-get-key-id"></a><h3>gnutls_pkcs12_bag_get_key_id ()</h3>
718 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_get_key_id        (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
719                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
720                                                          <em class="parameter"><code><span class="type">gnutls_datum_t</span> *id</code></em>);</pre>
721 <p>
722 This function will return the key ID, of the specified bag element.
723 The key ID is usually used to distinguish the local private key and
724 the certificate pair.
725 </p>
726 <div class="variablelist"><table border="0">
727 <col align="left" valign="top">
728 <tbody>
729 <tr>
730 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
731 <td>The bag</td>
732 </tr>
733 <tr>
734 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
735 <td>The bag's element to add the id</td>
736 </tr>
737 <tr>
738 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
739 <td>where the ID will be copied (to be treated as const)</td>
740 </tr>
741 <tr>
742 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
743 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
744 negative error value. or a negative value on error.</td>
745 </tr>
746 </tbody>
747 </table></div>
748 </div>
749 <hr>
750 <div class="refsect2">
751 <a name="gnutls-pkcs12-bag-set-key-id"></a><h3>gnutls_pkcs12_bag_set_key_id ()</h3>
752 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_set_key_id        (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
753                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
754                                                          <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *id</code></em>);</pre>
755 <p>
756 This function will add the given key ID, to the specified, by the
757 index, bag element. The key ID will be encoded as a 'Local key
758 identifier' bag attribute, which is usually used to distinguish
759 the local private key and the certificate pair.
760 </p>
761 <div class="variablelist"><table border="0">
762 <col align="left" valign="top">
763 <tbody>
764 <tr>
765 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
766 <td>The bag</td>
767 </tr>
768 <tr>
769 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
770 <td>The bag's element to add the id</td>
771 </tr>
772 <tr>
773 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
774 <td>the ID</td>
775 </tr>
776 <tr>
777 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
778 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
779 negative error value. or a negative value on error.</td>
780 </tr>
781 </tbody>
782 </table></div>
783 </div>
784 <hr>
785 <div class="refsect2">
786 <a name="gnutls-pkcs12-bag-get-friendly-name"></a><h3>gnutls_pkcs12_bag_get_friendly_name ()</h3>
787 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_get_friendly_name (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
788                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
789                                                          <em class="parameter"><code><span class="type">char</span> **name</code></em>);</pre>
790 <p>
791 This function will return the friendly name, of the specified bag
792 element.  The key ID is usually used to distinguish the local
793 private key and the certificate pair.
794 </p>
795 <div class="variablelist"><table border="0">
796 <col align="left" valign="top">
797 <tbody>
798 <tr>
799 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
800 <td>The bag</td>
801 </tr>
802 <tr>
803 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
804 <td>The bag's element to add the id</td>
805 </tr>
806 <tr>
807 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
808 <td>will hold a pointer to the name (to be treated as const)</td>
809 </tr>
810 <tr>
811 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
812 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
813 negative error value. or a negative value on error.</td>
814 </tr>
815 </tbody>
816 </table></div>
817 </div>
818 <hr>
819 <div class="refsect2">
820 <a name="gnutls-pkcs12-bag-set-friendly-name"></a><h3>gnutls_pkcs12_bag_set_friendly_name ()</h3>
821 <pre class="programlisting"><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="returnvalue">int</span></a>                 gnutls_pkcs12_bag_set_friendly_name (<em class="parameter"><code><a class="link" href="gnutls-pkcs12.html#gnutls-pkcs12-bag-t" title="gnutls_pkcs12_bag_t"><span class="type">gnutls_pkcs12_bag_t</span></a> bag</code></em>,
822                                                          <em class="parameter"><code><a class="link" href="gnutls-crypto.html#int" title="int ()"><span class="type">int</span></a> indx</code></em>,
823                                                          <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
824 <p>
825 This function will add the given key friendly name, to the
826 specified, by the index, bag element. The name will be encoded as
827 a 'Friendly name' bag attribute, which is usually used to set a
828 user name to the local private key and the certificate pair.
829 </p>
830 <div class="variablelist"><table border="0">
831 <col align="left" valign="top">
832 <tbody>
833 <tr>
834 <td><p><span class="term"><em class="parameter"><code>bag</code></em> :</span></p></td>
835 <td>The bag</td>
836 </tr>
837 <tr>
838 <td><p><span class="term"><em class="parameter"><code>indx</code></em> :</span></p></td>
839 <td>The bag's element to add the id</td>
840 </tr>
841 <tr>
842 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
843 <td>the name</td>
844 </tr>
845 <tr>
846 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
847 <td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> is returned, otherwise a
848 negative error value. or a negative value on error.</td>
849 </tr>
850 </tbody>
851 </table></div>
852 </div>
853 </div>
854 </div>
855 <div class="footer">
856 <hr>
857           Generated by GTK-Doc V1.18</div>
858 </body>
859 </html>