Git init
[external/xmlsec1.git] / docs / api / xmlsec-openssl-app.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4 <title>app</title>
5 <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
6 <link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
7 <link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
8 <link rel="PREVIOUS" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
9 <link rel="NEXT" title="bn" href="xmlsec-openssl-bn.html">
10 <style type="text/css">.synopsis, .classsynopsis {
11     background: #eeeeee;
12     border: solid 1px #aaaaaa;
13     padding: 0.5em;
14 }
15 .programlisting {
16     background: #eeeeff;
17     border: solid 1px #aaaaff;
18     padding: 0.5em;
19 }
20 .variablelist {
21     padding: 4px;
22     margin-left: 3em;
23 }
24 .navigation {
25     background: #ffeeee;
26     border: solid 1px #ffaaaa;
27     margin-top: 0.5em;
28     margin-bottom: 0.5em;
29 }
30 .navigation a {
31     color: #770000;
32 }
33 .navigation a:visited {
34     color: #550000;
35 }
36 .navigation .title {
37     font-size: 200%;
38 }</style>
39 </head>
40 <body><table witdh="100%" valign="top"><tr valign="top">
41 <td valign="top" align="left" width="210">
42 <img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
43 <ul>
44 <li><a href="../index.html">Home</a></li>
45 <li><a href="../download.html">Download</a></li>
46 <li><a href="../news.html">News</a></li>
47 <li><a href="../documentation.html">Documentation</a></li>
48 <ul>
49 <li><a href="../faq.html">FAQ</a></li>
50 <li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
51 <li><a href="../api/xmlsec-reference.html">API reference</a></li>
52 <li><a href="../api/xmlsec-examples.html">Examples</a></li>
53 </ul>
54 <li><a href="../xmldsig.html">XML Digital Signature</a></li>
55 <ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
56 <li><a href="../xmlenc.html">XML Encryption</a></li>
57 <li><a href="../c14n.html">XML Canonicalization</a></li>
58 <li><a href="../bugs.html">Reporting Bugs</a></li>
59 <li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
60 <li><a href="../related.html">Related</a></li>
61 <li><a href="../authors.html">Authors</a></li>
62 </ul>
63 <table width="100%">
64 <tr>
65 <td width="15"></td>
66 <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
67 </tr>
68 <tr>
69 <td width="15"></td>
70 <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
71 </tr>
72 <tr>
73 <td width="15"></td>
74 <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
75 </tr>
76 <!--Links - start--><!--Links - end-->
77 </table>
78 </td>
79 <td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
80 <table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
81 <td><a accesskey="p" href="xmlsec-openssl-ref.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
82 <td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
83 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
84 <th width="100%" align="center">XML Security Library Reference Manual</th>
85 <td><a accesskey="n" href="xmlsec-openssl-bn.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
86 </tr></table>
87 <h1>
88 <a name="XMLSEC-OPENSSL-APP"></a>app</h1>
89 <div class="REFNAMEDIV">
90 <a name="AEN21122"></a><h2>Name</h2>app -- Application functions implementation for OpenSSL.</div>
91 <div class="REFSYNOPSISDIV">
92 <a name="XMLSEC-OPENSSL-APP.SYNOPSIS"></a><h2>Synopsis</h2>
93 <pre class="SYNOPSIS"><font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPINIT">xmlSecOpenSSLAppInit</a>                (const <font>char</font> *config);
94 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPSHUTDOWN">xmlSecOpenSSLAppShutdown</a>            (void);
95 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT">xmlSecOpenSSLAppDefaultKeysMngrInit</a> (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr);
96 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a>
97                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
98                                                          <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
99 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD">xmlSecOpenSSLAppDefaultKeysMngrLoad</a> (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
100                                                          const <font>char</font> *uri);
101 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE">xmlSecOpenSSLAppDefaultKeysMngrSave</a> (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
102                                                          const <font>char</font> *filename,
103                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
104 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOAD">xmlSecOpenSSLAppKeysMngrCertLoad</a>    (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
105                                                          const <font>char</font> *filename,
106                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
107                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
108 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a>
109                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
110                                                          const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
111                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
112                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
113                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
114 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a> (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
115                                                          <font>BIO</font> *bio,
116                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
117                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
118 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH">xmlSecOpenSSLAppKeysMngrAddCertsPath</a>
119                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
120                                                          const <font>char</font> *path);
121 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE">xmlSecOpenSSLAppKeysMngrAddCertsFile</a>
122                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
123                                                          const <font>char</font> *file);
124 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOAD">xmlSecOpenSSLAppKeyLoad</a>             (const <font>char</font> *filename,
125                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
126                                                          const <font>char</font> *pwd,
127                                                          <font>void</font> *pwdCallback,
128                                                          <font>void</font> *pwdCallbackCtx);
129 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADMEMORY">xmlSecOpenSSLAppKeyLoadMemory</a>       (const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
130                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
131                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
132                                                          const <font>char</font> *pwd,
133                                                          <font>void</font> *pwdCallback,
134                                                          <font>void</font> *pwdCallbackCtx);
135 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADBIO">xmlSecOpenSSLAppKeyLoadBIO</a>          (<font>BIO</font> *bio,
136                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
137                                                          const <font>char</font> *pwd,
138                                                          <font>void</font> *pwdCallback,
139                                                          <font>void</font> *pwdCallbackCtx);
140 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a>          (const <font>char</font> *filename,
141                                                          const <font>char</font> *pwd,
142                                                          <font>void</font> *pwdCallback,
143                                                          <font>void</font> *pwdCallbackCtx);
144 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADMEMORY">xmlSecOpenSSLAppPkcs12LoadMemory</a>    (const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
145                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
146                                                          const <font>char</font> *pwd,
147                                                          <font>void</font> *pwdCallback,
148                                                          <font>void</font> *pwdCallbackCtx);
149 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADBIO">xmlSecOpenSSLAppPkcs12LoadBIO</a>       (<font>BIO</font> *bio,
150                                                          const <font>char</font> *pwd,
151                                                          <font>void</font> *pwdCallback,
152                                                          <font>void</font> *pwdCallbackCtx);
153 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a>         (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
154                                                          const <font>char</font> *filename,
155                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);
156 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADMEMORY">xmlSecOpenSSLAppKeyCertLoadMemory</a>   (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
157                                                          const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
158                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
159                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);
160 <font>int</font>                 <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADBIO">xmlSecOpenSSLAppKeyCertLoadBIO</a>      (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
161                                                          <font>BIO</font> *bio,
162                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);
163 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYFROMCERTLOADBIO">xmlSecOpenSSLAppKeyFromCertLoadBIO</a>  (<font>BIO</font> *bio,
164                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);
165 <font>void</font>*               <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK">xmlSecOpenSSLAppGetDefaultPwdCallback</a>
166                                                         (void);</pre>
167 </div>
168 <div class="REFSECT1">
169 <a name="XMLSEC-OPENSSL-APP.DESCRIPTION"></a><h2>Description</h2>
170 <p>Application functions implementation for OpenSSL.</p>
171 </div>
172 <div class="REFSECT1">
173 <a name="XMLSEC-OPENSSL-APP.DETAILS"></a><h2>Details</h2>
174 <div class="REFSECT2">
175 <a name="XMLSECOPENSSLAPPINIT"></a><h3>xmlSecOpenSSLAppInit ()</h3>
176 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppInit                (const <font>char</font> *config);</pre>
177 <p>General crypto engine initialization. This function is used
178 by XMLSec command line utility and called before 
179 <code class="PARAMETER">xmlSecInit</code> function.</p>
180 <p></p>
181 <p></p>
182 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
183 <tr>
184 <td align="LEFT" valign="TOP"><a name="AEN21255"><span style="white-space: nowrap"><code class="PARAMETER">config</code> :</span></a></td>
185 <td align="LEFT" valign="TOP"><p>               the path to certs.</p></td>
186 </tr>
187 <tr>
188 <td align="LEFT" valign="TOP"><a name="AEN21260"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
189 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
190 </tr>
191 </tbody></table>
192 </div>
193 <hr>
194 <div class="REFSECT2">
195 <a name="XMLSECOPENSSLAPPSHUTDOWN"></a><h3>xmlSecOpenSSLAppShutdown ()</h3>
196 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppShutdown            (void);</pre>
197 <p>General crypto engine shutdown. This function is used
198 by XMLSec command line utility and called after 
199 <code class="PARAMETER">xmlSecShutdown</code> function.</p>
200 <p></p>
201 <p></p>
202 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
203 <td align="LEFT" valign="TOP"><a name="AEN21275"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
204 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
205 </tr></tbody></table>
206 </div>
207 <hr>
208 <div class="REFSECT2">
209 <a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrInit ()</h3>
210 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppDefaultKeysMngrInit (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr);</pre>
211 <p>Initializes <code class="PARAMETER">mngr</code> with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a>
212 and a default OpenSSL crypto key data stores.</p>
213 <p></p>
214 <p></p>
215 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
216 <tr>
217 <td align="LEFT" valign="TOP"><a name="AEN21293"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
218 <td align="LEFT" valign="TOP"><p>               the pointer to keys manager.</p></td>
219 </tr>
220 <tr>
221 <td align="LEFT" valign="TOP"><a name="AEN21298"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
222 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
223 </tr>
224 </tbody></table>
225 </div>
226 <hr>
227 <div class="REFSECT2">
228 <a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()</h3>
229 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppDefaultKeysMngrAdoptKey
230                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
231                                                          <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
232 <p>Adds <code class="PARAMETER">key</code> to the keys manager <code class="PARAMETER">mngr</code> created with <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a>
233 function.</p>
234 <p></p>
235 <p></p>
236 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
237 <tr>
238 <td align="LEFT" valign="TOP"><a name="AEN21318"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
239 <td align="LEFT" valign="TOP"><p>               the pointer to keys manager.</p></td>
240 </tr>
241 <tr>
242 <td align="LEFT" valign="TOP"><a name="AEN21323"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
243 <td align="LEFT" valign="TOP"><p>               the pointer to key.</p></td>
244 </tr>
245 <tr>
246 <td align="LEFT" valign="TOP"><a name="AEN21328"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
247 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
248 </tr>
249 </tbody></table>
250 </div>
251 <hr>
252 <div class="REFSECT2">
253 <a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrLoad ()</h3>
254 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppDefaultKeysMngrLoad (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
255                                                          const <font>char</font> *uri);</pre>
256 <p>Loads XML keys file from <code class="PARAMETER">uri</code> to the keys manager <code class="PARAMETER">mngr</code> created 
257 with <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a> function.</p>
258 <p></p>
259 <p></p>
260 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
261 <tr>
262 <td align="LEFT" valign="TOP"><a name="AEN21348"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
263 <td align="LEFT" valign="TOP"><p>               the pointer to keys manager.</p></td>
264 </tr>
265 <tr>
266 <td align="LEFT" valign="TOP"><a name="AEN21353"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td>
267 <td align="LEFT" valign="TOP"><p>               the uri.</p></td>
268 </tr>
269 <tr>
270 <td align="LEFT" valign="TOP"><a name="AEN21358"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
271 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
272 </tr>
273 </tbody></table>
274 </div>
275 <hr>
276 <div class="REFSECT2">
277 <a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrSave ()</h3>
278 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppDefaultKeysMngrSave (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
279                                                          const <font>char</font> *filename,
280                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
281 <p>Saves keys from <code class="PARAMETER">mngr</code> to  XML keys file.</p>
282 <p></p>
283 <p></p>
284 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
285 <tr>
286 <td align="LEFT" valign="TOP"><a name="AEN21376"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
287 <td align="LEFT" valign="TOP"><p>               the pointer to keys manager.</p></td>
288 </tr>
289 <tr>
290 <td align="LEFT" valign="TOP"><a name="AEN21381"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td>
291 <td align="LEFT" valign="TOP"><p>               the destination filename.</p></td>
292 </tr>
293 <tr>
294 <td align="LEFT" valign="TOP"><a name="AEN21386"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td>
295 <td align="LEFT" valign="TOP"><p>               the type of keys to save (public/private/symmetric).</p></td>
296 </tr>
297 <tr>
298 <td align="LEFT" valign="TOP"><a name="AEN21391"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
299 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
300 </tr>
301 </tbody></table>
302 </div>
303 <hr>
304 <div class="REFSECT2">
305 <a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoad ()</h3>
306 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeysMngrCertLoad    (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
307                                                          const <font>char</font> *filename,
308                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
309                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
310 <p>Reads cert from <code class="PARAMETER">filename</code> and adds to the list of trusted or known
311 untrusted certs in <code class="PARAMETER">store</code>.</p>
312 <p></p>
313 <p></p>
314 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
315 <tr>
316 <td align="LEFT" valign="TOP"><a name="AEN21411"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
317 <td align="LEFT" valign="TOP"><p>               the keys manager.</p></td>
318 </tr>
319 <tr>
320 <td align="LEFT" valign="TOP"><a name="AEN21416"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td>
321 <td align="LEFT" valign="TOP"><p>               the certificate file.</p></td>
322 </tr>
323 <tr>
324 <td align="LEFT" valign="TOP"><a name="AEN21421"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
325 <td align="LEFT" valign="TOP"><p>               the certificate file format.</p></td>
326 </tr>
327 <tr>
328 <td align="LEFT" valign="TOP"><a name="AEN21426"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td>
329 <td align="LEFT" valign="TOP"><p>               the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
330                         trusted or not.</p></td>
331 </tr>
332 <tr>
333 <td align="LEFT" valign="TOP"><a name="AEN21432"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
334 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
335 </tr>
336 </tbody></table>
337 </div>
338 <hr>
339 <div class="REFSECT2">
340 <a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadMemory ()</h3>
341 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeysMngrCertLoadMemory
342                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
343                                                          const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
344                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
345                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
346                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
347 <p>Reads cert from binary buffer <code class="PARAMETER">data</code> and adds to the list of trusted or known
348 untrusted certs in <code class="PARAMETER">store</code>.</p>
349 <p></p>
350 <p></p>
351 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
352 <tr>
353 <td align="LEFT" valign="TOP"><a name="AEN21453"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
354 <td align="LEFT" valign="TOP"><p>               the keys manager.</p></td>
355 </tr>
356 <tr>
357 <td align="LEFT" valign="TOP"><a name="AEN21458"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
358 <td align="LEFT" valign="TOP"><p>               the certificate binary data.</p></td>
359 </tr>
360 <tr>
361 <td align="LEFT" valign="TOP"><a name="AEN21463"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td>
362 <td align="LEFT" valign="TOP"><p>               the certificate binary data size.</p></td>
363 </tr>
364 <tr>
365 <td align="LEFT" valign="TOP"><a name="AEN21468"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
366 <td align="LEFT" valign="TOP"><p>               the certificate file format.</p></td>
367 </tr>
368 <tr>
369 <td align="LEFT" valign="TOP"><a name="AEN21473"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td>
370 <td align="LEFT" valign="TOP"><p>               the flag that indicates is the certificate trusted or not.</p></td>
371 </tr>
372 <tr>
373 <td align="LEFT" valign="TOP"><a name="AEN21478"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
374 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
375 </tr>
376 </tbody></table>
377 </div>
378 <hr>
379 <div class="REFSECT2">
380 <a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadBIO ()</h3>
381 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeysMngrCertLoadBIO (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
382                                                          <font>BIO</font> *bio,
383                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
384                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
385 <p>Reads cert from an OpenSSL BIO object and adds to the list of trusted or known
386 untrusted certs in <code class="PARAMETER">store</code>.</p>
387 <p></p>
388 <p></p>
389 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
390 <tr>
391 <td align="LEFT" valign="TOP"><a name="AEN21497"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
392 <td align="LEFT" valign="TOP"><p>               the keys manager.</p></td>
393 </tr>
394 <tr>
395 <td align="LEFT" valign="TOP"><a name="AEN21502"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td>
396 <td align="LEFT" valign="TOP"><p>               the certificate BIO.</p></td>
397 </tr>
398 <tr>
399 <td align="LEFT" valign="TOP"><a name="AEN21507"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
400 <td align="LEFT" valign="TOP"><p>               the certificate file format.</p></td>
401 </tr>
402 <tr>
403 <td align="LEFT" valign="TOP"><a name="AEN21512"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td>
404 <td align="LEFT" valign="TOP"><p>               the flag that indicates is the certificate trusted or not.</p></td>
405 </tr>
406 <tr>
407 <td align="LEFT" valign="TOP"><a name="AEN21517"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
408 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
409 </tr>
410 </tbody></table>
411 </div>
412 <hr>
413 <div class="REFSECT2">
414 <a name="XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsPath ()</h3>
415 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeysMngrAddCertsPath
416                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
417                                                          const <font>char</font> *path);</pre>
418 <p>Reads cert from <code class="PARAMETER">path</code> and adds to the list of trusted certificates.</p>
419 <p></p>
420 <p></p>
421 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
422 <tr>
423 <td align="LEFT" valign="TOP"><a name="AEN21534"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
424 <td align="LEFT" valign="TOP"><p>               the keys manager.</p></td>
425 </tr>
426 <tr>
427 <td align="LEFT" valign="TOP"><a name="AEN21539"><span style="white-space: nowrap"><code class="PARAMETER">path</code> :</span></a></td>
428 <td align="LEFT" valign="TOP"><p>               the path to trusted certificates.</p></td>
429 </tr>
430 <tr>
431 <td align="LEFT" valign="TOP"><a name="AEN21544"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
432 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
433 </tr>
434 </tbody></table>
435 </div>
436 <hr>
437 <div class="REFSECT2">
438 <a name="XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsFile ()</h3>
439 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeysMngrAddCertsFile
440                                                         (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> mngr,
441                                                          const <font>char</font> *file);</pre>
442 <p>Reads certs from <code class="PARAMETER">file</code> and adds to the list of trusted certificates.
443 It is possible for <code class="PARAMETER">file</code> to contain multiple certs.</p>
444 <p></p>
445 <p></p>
446 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
447 <tr>
448 <td align="LEFT" valign="TOP"><a name="AEN21562"><span style="white-space: nowrap"><code class="PARAMETER">mngr</code> :</span></a></td>
449 <td align="LEFT" valign="TOP"><p>               the keys manager.</p></td>
450 </tr>
451 <tr>
452 <td align="LEFT" valign="TOP"><a name="AEN21567"><span style="white-space: nowrap"><code class="PARAMETER">file</code> :</span></a></td>
453 <td align="LEFT" valign="TOP"><p>               the file containing trusted certificates.</p></td>
454 </tr>
455 <tr>
456 <td align="LEFT" valign="TOP"><a name="AEN21572"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
457 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
458 </tr>
459 </tbody></table>
460 </div>
461 <hr>
462 <div class="REFSECT2">
463 <a name="XMLSECOPENSSLAPPKEYLOAD"></a><h3>xmlSecOpenSSLAppKeyLoad ()</h3>
464 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppKeyLoad             (const <font>char</font> *filename,
465                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
466                                                          const <font>char</font> *pwd,
467                                                          <font>void</font> *pwdCallback,
468                                                          <font>void</font> *pwdCallbackCtx);</pre>
469 <p>Reads key from the a file.</p>
470 <p></p>
471 <p></p>
472 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
473 <tr>
474 <td align="LEFT" valign="TOP"><a name="AEN21591"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td>
475 <td align="LEFT" valign="TOP"><p>               the key filename.</p></td>
476 </tr>
477 <tr>
478 <td align="LEFT" valign="TOP"><a name="AEN21596"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
479 <td align="LEFT" valign="TOP"><p>               the key file format.</p></td>
480 </tr>
481 <tr>
482 <td align="LEFT" valign="TOP"><a name="AEN21601"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td>
483 <td align="LEFT" valign="TOP"><p>               the key file password.</p></td>
484 </tr>
485 <tr>
486 <td align="LEFT" valign="TOP"><a name="AEN21606"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td>
487 <td align="LEFT" valign="TOP"><p>       the key password callback.</p></td>
488 </tr>
489 <tr>
490 <td align="LEFT" valign="TOP"><a name="AEN21611"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td>
491 <td align="LEFT" valign="TOP"><p>       the user context for password callback.</p></td>
492 </tr>
493 <tr>
494 <td align="LEFT" valign="TOP"><a name="AEN21616"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
495 <td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td>
496 </tr>
497 </tbody></table>
498 </div>
499 <hr>
500 <div class="REFSECT2">
501 <a name="XMLSECOPENSSLAPPKEYLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeyLoadMemory ()</h3>
502 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppKeyLoadMemory       (const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
503                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
504                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
505                                                          const <font>char</font> *pwd,
506                                                          <font>void</font> *pwdCallback,
507                                                          <font>void</font> *pwdCallbackCtx);</pre>
508 <p>Reads key from the memory buffer.</p>
509 <p></p>
510 <p></p>
511 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
512 <tr>
513 <td align="LEFT" valign="TOP"><a name="AEN21636"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
514 <td align="LEFT" valign="TOP"><p>               the binary key data.</p></td>
515 </tr>
516 <tr>
517 <td align="LEFT" valign="TOP"><a name="AEN21641"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td>
518 <td align="LEFT" valign="TOP"><p>               the size of binary key.</p></td>
519 </tr>
520 <tr>
521 <td align="LEFT" valign="TOP"><a name="AEN21646"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
522 <td align="LEFT" valign="TOP"><p>               the key file format.</p></td>
523 </tr>
524 <tr>
525 <td align="LEFT" valign="TOP"><a name="AEN21651"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td>
526 <td align="LEFT" valign="TOP"><p>               the key file password.</p></td>
527 </tr>
528 <tr>
529 <td align="LEFT" valign="TOP"><a name="AEN21656"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td>
530 <td align="LEFT" valign="TOP"><p>       the key password callback.</p></td>
531 </tr>
532 <tr>
533 <td align="LEFT" valign="TOP"><a name="AEN21661"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td>
534 <td align="LEFT" valign="TOP"><p>       the user context for password callback.</p></td>
535 </tr>
536 <tr>
537 <td align="LEFT" valign="TOP"><a name="AEN21666"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
538 <td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td>
539 </tr>
540 </tbody></table>
541 </div>
542 <hr>
543 <div class="REFSECT2">
544 <a name="XMLSECOPENSSLAPPKEYLOADBIO"></a><h3>xmlSecOpenSSLAppKeyLoadBIO ()</h3>
545 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppKeyLoadBIO          (<font>BIO</font> *bio,
546                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format,
547                                                          const <font>char</font> *pwd,
548                                                          <font>void</font> *pwdCallback,
549                                                          <font>void</font> *pwdCallbackCtx);</pre>
550 <p>Reads key from the an OpenSSL BIO object.</p>
551 <p></p>
552 <p></p>
553 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
554 <tr>
555 <td align="LEFT" valign="TOP"><a name="AEN21685"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td>
556 <td align="LEFT" valign="TOP"><p>               the key BIO.</p></td>
557 </tr>
558 <tr>
559 <td align="LEFT" valign="TOP"><a name="AEN21690"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
560 <td align="LEFT" valign="TOP"><p>               the key file format.</p></td>
561 </tr>
562 <tr>
563 <td align="LEFT" valign="TOP"><a name="AEN21695"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td>
564 <td align="LEFT" valign="TOP"><p>               the key file password.</p></td>
565 </tr>
566 <tr>
567 <td align="LEFT" valign="TOP"><a name="AEN21700"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td>
568 <td align="LEFT" valign="TOP"><p>       the key password callback.</p></td>
569 </tr>
570 <tr>
571 <td align="LEFT" valign="TOP"><a name="AEN21705"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td>
572 <td align="LEFT" valign="TOP"><p>       the user context for password callback.</p></td>
573 </tr>
574 <tr>
575 <td align="LEFT" valign="TOP"><a name="AEN21710"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
576 <td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td>
577 </tr>
578 </tbody></table>
579 </div>
580 <hr>
581 <div class="REFSECT2">
582 <a name="XMLSECOPENSSLAPPPKCS12LOAD"></a><h3>xmlSecOpenSSLAppPkcs12Load ()</h3>
583 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppPkcs12Load          (const <font>char</font> *filename,
584                                                          const <font>char</font> *pwd,
585                                                          <font>void</font> *pwdCallback,
586                                                          <font>void</font> *pwdCallbackCtx);</pre>
587 <p>Reads key and all associated certificates from the PKCS12 file.
588 For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass
589 in format=xmlSecKeyDataFormatPkcs12.</p>
590 <p></p>
591 <p></p>
592 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
593 <tr>
594 <td align="LEFT" valign="TOP"><a name="AEN21728"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td>
595 <td align="LEFT" valign="TOP"><p>               the PKCS12 key filename.</p></td>
596 </tr>
597 <tr>
598 <td align="LEFT" valign="TOP"><a name="AEN21733"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td>
599 <td align="LEFT" valign="TOP"><p>               the PKCS12 file password.</p></td>
600 </tr>
601 <tr>
602 <td align="LEFT" valign="TOP"><a name="AEN21738"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td>
603 <td align="LEFT" valign="TOP"><p>       the password callback.</p></td>
604 </tr>
605 <tr>
606 <td align="LEFT" valign="TOP"><a name="AEN21743"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td>
607 <td align="LEFT" valign="TOP"><p>       the user context for password callback.</p></td>
608 </tr>
609 <tr>
610 <td align="LEFT" valign="TOP"><a name="AEN21748"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
611 <td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td>
612 </tr>
613 </tbody></table>
614 </div>
615 <hr>
616 <div class="REFSECT2">
617 <a name="XMLSECOPENSSLAPPPKCS12LOADMEMORY"></a><h3>xmlSecOpenSSLAppPkcs12LoadMemory ()</h3>
618 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppPkcs12LoadMemory    (const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
619                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
620                                                          const <font>char</font> *pwd,
621                                                          <font>void</font> *pwdCallback,
622                                                          <font>void</font> *pwdCallbackCtx);</pre>
623 <p>Reads key and all associated certificates from the PKCS12 data in memory buffer.
624 For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass
625 in format=xmlSecKeyDataFormatPkcs12.</p>
626 <p></p>
627 <p></p>
628 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
629 <tr>
630 <td align="LEFT" valign="TOP"><a name="AEN21767"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
631 <td align="LEFT" valign="TOP"><p>               the PKCS12 binary data.</p></td>
632 </tr>
633 <tr>
634 <td align="LEFT" valign="TOP"><a name="AEN21772"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td>
635 <td align="LEFT" valign="TOP"><p>               the PKCS12 binary data size.</p></td>
636 </tr>
637 <tr>
638 <td align="LEFT" valign="TOP"><a name="AEN21777"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td>
639 <td align="LEFT" valign="TOP"><p>               the PKCS12 file password.</p></td>
640 </tr>
641 <tr>
642 <td align="LEFT" valign="TOP"><a name="AEN21782"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td>
643 <td align="LEFT" valign="TOP"><p>       the password callback.</p></td>
644 </tr>
645 <tr>
646 <td align="LEFT" valign="TOP"><a name="AEN21787"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td>
647 <td align="LEFT" valign="TOP"><p>       the user context for password callback.</p></td>
648 </tr>
649 <tr>
650 <td align="LEFT" valign="TOP"><a name="AEN21792"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
651 <td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td>
652 </tr>
653 </tbody></table>
654 </div>
655 <hr>
656 <div class="REFSECT2">
657 <a name="XMLSECOPENSSLAPPPKCS12LOADBIO"></a><h3>xmlSecOpenSSLAppPkcs12LoadBIO ()</h3>
658 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppPkcs12LoadBIO       (<font>BIO</font> *bio,
659                                                          const <font>char</font> *pwd,
660                                                          <font>void</font> *pwdCallback,
661                                                          <font>void</font> *pwdCallbackCtx);</pre>
662 <p>Reads key and all associated certificates from the PKCS12 data in an OpenSSL BIO object.
663 For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass
664 in format=xmlSecKeyDataFormatPkcs12.</p>
665 <p></p>
666 <p></p>
667 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
668 <tr>
669 <td align="LEFT" valign="TOP"><a name="AEN21810"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td>
670 <td align="LEFT" valign="TOP"><p>               the PKCS12 key bio.</p></td>
671 </tr>
672 <tr>
673 <td align="LEFT" valign="TOP"><a name="AEN21815"><span style="white-space: nowrap"><code class="PARAMETER">pwd</code> :</span></a></td>
674 <td align="LEFT" valign="TOP"><p>               the PKCS12 file password.</p></td>
675 </tr>
676 <tr>
677 <td align="LEFT" valign="TOP"><a name="AEN21820"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallback</code> :</span></a></td>
678 <td align="LEFT" valign="TOP"><p>       the password callback.</p></td>
679 </tr>
680 <tr>
681 <td align="LEFT" valign="TOP"><a name="AEN21825"><span style="white-space: nowrap"><code class="PARAMETER">pwdCallbackCtx</code> :</span></a></td>
682 <td align="LEFT" valign="TOP"><p>       the user context for password callback.</p></td>
683 </tr>
684 <tr>
685 <td align="LEFT" valign="TOP"><a name="AEN21830"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
686 <td align="LEFT" valign="TOP"><p> pointer to the key or NULL if an error occurs.</p></td>
687 </tr>
688 </tbody></table>
689 </div>
690 <hr>
691 <div class="REFSECT2">
692 <a name="XMLSECOPENSSLAPPKEYCERTLOAD"></a><h3>xmlSecOpenSSLAppKeyCertLoad ()</h3>
693 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeyCertLoad         (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
694                                                          const <font>char</font> *filename,
695                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);</pre>
696 <p>Reads the certificate from $<code class="PARAMETER">filename</code> and adds it to key.</p>
697 <p></p>
698 <p></p>
699 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
700 <tr>
701 <td align="LEFT" valign="TOP"><a name="AEN21848"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
702 <td align="LEFT" valign="TOP"><p>               the pointer to key.</p></td>
703 </tr>
704 <tr>
705 <td align="LEFT" valign="TOP"><a name="AEN21853"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td>
706 <td align="LEFT" valign="TOP"><p>               the certificate filename.</p></td>
707 </tr>
708 <tr>
709 <td align="LEFT" valign="TOP"><a name="AEN21858"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
710 <td align="LEFT" valign="TOP"><p>               the certificate file format.</p></td>
711 </tr>
712 <tr>
713 <td align="LEFT" valign="TOP"><a name="AEN21863"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
714 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
715 </tr>
716 </tbody></table>
717 </div>
718 <hr>
719 <div class="REFSECT2">
720 <a name="XMLSECOPENSSLAPPKEYCERTLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeyCertLoadMemory ()</h3>
721 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeyCertLoadMemory   (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
722                                                          const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
723                                                          <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize,
724                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);</pre>
725 <p>Reads the certificate from memory buffer and adds it to key.</p>
726 <p></p>
727 <p></p>
728 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
729 <tr>
730 <td align="LEFT" valign="TOP"><a name="AEN21881"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
731 <td align="LEFT" valign="TOP"><p>               the pointer to key.</p></td>
732 </tr>
733 <tr>
734 <td align="LEFT" valign="TOP"><a name="AEN21886"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
735 <td align="LEFT" valign="TOP"><p>               the certificate binary data.</p></td>
736 </tr>
737 <tr>
738 <td align="LEFT" valign="TOP"><a name="AEN21891"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td>
739 <td align="LEFT" valign="TOP"><p>               the certificate binary data size.</p></td>
740 </tr>
741 <tr>
742 <td align="LEFT" valign="TOP"><a name="AEN21896"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
743 <td align="LEFT" valign="TOP"><p>               the certificate file format.</p></td>
744 </tr>
745 <tr>
746 <td align="LEFT" valign="TOP"><a name="AEN21901"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
747 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
748 </tr>
749 </tbody></table>
750 </div>
751 <hr>
752 <div class="REFSECT2">
753 <a name="XMLSECOPENSSLAPPKEYCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeyCertLoadBIO ()</h3>
754 <pre class="PROGRAMLISTING"><font>int</font>                 xmlSecOpenSSLAppKeyCertLoadBIO      (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
755                                                          <font>BIO</font> *bio,
756                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);</pre>
757 <p>Reads the certificate from memory buffer and adds it to key.</p>
758 <p></p>
759 <p></p>
760 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
761 <tr>
762 <td align="LEFT" valign="TOP"><a name="AEN21918"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
763 <td align="LEFT" valign="TOP"><p>               the pointer to key.</p></td>
764 </tr>
765 <tr>
766 <td align="LEFT" valign="TOP"><a name="AEN21923"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td>
767 <td align="LEFT" valign="TOP"><p>               the certificate bio.</p></td>
768 </tr>
769 <tr>
770 <td align="LEFT" valign="TOP"><a name="AEN21928"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
771 <td align="LEFT" valign="TOP"><p>               the certificate file format.</p></td>
772 </tr>
773 <tr>
774 <td align="LEFT" valign="TOP"><a name="AEN21933"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
775 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
776 </tr>
777 </tbody></table>
778 </div>
779 <hr>
780 <div class="REFSECT2">
781 <a name="XMLSECOPENSSLAPPKEYFROMCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeyFromCertLoadBIO ()</h3>
782 <pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a>        xmlSecOpenSSLAppKeyFromCertLoadBIO  (<font>BIO</font> *bio,
783                                                          <a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a> format);</pre>
784 <p>Loads public key from cert.</p>
785 <p></p>
786 <p></p>
787 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
788 <tr>
789 <td align="LEFT" valign="TOP"><a name="AEN21949"><span style="white-space: nowrap"><code class="PARAMETER">bio</code> :</span></a></td>
790 <td align="LEFT" valign="TOP"><p>               the BIO.</p></td>
791 </tr>
792 <tr>
793 <td align="LEFT" valign="TOP"><a name="AEN21954"><span style="white-space: nowrap"><code class="PARAMETER">format</code> :</span></a></td>
794 <td align="LEFT" valign="TOP"><p>               the cert format.</p></td>
795 </tr>
796 <tr>
797 <td align="LEFT" valign="TOP"><a name="AEN21959"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
798 <td align="LEFT" valign="TOP"><p> pointer to key or NULL if an error occurs.</p></td>
799 </tr>
800 </tbody></table>
801 </div>
802 <hr>
803 <div class="REFSECT2">
804 <a name="XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecOpenSSLAppGetDefaultPwdCallback ()</h3>
805 <pre class="PROGRAMLISTING"><font>void</font>*               xmlSecOpenSSLAppGetDefaultPwdCallback
806                                                         (void);</pre>
807 <p>Gets default password callback.</p>
808 <p></p>
809 <p></p>
810 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
811 <td align="LEFT" valign="TOP"><a name="AEN21973"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
812 <td align="LEFT" valign="TOP"><p> default password callback.</p></td>
813 </tr></tbody></table>
814 </div>
815 </div>
816 <table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
817 <td align="left"><a accesskey="p" href="xmlsec-openssl-ref.html"><b>&lt;&lt;&lt; XML Security Library for OpenSLL API Reference.</b></a></td>
818 <td align="right"><a accesskey="n" href="xmlsec-openssl-bn.html"><b>bn &gt;&gt;&gt;</b></a></td>
819 </tr></table>
820 </td></tr></table></td>
821 </tr></table></body>
822 </html>