3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
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 Core Library API Reference." href="xmlsec-ref.html">
8 <link rel="PREVIOUS" title="io" href="xmlsec-io.html">
9 <link rel="NEXT" title="keysdata" href="xmlsec-keysdata.html">
10 <style type="text/css">.synopsis, .classsynopsis {
12 border: solid 1px #aaaaaa;
17 border: solid 1px #aaaaff;
26 border: solid 1px #ffaaaa;
33 .navigation a:visited {
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>
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>
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>
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>
66 <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
70 <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
74 <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
76 <!--Links - start--><!--Links - end-->
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-io.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
82 <td><a accesskey="u" href="xmlsec-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-keysdata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
88 <a name="XMLSEC-KEYINFO"></a>keyinfo</h1>
89 <div class="REFNAMEDIV">
90 <a name="AEN5439"></a><h2>Name</h2>keyinfo -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</div>
91 <div class="REFSYNOPSISDIV">
92 <a name="XMLSEC-KEYINFO.SYNOPSIS"></a><h2>Synopsis</h2>
93 <pre class="SYNOPSIS"><font>int</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEREAD">xmlSecKeyInfoNodeRead</a> (<font>xmlNodePtr</font> keyInfoNode,
94 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
95 <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);
96 <font>int</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEWRITE">xmlSecKeyInfoNodeWrite</a> (<font>xmlNodePtr</font> keyInfoNode,
97 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
98 <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);
99 enum <a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE">xmlSecKeyInfoMode</a>;
100 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND--CAPS">XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</a>
101 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD--CAPS">XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</a>
102 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN--CAPS">XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</a>
103 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD--CAPS">XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</a>
104 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF--CAPS">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</a>
105 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF--CAPS">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</a>
106 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD--CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</a>
107 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS--CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</a>
108 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT--CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</a>
109 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT--CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</a>
110 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION--CAPS">XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</a>
111 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE--CAPS">XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</a>
112 #define <a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS--CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</a>
113 struct <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtx</a>;
114 <font>xmlSecKeyInfoCtxPtr</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE">xmlSecKeyInfoCtxCreate</a> (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> keysMngr);
115 <font>void</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY">xmlSecKeyInfoCtxDestroy</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);
116 <font>int</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE">xmlSecKeyInfoCtxInitialize</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx,
117 <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> keysMngr);
118 <font>void</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE">xmlSecKeyInfoCtxFinalize</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);
119 <font>void</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXRESET">xmlSecKeyInfoCtxReset</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);
120 <font>int</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCOPYUSERPREF">xmlSecKeyInfoCtxCopyUserPref</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> dst,
121 <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> src);
122 <font>int</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATEENCCTX">xmlSecKeyInfoCtxCreateEncCtx</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);
123 <font>void</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGDUMP">xmlSecKeyInfoCtxDebugDump</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx,
124 <font>FILE</font> *output);
125 <font>void</font> <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGXMLDUMP">xmlSecKeyInfoCtxDebugXmlDump</a> (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx,
126 <font>FILE</font> *output);
127 #define <a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEID">xmlSecKeyDataNameId</a>
128 <font>xmlSecKeyDataId</font> <a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEGETKLASS">xmlSecKeyDataNameGetKlass</a> (void);
129 #define <a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEID">xmlSecKeyDataValueId</a>
130 <font>xmlSecKeyDataId</font> <a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEGETKLASS">xmlSecKeyDataValueGetKlass</a> (void);
131 #define <a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODID">xmlSecKeyDataRetrievalMethodId</a>
132 <font>xmlSecKeyDataId</font> <a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODGETKLASS">xmlSecKeyDataRetrievalMethodGetKlass</a>
134 #define <a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYID">xmlSecKeyDataEncryptedKeyId</a>
135 <font>xmlSecKeyDataId</font> <a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYGETKLASS">xmlSecKeyDataEncryptedKeyGetKlass</a> (void);</pre>
137 <div class="REFSECT1">
138 <a name="XMLSEC-KEYINFO.DESCRIPTION"></a><h2>Description</h2>
139 <p><a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</p>
141 <div class="REFSECT1">
142 <a name="XMLSEC-KEYINFO.DETAILS"></a><h2>Details</h2>
143 <div class="REFSECT2">
144 <a name="XMLSECKEYINFONODEREAD"></a><h3>xmlSecKeyInfoNodeRead ()</h3>
145 <pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyInfoNodeRead (<font>xmlNodePtr</font> keyInfoNode,
146 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
147 <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);</pre>
148 <p>Parses the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element <code class="PARAMETER">keyInfoNode</code>, extracts the key data
149 and stores into <code class="PARAMETER">key</code>.</p>
152 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
154 <td align="LEFT" valign="TOP"><a name="AEN5535"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td>
155 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td>
158 <td align="LEFT" valign="TOP"><a name="AEN5541"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
159 <td align="LEFT" valign="TOP"><p> the pointer to result key object.</p></td>
162 <td align="LEFT" valign="TOP"><a name="AEN5546"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
163 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
166 <td align="LEFT" valign="TOP"><a name="AEN5552"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
167 <td align="LEFT" valign="TOP"><p> 0 on success or -1 if an error occurs.</p></td>
172 <div class="REFSECT2">
173 <a name="XMLSECKEYINFONODEWRITE"></a><h3>xmlSecKeyInfoNodeWrite ()</h3>
174 <pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyInfoNodeWrite (<font>xmlNodePtr</font> keyInfoNode,
175 <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
176 <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);</pre>
177 <p>Writes the <code class="PARAMETER">key</code> into the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element template <code class="PARAMETER">keyInfoNode</code>.</p>
180 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
182 <td align="LEFT" valign="TOP"><a name="AEN5572"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoNode</code> :</span></a></td>
183 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node.</p></td>
186 <td align="LEFT" valign="TOP"><a name="AEN5578"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
187 <td align="LEFT" valign="TOP"><p> the pointer to key object.</p></td>
190 <td align="LEFT" valign="TOP"><a name="AEN5583"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
191 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
194 <td align="LEFT" valign="TOP"><a name="AEN5589"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
195 <td align="LEFT" valign="TOP"><p> 0 on success or -1 if an error occurs.</p></td>
200 <div class="REFSECT2">
201 <a name="XMLSECKEYINFOMODE"></a><h3>enum xmlSecKeyInfoMode</h3>
202 <pre class="PROGRAMLISTING">typedef enum {
203 xmlSecKeyInfoModeRead = 0,
204 xmlSecKeyInfoModeWrite
205 } xmlSecKeyInfoMode;</pre>
206 <p>The <code class="PARAMETER">xmlSecKeyInfoCtx</code> operation mode (read or write).</p>
209 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
211 <td align="LEFT" valign="TOP"><a name="XMLSECKEYINFOMODEREAD"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyInfoModeRead</tt></span></a></td>
212 <td align="LEFT" valign="TOP"><p> read <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> element.</p></td>
215 <td align="LEFT" valign="TOP"><a name="XMLSECKEYINFOMODEWRITE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecKeyInfoModeWrite</tt></span></a></td>
216 <td align="LEFT" valign="TOP"><p> write <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> element.</p></td>
221 <div class="REFSECT2">
222 <a name="XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</h3>
223 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND 0x00000001</pre>
224 <p>If flag is set then we will continue reading <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a>
225 element even when key is already found.</p>
229 <div class="REFSECT2">
230 <a name="XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</h3>
231 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD 0x00000002</pre>
232 <p>If flag is set then we abort if an unknown <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a>
237 <div class="REFSECT2">
238 <a name="XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</h3>
239 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN 0x00000004</pre>
240 <p>If flags is set then we abort if an unknown key name
241 (content of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName%20" target="_top"><dsig:KeyName /></a> element) is found.</p>
245 <div class="REFSECT2">
246 <a name="XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</h3>
247 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD 0x00000008</pre>
248 <p>If flags is set then we abort if an unknown <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue%20" target="_top"><dsig:KeyValue /></a>
253 <div class="REFSECT2">
254 <a name="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</h3>
255 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF 0x00000010</pre>
256 <p>If flag is set then we abort if an unknown href attribute
257 of <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> element is found.</p>
261 <div class="REFSECT2">
262 <a name="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</h3>
263 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF 0x00000020</pre>
264 <p>If flag is set then we abort if an href attribute <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a>
265 element does not match the real key data type.</p>
269 <div class="REFSECT2">
270 <a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</h3>
271 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD 0x00000100</pre>
272 <p>If flags is set then we abort if an unknown <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data%20" target="_top"><dsig:X509Data /></a>
277 <div class="REFSECT2">
278 <a name="XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</h3>
279 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS 0x00000200</pre>
280 <p>If flag is set then we'll load certificates from <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data%20" target="_top"><dsig:X509Data /></a>
281 element without verification.</p>
285 <div class="REFSECT2">
286 <a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</h3>
287 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT 0x00000400</pre>
288 <p>If flag is set then we'll stop when we could not resolve reference
289 to certificate from <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509IssuerSerial%20" target="_top"><dsig:X509IssuerSerial /></a>, <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SKI%20" target="_top"><dsig:X509SKI /></a> or
290 <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509SubjectName%20" target="_top"><dsig:X509SubjectName /></a> elements.</p>
294 <div class="REFSECT2">
295 <a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</h3>
296 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT 0x00000800</pre>
297 <p>If the flag is set then we'll stop when <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data%20" target="_top"><dsig:X509Data /></a> element
298 processing does not return a verified certificate.</p>
302 <div class="REFSECT2">
303 <a name="XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</h3>
304 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION 0x00001000</pre>
305 <p>If the flag is set then we'll stop when <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey%20" target="_top"><enc:EncryptedKey /></a> element
306 processing fails.</p>
310 <div class="REFSECT2">
311 <a name="XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</h3>
312 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE 0x00002000</pre>
313 <p>If the flag is set then we'll stop when we found an empty node.
314 Otherwise we just ignore it.</p>
318 <div class="REFSECT2">
319 <a name="XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS--CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</h3>
320 <pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS 0x00004000</pre>
321 <p>If the flag is set then we'll skip strict checking of certs and CRLs</p>
325 <div class="REFSECT2">
326 <a name="XMLSECKEYINFOCTX"></a><h3>struct xmlSecKeyInfoCtx</h3>
327 <pre class="PROGRAMLISTING">struct xmlSecKeyInfoCtx {
331 xmlSecKeysMngrPtr keysMngr;
332 xmlSecKeyInfoMode mode;
333 xmlSecPtrList enabledKeyData;
336 /* RetrievalMethod */
337 xmlSecTransformCtx retrievalMethodCtx;
338 int maxRetrievalMethodLevel;
342 xmlSecEncCtxPtr encCtx;
343 int maxEncryptedKeyLevel;
347 /* x509 certificates */
348 time_t certsVerificationTime;
349 int certsVerificationDepth;
353 void* pgpReserved; /* TODO */
356 int curRetrievalMethodLevel;
357 int curEncryptedKeyLevel;
364 <p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> reading or writing context.</p>
367 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
369 <td align="LEFT" valign="TOP"><a name="AEN5728"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">userData</code>;</span></a></td>
370 <td align="LEFT" valign="TOP"><p> the pointer to user data (xmlsec and xmlsec-crypto
371 never touch this).</p></td>
374 <td align="LEFT" valign="TOP"><a name="AEN5734"><span style="white-space: nowrap">unsigned <font>int</font> <code class="STRUCTFIELD">flags</code>;</span></a></td>
375 <td align="LEFT" valign="TOP"><p> the bit mask for flags that control processin.</p></td>
378 <td align="LEFT" valign="TOP"><a name="AEN5740"><span style="white-space: nowrap">unsigned <font>int</font> <code class="STRUCTFIELD">flags2</code>;</span></a></td>
379 <td align="LEFT" valign="TOP"><p> reserved for future.</p></td>
382 <td align="LEFT" valign="TOP"><a name="AEN5746"><span style="white-space: nowrap"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> <code class="STRUCTFIELD">keysMngr</code>;</span></a></td>
383 <td align="LEFT" valign="TOP"><p> the pointer to current keys manager.</p></td>
386 <td align="LEFT" valign="TOP"><a name="AEN5752"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE">xmlSecKeyInfoMode</a> <code class="STRUCTFIELD">mode</code>;</span></a></td>
387 <td align="LEFT" valign="TOP"><p> do we read or write <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo%20" target="_top"><dsig:KeyInfo /></a> element.</p></td>
390 <td align="LEFT" valign="TOP"><a name="AEN5759"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a> <code class="STRUCTFIELD">enabledKeyData</code>;</span></a></td>
391 <td align="LEFT" valign="TOP"><p> the list of enabled <code class="PARAMETER">xmlSecKeyDataId</code> (if list is
392 empty then all data ids are enabled).</p></td>
395 <td align="LEFT" valign="TOP"><a name="AEN5766"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">base64LineSize</code>;</span></a></td>
396 <td align="LEFT" valign="TOP"><p> the max columns size for base64 encoding.</p></td>
399 <td align="LEFT" valign="TOP"><a name="AEN5772"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a> <code class="STRUCTFIELD">retrievalMethodCtx</code>;</span></a></td>
400 <td align="LEFT" valign="TOP"><p> the transforms context for <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a>
401 element processing.</p></td>
404 <td align="LEFT" valign="TOP"><a name="AEN5779"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">maxRetrievalMethodLevel</code>;</span></a></td>
405 <td align="LEFT" valign="TOP"><p> the max recursion level when processing
406 <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> element; default level is 1
407 (see also <code class="PARAMETER">curRetrievalMethodLevel</code>).</p></td>
410 <td align="LEFT" valign="TOP"><a name="AEN5787"><span style="white-space: nowrap"><a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtxPtr</a> <code class="STRUCTFIELD">encCtx</code>;</span></a></td>
411 <td align="LEFT" valign="TOP"><p> the encryption context for <a href="http://www.w3.org/TR/xmldsig-core/#sec-EncryptedKey%20" target="_top"><dsig:EncryptedKey /></a> element
415 <td align="LEFT" valign="TOP"><a name="AEN5794"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">maxEncryptedKeyLevel</code>;</span></a></td>
416 <td align="LEFT" valign="TOP"><p> the max recursion level when processing
417 <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey%20" target="_top"><enc:EncryptedKey /></a> element; default level is 1
418 (see <code class="PARAMETER">curEncryptedKeyLevel</code>).</p></td>
421 <td align="LEFT" valign="TOP"><a name="AEN5802"><span style="white-space: nowrap"><font>time_t</font> <code class="STRUCTFIELD">certsVerificationTime</code>;</span></a></td>
422 <td align="LEFT" valign="TOP"><p> the time to use for X509 certificates verification
423 ("not valid before" and "not valid after" checks);
424 if <code class="PARAMETER">certsVerificationTime</code> is equal to 0 (default)
425 then we verify certificates against the system's
426 clock "now".</p></td>
429 <td align="LEFT" valign="TOP"><a name="AEN5809"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">certsVerificationDepth</code>;</span></a></td>
430 <td align="LEFT" valign="TOP"><p> the max certifications chain length (default is 9).</p></td>
433 <td align="LEFT" valign="TOP"><a name="AEN5815"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">pgpReserved</code>;</span></a></td>
434 <td align="LEFT" valign="TOP"><p> reserved for PGP.</p></td>
437 <td align="LEFT" valign="TOP"><a name="AEN5821"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">curRetrievalMethodLevel</code>;</span></a></td>
438 <td align="LEFT" valign="TOP"><p> the current <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod%20" target="_top"><dsig:RetrievalMethod /></a> element
439 processing level (see <code class="PARAMETER">maxRetrievalMethodLevel</code>).</p></td>
442 <td align="LEFT" valign="TOP"><a name="AEN5829"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">curEncryptedKeyLevel</code>;</span></a></td>
443 <td align="LEFT" valign="TOP"><p> the current <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey%20" target="_top"><enc:EncryptedKey /></a> element
444 processing level (see <code class="PARAMETER">maxEncryptedKeyLevel</code>).</p></td>
447 <td align="LEFT" valign="TOP"><a name="AEN5837"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a> <code class="STRUCTFIELD">keyReq</code>;</span></a></td>
448 <td align="LEFT" valign="TOP"><p> the current key requirements.</p></td>
451 <td align="LEFT" valign="TOP"><a name="AEN5843"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td>
452 <td align="LEFT" valign="TOP"><p> reserved for the future.</p></td>
455 <td align="LEFT" valign="TOP"><a name="AEN5849"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td>
456 <td align="LEFT" valign="TOP"><p> reserved for the future.</p></td>
461 <div class="REFSECT2">
462 <a name="XMLSECKEYINFOCTXCREATE"></a><h3>xmlSecKeyInfoCtxCreate ()</h3>
463 <pre class="PROGRAMLISTING"><font>xmlSecKeyInfoCtxPtr</font> xmlSecKeyInfoCtxCreate (<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> keysMngr);</pre>
464 <p>Allocates and initializes <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.
465 Caller is responsible for freeing it by calling <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY"><span class="TYPE">xmlSecKeyInfoCtxDestroy</span></a>
469 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
471 <td align="LEFT" valign="TOP"><a name="AEN5868"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td>
472 <td align="LEFT" valign="TOP"><p> the pointer to keys manager (may be NULL).</p></td>
475 <td align="LEFT" valign="TOP"><a name="AEN5873"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
476 <td align="LEFT" valign="TOP"><p> pointer to newly allocated object or NULL if an error occurs.</p></td>
481 <div class="REFSECT2">
482 <a name="XMLSECKEYINFOCTXDESTROY"></a><h3>xmlSecKeyInfoCtxDestroy ()</h3>
483 <pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyInfoCtxDestroy (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);</pre>
484 <p>Destroys <code class="PARAMETER">keyInfoCtx</code> object created with <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE"><span class="TYPE">xmlSecKeyInfoCtxCreate</span></a> function.</p>
487 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
488 <td align="LEFT" valign="TOP"><a name="AEN5891"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
489 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
490 </tr></tbody></table>
493 <div class="REFSECT2">
494 <a name="XMLSECKEYINFOCTXINITIALIZE"></a><h3>xmlSecKeyInfoCtxInitialize ()</h3>
495 <pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyInfoCtxInitialize (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx,
496 <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngrPtr</a> keysMngr);</pre>
497 <p>Initializes <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context. Caller is
498 responsible for cleaning it up by <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE"><span class="TYPE">xmlSecKeyInfoCtxFinalize</span></a> function.</p>
501 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
503 <td align="LEFT" valign="TOP"><a name="AEN5911"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
504 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
507 <td align="LEFT" valign="TOP"><a name="AEN5917"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td>
508 <td align="LEFT" valign="TOP"><p> the pointer to keys manager (may be NULL).</p></td>
511 <td align="LEFT" valign="TOP"><a name="AEN5922"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
512 <td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td>
517 <div class="REFSECT2">
518 <a name="XMLSECKEYINFOCTXFINALIZE"></a><h3>xmlSecKeyInfoCtxFinalize ()</h3>
519 <pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyInfoCtxFinalize (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);</pre>
520 <p>Cleans up the <code class="PARAMETER">keyInfoCtx</code> initialized with <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE"><span class="TYPE">xmlSecKeyInfoCtxInitialize</span></a>
524 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
525 <td align="LEFT" valign="TOP"><a name="AEN5940"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
526 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
527 </tr></tbody></table>
530 <div class="REFSECT2">
531 <a name="XMLSECKEYINFOCTXRESET"></a><h3>xmlSecKeyInfoCtxReset ()</h3>
532 <pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyInfoCtxReset (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);</pre>
533 <p>Resets the <code class="PARAMETER">keyInfoCtx</code> state. User settings are not changed.</p>
536 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
537 <td align="LEFT" valign="TOP"><a name="AEN5957"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
538 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
539 </tr></tbody></table>
542 <div class="REFSECT2">
543 <a name="XMLSECKEYINFOCTXCOPYUSERPREF"></a><h3>xmlSecKeyInfoCtxCopyUserPref ()</h3>
544 <pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyInfoCtxCopyUserPref (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> dst,
545 <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> src);</pre>
546 <p>Copies user preferences from <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code> context.</p>
549 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
551 <td align="LEFT" valign="TOP"><a name="AEN5976"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td>
552 <td align="LEFT" valign="TOP"><p> the pointer to destination context object.</p></td>
555 <td align="LEFT" valign="TOP"><a name="AEN5981"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td>
556 <td align="LEFT" valign="TOP"><p> the pointer to source context object.</p></td>
559 <td align="LEFT" valign="TOP"><a name="AEN5986"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
560 <td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td>
565 <div class="REFSECT2">
566 <a name="XMLSECKEYINFOCTXCREATEENCCTX"></a><h3>xmlSecKeyInfoCtxCreateEncCtx ()</h3>
567 <pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyInfoCtxCreateEncCtx (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx);</pre>
568 <p>Creates encryption context form processing <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> child
569 of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element.</p>
572 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
574 <td align="LEFT" valign="TOP"><a name="AEN6003"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
575 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
578 <td align="LEFT" valign="TOP"><a name="AEN6009"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
579 <td align="LEFT" valign="TOP"><p> 0 on success and a negative value if an error occurs.</p></td>
584 <div class="REFSECT2">
585 <a name="XMLSECKEYINFOCTXDEBUGDUMP"></a><h3>xmlSecKeyInfoCtxDebugDump ()</h3>
586 <pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyInfoCtxDebugDump (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx,
587 <font>FILE</font> *output);</pre>
588 <p>Prints user settings and current context state to <code class="PARAMETER">output</code>.</p>
591 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
593 <td align="LEFT" valign="TOP"><a name="AEN6026"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
594 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
597 <td align="LEFT" valign="TOP"><a name="AEN6032"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
598 <td align="LEFT" valign="TOP"><p> the output file pointer.</p></td>
603 <div class="REFSECT2">
604 <a name="XMLSECKEYINFOCTXDEBUGXMLDUMP"></a><h3>xmlSecKeyInfoCtxDebugXmlDump ()</h3>
605 <pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyInfoCtxDebugXmlDump (<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtxPtr</a> keyInfoCtx,
606 <font>FILE</font> *output);</pre>
607 <p>Prints user settings and current context state in XML format to <code class="PARAMETER">output</code>.</p>
610 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
612 <td align="LEFT" valign="TOP"><a name="AEN6049"><span style="white-space: nowrap"><code class="PARAMETER">keyInfoCtx</code> :</span></a></td>
613 <td align="LEFT" valign="TOP"><p> the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element processing context.</p></td>
616 <td align="LEFT" valign="TOP"><a name="AEN6055"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
617 <td align="LEFT" valign="TOP"><p> the output file pointer.</p></td>
622 <div class="REFSECT2">
623 <a name="XMLSECKEYDATANAMEID"></a><h3>xmlSecKeyDataNameId</h3>
624 <pre class="PROGRAMLISTING">#define xmlSecKeyDataNameId xmlSecKeyDataNameGetKlass()</pre>
625 <p>The <dsig:KeyName> processing class.</p>
629 <div class="REFSECT2">
630 <a name="XMLSECKEYDATANAMEGETKLASS"></a><h3>xmlSecKeyDataNameGetKlass ()</h3>
631 <pre class="PROGRAMLISTING"><font>xmlSecKeyDataId</font> xmlSecKeyDataNameGetKlass (void);</pre>
632 <p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element key data klass
633 (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-KEYNAME"><span class="TYPE">sec-KeyName</span></gtkdoclink>):</p>
634 <p>The KeyName element contains a string value (in which white space is
635 significant) which may be used by the signer to communicate a key
636 identifier to the recipient. Typically, KeyName contains an identifier
637 related to the key pair used to sign the message, but it may contain
638 other protocol-related information that indirectly identifies a key pair.
639 (Common uses of KeyName include simple string names for keys, a key index,
640 a distinguished name (DN), an email address, etc.)</p>
643 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
644 <td align="LEFT" valign="TOP"><a name="AEN6080"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
645 <td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element processing key data klass.</p></td>
646 </tr></tbody></table>
649 <div class="REFSECT2">
650 <a name="XMLSECKEYDATAVALUEID"></a><h3>xmlSecKeyDataValueId</h3>
651 <pre class="PROGRAMLISTING">#define xmlSecKeyDataValueId xmlSecKeyDataValueGetKlass()</pre>
652 <p>The <dsig:KeyValue> processing class.</p>
656 <div class="REFSECT2">
657 <a name="XMLSECKEYDATAVALUEGETKLASS"></a><h3>xmlSecKeyDataValueGetKlass ()</h3>
658 <pre class="PROGRAMLISTING"><font>xmlSecKeyDataId</font> xmlSecKeyDataValueGetKlass (void);</pre>
659 <p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> element key data klass
660 (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-KEYVALUE"><span class="TYPE">sec-KeyValue</span></gtkdoclink>):</p>
661 <p>The KeyValue element contains a single public key that may be useful in
662 validating the signature.</p>
665 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
666 <td align="LEFT" valign="TOP"><a name="AEN6106"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
667 <td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyValue" target="_top"><dsig:KeyValue/></a> element processing key data klass.</p></td>
668 </tr></tbody></table>
671 <div class="REFSECT2">
672 <a name="XMLSECKEYDATARETRIEVALMETHODID"></a><h3>xmlSecKeyDataRetrievalMethodId</h3>
673 <pre class="PROGRAMLISTING">#define xmlSecKeyDataRetrievalMethodId xmlSecKeyDataRetrievalMethodGetKlass()</pre>
674 <p>The <dsig:RetrievalMethod> processing class.</p>
678 <div class="REFSECT2">
679 <a name="XMLSECKEYDATARETRIEVALMETHODGETKLASS"></a><h3>xmlSecKeyDataRetrievalMethodGetKlass ()</h3>
680 <pre class="PROGRAMLISTING"><font>xmlSecKeyDataId</font> xmlSecKeyDataRetrievalMethodGetKlass
682 <p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> element key data klass
683 (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-RETRIEVALMETHOD"><span class="TYPE">sec-RetrievalMethod</span></gtkdoclink>):
684 A RetrievalMethod element within KeyInfo is used to convey a reference to
685 KeyInfo information that is stored at another location. For example,
686 several signatures in a document might use a key verified by an X.509v3
687 certificate chain appearing once in the document or remotely outside the
688 document; each signature's KeyInfo can reference this chain using a single
689 RetrievalMethod element instead of including the entire chain with a
690 sequence of X509Certificate elements.</p>
691 <p>RetrievalMethod uses the same syntax and dereferencing behavior as
692 Reference's URI and The Reference Processing Model.</p>
695 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
696 <td align="LEFT" valign="TOP"><a name="AEN6132"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
697 <td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmldsig-core/#sec-RetrievalMethod" target="_top"><dsig:RetrievalMethod/></a> element processing key data klass.</p></td>
698 </tr></tbody></table>
701 <div class="REFSECT2">
702 <a name="XMLSECKEYDATAENCRYPTEDKEYID"></a><h3>xmlSecKeyDataEncryptedKeyId</h3>
703 <pre class="PROGRAMLISTING">#define xmlSecKeyDataEncryptedKeyId xmlSecKeyDataEncryptedKeyGetKlass()</pre>
704 <p>The <enc:EncryptedKey> processing class.</p>
708 <div class="REFSECT2">
709 <a name="XMLSECKEYDATAENCRYPTEDKEYGETKLASS"></a><h3>xmlSecKeyDataEncryptedKeyGetKlass ()</h3>
710 <pre class="PROGRAMLISTING"><font>xmlSecKeyDataId</font> xmlSecKeyDataEncryptedKeyGetKlass (void);</pre>
711 <p>The <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> element key data klass
712 (http://www.w3.org/TR/xmlenc-core/<gtkdoclink href="SEC-ENCRYPTEDKEY"><span class="TYPE">sec-EncryptedKey</span></gtkdoclink>):</p>
713 <p>The EncryptedKey element is used to transport encryption keys from
714 the originator to a known recipient(s). It may be used as a stand-alone
715 XML document, be placed within an application document, or appear inside
716 an EncryptedData element as a child of a ds:KeyInfo element. The key value
717 is always encrypted to the recipient(s). When EncryptedKey is decrypted the
718 resulting octets are made available to the EncryptionMethod algorithm
719 without any additional processing.</p>
722 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
723 <td align="LEFT" valign="TOP"><a name="AEN6158"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
724 <td align="LEFT" valign="TOP"><p> the <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> element processing key data klass.</p></td>
725 </tr></tbody></table>
728 <table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
729 <td align="left"><a accesskey="p" href="xmlsec-io.html"><b><<< io</b></a></td>
730 <td align="right"><a accesskey="n" href="xmlsec-keysdata.html"><b>keysdata >>></b></a></td>
732 </td></tr></table></td>