|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /proc/21585/root/usr/share/doc/xmlsec1/api/ |
Upload File : |
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>keys</title>
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7">
<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
<link rel="PREVIOUS" title="keysdata" href="xmlsec-keysdata.html">
<link rel="NEXT" title="keysmngr" href="xmlsec-keysmngr.html">
<meta name="GENERATOR" content="GTK-Doc V1.2 (SGML mode)">
<style type="text/css">.synopsis, .classsynopsis {
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting {
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist {
padding: 4px;
margin-left: 3em;
}
.navigation {
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a {
color: #770000;
}
.navigation a:visited {
color: #550000;
}
.navigation .title {
font-size: 200%;
}</style>
</head>
<body><table witdh="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../news.html">News</a></li>
<li><a href="../documentation.html">Documentation</a></li>
<ul>
<li><a href="../faq.html">FAQ</a></li>
<li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
<li><a href="../api/xmlsec-reference.html">API reference</a></li>
<li><a href="../api/xmlsec-examples.html">Examples</a></li>
</ul>
<li><a href="../xmldsig.html">XML Digital Signature</a></li>
<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
<li><a href="../xmlenc.html">XML Encryption</a></li>
<li><a href="../c14n.html">XML Canonicalization</a></li>
<li><a href="../bugs.html">Reporting Bugs</a></li>
<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
<li><a href="../related.html">Related</a></li>
<li><a href="../authors.html">Authors</a></li>
</ul>
<table width="100%">
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
</tr>
<!--Sponsored links - start--><!--Sponsored links - end-->
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="xmlsec-keysdata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">XML Security Library Reference Manual</th>
<td><a accesskey="n" href="xmlsec-keysmngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<h1>
<a name="XMLSEC-KEYS"></a>keys</h1>
<div class="REFNAMEDIV">
<a name="AEN8256"></a><h2>Name</h2>keys -- </div>
<div class="REFSYNOPSISDIV">
<a name="AEN8259"></a><h2>Synopsis</h2>
<pre class="SYNOPSIS">
typedef <a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a>;
#define <a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a>
#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a>
#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a>
#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a>
#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a>
#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a>
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> dst,
<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> src);
<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a> (const <font>xmlChar</font> *application,
const <font>xmlChar</font> *identifier);
<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a>
(<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
const <font>xmlChar</font> *application,
const <font>xmlChar</font> *identifier);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
<font>FILE</font> *output);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a> (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
<font>FILE</font> *output);
struct <a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a>;
#define <a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a>
<font>xmlSecPtrListId</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a>
(void);
struct <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a>;
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> dst,
<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> src);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<font>FILE</font> *output);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a> (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<font>FILE</font> *output);
struct <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a>;
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a> (void);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>xmlSecKeyPtr</font> <a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keyDst,
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keySrc);
const <font>xmlChar</font>* <a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
const <font>xmlChar</font> *name);
<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> <a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>xmlSecKeyDataPtr</font> <a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);
<font>xmlSecKeyDataPtr</font> <a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>xmlSecKeyDataId</font> dataId);
<font>xmlSecKeyDataPtr</font> <a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>xmlSecKeyDataId</font> dataId);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> data);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>FILE</font> *output);
<font>void</font> <a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>FILE</font> *output);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a> (<font>xmlSecKeyDataId</font> dataId,
<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a> (const <font>xmlChar</font> *name,
<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
<font>int</font> <a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a> (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
const <font>xmlChar</font> *name,
<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a> (<font>xmlSecKeyDataId</font> dataId,
<a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a> *buffer);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a> (<font>xmlSecKeyDataId</font> dataId,
const <font>char</font> *filename);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a> (<font>xmlSecKeyDataId</font> dataId,
const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);
#define <a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a> (key)
#define <a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a> (key, keyId)
#define <a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a>
<font>xmlSecPtrListId</font> <a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a> (void);</pre>
</div>
<div class="REFSECT1">
<a name="AEN8425"></a><h2>Description</h2>
<p></p>
</div>
<div class="REFSECT1">
<a name="AEN8428"></a><h2>Details</h2>
<div class="REFSECT2">
<a name="AEN8430"></a><h3>
<a name="XMLSECKEYUSAGE"></a>xmlSecKeyUsage</h3>
<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyUsage;</pre>
<p>The key usage.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8438"></a><h3>
<a name="XMLSECKEYUSAGESIGN"></a>xmlSecKeyUsageSign</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUsageSign 0x00000001</pre>
<p>Key can be used in any way.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8446"></a><h3>
<a name="XMLSECKEYUSAGEVERIFY"></a>xmlSecKeyUsageVerify</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUsageVerify 0x00000002</pre>
<p>Key for signing.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8454"></a><h3>
<a name="XMLSECKEYUSAGEENCRYPT"></a>xmlSecKeyUsageEncrypt</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUsageEncrypt 0x00000004</pre>
<p>Key for signature verification.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8462"></a><h3>
<a name="XMLSECKEYUSAGEDECRYPT"></a>xmlSecKeyUsageDecrypt</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUsageDecrypt 0x00000008</pre>
<p>An encryption key.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8470"></a><h3>
<a name="XMLSECKEYUSAGEKEYEXCHANGE"></a>xmlSecKeyUsageKeyExchange</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUsageKeyExchange 0x00000010</pre>
<p>The key is used for key exchange.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8478"></a><h3>
<a name="XMLSECKEYUSAGEANY"></a>xmlSecKeyUsageAny</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUsageAny 0xFFFFFFFF</pre>
<p>A decryption key.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8486"></a><h3>
<a name="XMLSECKEYUSEWITHINITIALIZE"></a>xmlSecKeyUseWithInitialize ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyUseWithInitialize (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Initializes <var class="PARAMETER">keyUseWith</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8498"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8503"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8508"></a><h3>
<a name="XMLSECKEYUSEWITHFINALIZE"></a>xmlSecKeyUseWithFinalize ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyUseWithFinalize (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Finalizes <var class="PARAMETER">keyUseWith</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN8520"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8525"></a><h3>
<a name="XMLSECKEYUSEWITHRESET"></a>xmlSecKeyUseWithReset ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyUseWithReset (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Resets the <var class="PARAMETER">keyUseWith</var> to its state after initialization.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN8537"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8542"></a><h3>
<a name="XMLSECKEYUSEWITHCOPY"></a>xmlSecKeyUseWithCopy ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyUseWithCopy (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> dst,
<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> src);</pre>
<p>Copies information from <var class="PARAMETER">dst</var> to <var class="PARAMETER">src</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8556"><span style="white-space: nowrap"><var class="PARAMETER">dst</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to destination object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8561"><span style="white-space: nowrap"><var class="PARAMETER">src</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to source object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8566"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8571"></a><h3>
<a name="XMLSECKEYUSEWITHCREATE"></a>xmlSecKeyUseWithCreate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> xmlSecKeyUseWithCreate (const <font>xmlChar</font> *application,
const <font>xmlChar</font> *identifier);</pre>
<p>Creates new xmlSecKeyUseWith object. The caller is responsible for destroying
returned object with <var class="PARAMETER">xmlSecKeyUseWithDestroy</var> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8584"><span style="white-space: nowrap"><var class="PARAMETER">application</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the application value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8589"><span style="white-space: nowrap"><var class="PARAMETER">identifier</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the identifier value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8594"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created object or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8599"></a><h3>
<a name="XMLSECKEYUSEWITHDUPLICATE"></a>xmlSecKeyUseWithDuplicate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> xmlSecKeyUseWithDuplicate
(<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Duplicates <var class="PARAMETER">keyUseWith</var> object. The caller is responsible for destroying
returned object with <var class="PARAMETER">xmlSecKeyUseWithDestroy</var> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8612"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8617"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created object or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8622"></a><h3>
<a name="XMLSECKEYUSEWITHDESTROY"></a>xmlSecKeyUseWithDestroy ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyUseWithDestroy (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Destroys <var class="PARAMETER">keyUseWith</var> created with <var class="PARAMETER">xmlSecKeyUseWithCreate</var> or <var class="PARAMETER">xmlSecKeyUseWithDuplicate</var>
functions.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN8636"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8641"></a><h3>
<a name="XMLSECKEYUSEWITHSET"></a>xmlSecKeyUseWithSet ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyUseWithSet (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
const <font>xmlChar</font> *application,
const <font>xmlChar</font> *identifier);</pre>
<p>Sets <var class="PARAMETER">application</var> and <var class="PARAMETER">identifier</var> in the <var class="PARAMETER">keyUseWith</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8657"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8662"><span style="white-space: nowrap"><var class="PARAMETER">application</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new application value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8667"><span style="white-space: nowrap"><var class="PARAMETER">identifier</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new identifier value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8672"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8677"></a><h3>
<a name="XMLSECKEYUSEWITHDEBUGDUMP"></a>xmlSecKeyUseWithDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyUseWithDebugDump (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
<font>FILE</font> *output);</pre>
<p>Prints xmlSecKeyUseWith debug information to a file <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8690"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8695"><span style="white-space: nowrap"><var class="PARAMETER">output</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8700"></a><h3>
<a name="XMLSECKEYUSEWITHDEBUGXMLDUMP"></a>xmlSecKeyUseWithDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyUseWithDebugXmlDump (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
<font>FILE</font> *output);</pre>
<p>Prints xmlSecKeyUseWith debug information to a file <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8713"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8718"><span style="white-space: nowrap"><var class="PARAMETER">output</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8723"></a><h3>
<a name="XMLSECKEYUSEWITH"></a>struct xmlSecKeyUseWith</h3>
<pre class="PROGRAMLISTING">struct xmlSecKeyUseWith {
xmlChar* application;
xmlChar* identifier;
void* reserved1;
void* reserved2;
};</pre>
<p>Information about application and user of the key.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8732"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">application</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the application.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8738"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">identifier</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the identifier.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8744"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p></p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8750"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved2</code></span></a></td>
<td align="LEFT" valign="TOP"><p></p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8756"></a><h3>
<a name="XMLSECKEYUSEWITHPTRLISTID"></a>xmlSecKeyUseWithPtrListId</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUseWithPtrListId xmlSecKeyUseWithPtrListGetKlass()</pre>
<p>The keys list klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8764"></a><h3>
<a name="XMLSECKEYUSEWITHPTRLISTGETKLASS"></a>xmlSecKeyUseWithPtrListGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecPtrListId</font> xmlSecKeyUseWithPtrListGetKlass
(void);</pre>
<p>The key data list klass.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN8774"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to the key data list klass.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8779"></a><h3>
<a name="XMLSECKEYREQ"></a>struct xmlSecKeyReq</h3>
<pre class="PROGRAMLISTING">struct xmlSecKeyReq {
xmlSecKeyDataId keyId;
xmlSecKeyDataType keyType;
xmlSecKeyUsage keyUsage;
xmlSecSize keyBitsSize;
xmlSecPtrList keyUseWithList;
void* reserved1;
void* eserved2;
};</pre>
<p>The key requirements information.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8788"><span style="white-space: nowrap"><font>xmlSecKeyDataId</font> <code class="STRUCTFIELD">keyId</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the desired key value klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8794"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> <code class="STRUCTFIELD">keyType</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the desired key type.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8800"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a> <code class="STRUCTFIELD">keyUsage</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the desired key usage.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8806"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> <code class="STRUCTFIELD">keyBitsSize</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the desired key size (in bits!).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8812"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a> <code class="STRUCTFIELD">keyUseWithList</code></span></a></td>
<td align="LEFT" valign="TOP"><p></p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8818"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p></p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8824"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">eserved2</code></span></a></td>
<td align="LEFT" valign="TOP"><p></p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8830"></a><h3>
<a name="XMLSECKEYREQINITIALIZE"></a>xmlSecKeyReqInitialize ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyReqInitialize (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Initialize key requirements object. Caller is responsible for
cleaning it with <a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE"><span class="TYPE">xmlSecKeyReqFinalize</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8843"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8848"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8853"></a><h3>
<a name="XMLSECKEYREQFINALIZE"></a>xmlSecKeyReqFinalize ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyReqFinalize (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Cleans the key requirements object initialized with <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE"><span class="TYPE">xmlSecKeyReqInitialize</span></a>
function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN8866"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements object.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8871"></a><h3>
<a name="XMLSECKEYREQRESET"></a>xmlSecKeyReqReset ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyReqReset (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Resets key requirements object for new key search.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN8882"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements object.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8887"></a><h3>
<a name="XMLSECKEYREQCOPY"></a>xmlSecKeyReqCopy ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyReqCopy (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> dst,
<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> src);</pre>
<p>Copies key requirements from <var class="PARAMETER">src</var> object to <var class="PARAMETER">dst</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8901"><span style="white-space: nowrap"><var class="PARAMETER">dst</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to destination object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8906"><span style="white-space: nowrap"><var class="PARAMETER">src</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to source object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8911"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success and a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8916"></a><h3>
<a name="XMLSECKEYREQMATCHKEY"></a>xmlSecKeyReqMatchKey ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyReqMatchKey (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Checks whether <var class="PARAMETER">key</var> matches key requirements <var class="PARAMETER">keyReq</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8930"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8935"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8940"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if key matches requirements, 0 if not and a negative value
if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8945"></a><h3>
<a name="XMLSECKEYREQMATCHKEYVALUE"></a>xmlSecKeyReqMatchKeyValue ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyReqMatchKeyValue (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);</pre>
<p>Checks whether <var class="PARAMETER">keyValue</var> matches key requirements <var class="PARAMETER">keyReq</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8959"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8964"><span style="white-space: nowrap"><var class="PARAMETER">value</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8969"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if key value matches requirements, 0 if not and a negative value
if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8974"></a><h3>
<a name="XMLSECKEYREQDEBUGDUMP"></a>xmlSecKeyReqDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyReqDebugDump (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<font>FILE</font> *output);</pre>
<p>Prints debug information about <var class="PARAMETER">keyReq</var> into <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8988"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN8993"><span style="white-space: nowrap"><var class="PARAMETER">output</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN8998"></a><h3>
<a name="XMLSECKEYREQDEBUGXMLDUMP"></a>xmlSecKeyReqDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyReqDebugXmlDump (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
<font>FILE</font> *output);</pre>
<p>Prints debug information about <var class="PARAMETER">keyReq</var> into <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9012"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9017"><span style="white-space: nowrap"><var class="PARAMETER">output</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9022"></a><h3>
<a name="XMLSECKEY"></a>struct xmlSecKey</h3>
<pre class="PROGRAMLISTING">struct xmlSecKey {
xmlChar* name;
xmlSecKeyDataPtr value;
xmlSecPtrListPtr dataList;
xmlSecKeyUsage usage;
time_t notValidBefore;
time_t notValidAfter;
};</pre>
<p>The key.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9031"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">name</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the key name.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9037"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> <code class="STRUCTFIELD">value</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the key value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9043"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> <code class="STRUCTFIELD">dataList</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the key data list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9049"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a> <code class="STRUCTFIELD">usage</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the key usage.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9055"><span style="white-space: nowrap"><font>time_t</font> <code class="STRUCTFIELD">notValidBefore</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the start key validity interval.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9061"><span style="white-space: nowrap"><font>time_t</font> <code class="STRUCTFIELD">notValidAfter</code></span></a></td>
<td align="LEFT" valign="TOP"><p> the end key validity interval.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9067"></a><h3>
<a name="XMLSECKEYCREATE"></a>xmlSecKeyCreate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyCreate (void);</pre>
<p>Allocates and initializes new key. Caller is responsible for
freeing returned object with <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9079"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the pointer to newly allocated <var class="PARAMETER">xmlSecKey</var> structure
or NULL if an error occurs.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9085"></a><h3>
<a name="XMLSECKEYDESTROY"></a>xmlSecKeyDestroy ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyDestroy (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Destroys the key created using <a href="xmlsec-keys.html#XMLSECKEYCREATE"><span class="TYPE">xmlSecKeyCreate</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9098"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9103"></a><h3>
<a name="XMLSECKEYEMPTY"></a>xmlSecKeyEmpty ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyEmpty (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Clears the <var class="PARAMETER">key</var> data.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9115"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9120"></a><h3>
<a name="XMLSECKEYDUPLICATE"></a>xmlSecKeyDuplicate ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyPtr</font> xmlSecKeyDuplicate (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Creates a duplicate of the given <var class="PARAMETER">key</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9132"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to the <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9139"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the pointer to newly allocated <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure
or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9146"></a><h3>
<a name="XMLSECKEYCOPY"></a>xmlSecKeyCopy ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyCopy (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keyDst,
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keySrc);</pre>
<p>Copies key data from <var class="PARAMETER">keySrc</var> to <var class="PARAMETER">keyDst</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9160"><span style="white-space: nowrap"><var class="PARAMETER">keyDst</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the destination key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9165"><span style="white-space: nowrap"><var class="PARAMETER">keySrc</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the source key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9170"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9175"></a><h3>
<a name="XMLSECKEYGETNAME"></a>xmlSecKeyGetName ()</h3>
<pre class="PROGRAMLISTING">const <font>xmlChar</font>* xmlSecKeyGetName (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Gets key name (see also <a href="xmlsec-keys.html#XMLSECKEYSETNAME"><span class="TYPE">xmlSecKeySetName</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9188"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9193"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>key name.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9198"></a><h3>
<a name="XMLSECKEYSETNAME"></a>xmlSecKeySetName ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeySetName (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
const <font>xmlChar</font> *name);</pre>
<p>Sets key name (see also <a href="xmlsec-keys.html#XMLSECKEYGETNAME"><span class="TYPE">xmlSecKeyGetName</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9212"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9217"><span style="white-space: nowrap"><var class="PARAMETER">name</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new key name.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9222"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9227"></a><h3>
<a name="XMLSECKEYGETTYPE"></a>xmlSecKeyGetType ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> xmlSecKeyGetType (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Gets <var class="PARAMETER">key</var> type.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9239"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9244"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>key type.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9249"></a><h3>
<a name="XMLSECKEYGETVALUE"></a>xmlSecKeyGetValue ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyDataPtr</font> xmlSecKeyGetValue (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Gets key value (see also <a href="xmlsec-keys.html#XMLSECKEYSETVALUE"><span class="TYPE">xmlSecKeySetValue</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9262"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9267"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>key value (crypto material).</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9272"></a><h3>
<a name="XMLSECKEYSETVALUE"></a>xmlSecKeySetValue ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeySetValue (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);</pre>
<p>Sets key value (see also <a href="xmlsec-keys.html#XMLSECKEYGETVALUE"><span class="TYPE">xmlSecKeyGetValue</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9286"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9291"><span style="white-space: nowrap"><var class="PARAMETER">value</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9296"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9301"></a><h3>
<a name="XMLSECKEYGETDATA"></a>xmlSecKeyGetData ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyDataPtr</font> xmlSecKeyGetData (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>xmlSecKeyDataId</font> dataId);</pre>
<p>Gets key's data.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9313"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9318"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the requested data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9323"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>additional data associated with the <var class="PARAMETER">key</var> (see also
<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA"><span class="TYPE">xmlSecKeyAdoptData</span></a> function).</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9331"></a><h3>
<a name="XMLSECKEYENSUREDATA"></a>xmlSecKeyEnsureData ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyDataPtr</font> xmlSecKeyEnsureData (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>xmlSecKeyDataId</font> dataId);</pre>
<p>If necessary, creates key data of <var class="PARAMETER">dataId</var> klass and adds to <var class="PARAMETER">key</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9345"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9350"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the requested data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9355"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to key data or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9360"></a><h3>
<a name="XMLSECKEYADOPTDATA"></a>xmlSecKeyAdoptData ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyAdoptData (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> data);</pre>
<p>Adds <var class="PARAMETER">data</var> to the <var class="PARAMETER">key</var>. The <var class="PARAMETER">data</var> object will be destroyed
by <var class="PARAMETER">key</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9376"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9381"><span style="white-space: nowrap"><var class="PARAMETER">data</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9386"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9391"></a><h3>
<a name="XMLSECKEYDEBUGDUMP"></a>xmlSecKeyDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyDebugDump (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>FILE</font> *output);</pre>
<p>Prints the information about the <var class="PARAMETER">key</var> to the <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9405"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9410"><span style="white-space: nowrap"><var class="PARAMETER">output</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9415"></a><h3>
<a name="XMLSECKEYDEBUGXMLDUMP"></a>xmlSecKeyDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font> xmlSecKeyDebugXmlDump (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
<font>FILE</font> *output);</pre>
<p>Prints the information about the <var class="PARAMETER">key</var> to the <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9429"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9434"><span style="white-space: nowrap"><var class="PARAMETER">output</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9439"></a><h3>
<a name="XMLSECKEYGENERATE"></a>xmlSecKeyGenerate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyGenerate (<font>xmlSecKeyDataId</font> dataId,
<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
<p>Generates new key of requested klass <var class="PARAMETER">dataId</var> and <var class="PARAMETER">type</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9454"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the requested key klass (rsa, dsa, aes, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9459"><span style="white-space: nowrap"><var class="PARAMETER">sizeBits</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new key size (in bits!).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9464"><span style="white-space: nowrap"><var class="PARAMETER">type</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new key type (session, permanent, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9469"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9474"></a><h3>
<a name="XMLSECKEYGENERATEBYNAME"></a>xmlSecKeyGenerateByName ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyGenerateByName (const <font>xmlChar</font> *name,
<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
<p>Generates new key of requested <var class="PARAMETER">klass</var> and <var class="PARAMETER">type</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9489"><span style="white-space: nowrap"><var class="PARAMETER">name</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the requested key klass name (rsa, dsa, aes, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9494"><span style="white-space: nowrap"><var class="PARAMETER">sizeBits</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new key size (in bits!).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9499"><span style="white-space: nowrap"><var class="PARAMETER">type</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the new key type (session, permanent, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9504"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9509"></a><h3>
<a name="XMLSECKEYMATCH"></a>xmlSecKeyMatch ()</h3>
<pre class="PROGRAMLISTING"><font>int</font> xmlSecKeyMatch (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
const <font>xmlChar</font> *name,
<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Checks whether the <var class="PARAMETER">key</var> matches the given criteria.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9523"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9528"><span style="white-space: nowrap"><var class="PARAMETER">name</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key name (may be NULL).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9533"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key requirements.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9538"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if the key satisfies the given criteria or 0 otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9543"></a><h3>
<a name="XMLSECKEYREADBUFFER"></a>xmlSecKeyReadBuffer ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyReadBuffer (<font>xmlSecKeyDataId</font> dataId,
<a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a> *buffer);</pre>
<p>Reads the key value of klass <var class="PARAMETER">dataId</var> from a buffer.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9556"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the key value data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9561"><span style="white-space: nowrap"><var class="PARAMETER">buffer</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the buffer that contains the binary data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9566"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9571"></a><h3>
<a name="XMLSECKEYREADBINARYFILE"></a>xmlSecKeyReadBinaryFile ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyReadBinaryFile (<font>xmlSecKeyDataId</font> dataId,
const <font>char</font> *filename);</pre>
<p>Reads the key value of klass <var class="PARAMETER">dataId</var> from a binary file <var class="PARAMETER">filename</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9585"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the key value data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9590"><span style="white-space: nowrap"><var class="PARAMETER">filename</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the key binary filename.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9595"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9600"></a><h3>
<a name="XMLSECKEYREADMEMORY"></a>xmlSecKeyReadMemory ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyReadMemory (<font>xmlSecKeyDataId</font> dataId,
const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
<a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);</pre>
<p>Reads the key value of klass <var class="PARAMETER">dataId</var> from a memory block <var class="PARAMETER">data</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9615"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the key value data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9620"><span style="white-space: nowrap"><var class="PARAMETER">data</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the memory containing the key</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9625"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the size of the memory block</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9630"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9635"></a><h3>
<a name="XMLSECKEYISVALID"></a>xmlSecKeyIsValid()</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyIsValid(key)</pre>
<p>Macro. Returns 1 if <var class="PARAMETER">key</var> is not NULL and <var class="PARAMETER">key</var>->id is not NULL
or 0 otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9646"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9651"></a><h3>
<a name="XMLSECKEYCHECKID"></a>xmlSecKeyCheckId()</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyCheckId(key, keyId)</pre>
<p>Macro. Returns 1 if <var class="PARAMETER">key</var> is valid and <var class="PARAMETER">key</var>'s id is equal to <var class="PARAMETER">keyId</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9663"><span style="white-space: nowrap"><var class="PARAMETER">key</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9668"><span style="white-space: nowrap"><var class="PARAMETER">keyId</var> :</span></a></td>
<td align="LEFT" valign="TOP"><p> the key Id.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9673"></a><h3>
<a name="XMLSECKEYPTRLISTID"></a>xmlSecKeyPtrListId</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyPtrListId xmlSecKeyPtrListGetKlass()</pre>
<p>The keys list klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9681"></a><h3>
<a name="XMLSECKEYPTRLISTGETKLASS"></a>xmlSecKeyPtrListGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecPtrListId</font> xmlSecKeyPtrListGetKlass (void);</pre>
<p>The keys list klass.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9691"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>keys list id.</p></td>
</tr></tbody></table>
</div>
</div>
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
<td align="left"><a accesskey="p" href="xmlsec-keysdata.html"><b><<< keysdata</b></a></td>
<td align="right"><a accesskey="n" href="xmlsec-keysmngr.html"><b>keysmngr >>></b></a></td>
</tr></table>
</td></tr></table></td>
</tr></table></body>
</html>