summaryrefslogtreecommitdiff
path: root/docs/api/xmlsec-keys.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/xmlsec-keys.html')
-rw-r--r--docs/api/xmlsec-keys.html2365
1 files changed, 1638 insertions, 727 deletions
diff --git a/docs/api/xmlsec-keys.html b/docs/api/xmlsec-keys.html
index 52a03b06..b7659a02 100644
--- a/docs/api/xmlsec-keys.html
+++ b/docs/api/xmlsec-keys.html
@@ -36,8 +36,31 @@
.navigation .title {
font-size: 200%;
}</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
-<body><table witdh="100%" valign="top"><tr valign="top">
+<body><table width="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>
@@ -78,813 +101,1747 @@
</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>
+<td><a accesskey="p" href="xmlsec-keysdata.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" 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>
+<td><a accesskey="n" href="xmlsec-keysmngr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<h1>
<a name="XMLSEC-KEYS"></a>keys</h1>
<div class="REFNAMEDIV">
-<a name="AEN10470"></a><h2>Name</h2>keys -- Crypto key object definition.</div>
-<div class="REFSYNOPSISDIV">
-<a name="XMLSEC-KEYS.SYNOPSIS"></a><h2>Synopsis</h2>
-<pre class="SYNOPSIS">struct <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a>;
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);
-#define <a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a> (key,
- keyId)
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keyDst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keySrc</code>);
-<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-<gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);
-<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);
-<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);
-<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);
-const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * <a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> <a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-<gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-#define <a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a> (key)
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);
-<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);
-#define <a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a>
-<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>);
-<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> *buffer</code>);
-<a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);
-struct <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a>;
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> src</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);
-typedef <a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a>;
-#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a>
-#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a>
-#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a>
-#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a>
-#define <a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a>
-#define <a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a>
-struct <a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a>;
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> src</code>);
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a> (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);
-<gtkdoclink href="XMLSECKEYUSEWITHPTR"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);
-<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>);
-#define <a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a>
-<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);
-<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a> (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>);</pre>
-</div>
+<a name="AEN11886"></a><h2>Name</h2>keys -- Crypto key object definition.</div>
<div class="REFSECT1">
-<a name="XMLSEC-KEYS.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto key object definition.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYS.DETAILS"></a><h2>Details</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEY"></a><h3>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>
+<a name="XMLSEC-KEYS.FUNCTIONS"></a><h2>Functions</h2>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN11891"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<tbody>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10832"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key name.</p></td>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10839"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> <code class="STRUCTFIELD">value</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key value.</p></td>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10846"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">dataList</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key data list.</p></td>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10853"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">usage</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key usage.</p></td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10860"><span style="white-space: nowrap"><gtkdoclink href="TIME-T"><span class="TYPE">time_t</span></gtkdoclink> <code class="STRUCTFIELD">notValidBefore</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the start key validity interval.</p></td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10867"><span style="white-space: nowrap"><gtkdoclink href="TIME-T"><span class="TYPE">time_t</span></gtkdoclink> <code class="STRUCTFIELD">notValidAfter</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the end key validity interval.</p></td>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYADOPTDATA"></a><h3>xmlSecKeyAdoptData ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyAdoptData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Adds <code class="PARAMETER">data</code> to the <code class="PARAMETER">key</code>. The <code class="PARAMETER">data</code> object will be destroyed
-by <code class="PARAMETER">key</code>.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10893"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10898"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key data.</p></td>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10903"><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>
+<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">void</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><font><span class="RETURNVALUE">int</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
+</tr>
+<tr>
+<td>#define</td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYCHECKID"></a><h3>xmlSecKeyCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyCheckId(key, keyId)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">key</code> is valid and <code class="PARAMETER">key</code>'s id is equal to <code class="PARAMETER">keyId</code>.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10918"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td>#define</td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10923"><span style="white-space: nowrap"><code class="PARAMETER">keyId</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key Id.</p></td>
+<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
+<td>
+<a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+</td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYCOPY"></a><h3>xmlSecKeyCopy ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keyDst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keySrc</code>);</pre>
-<p>Copies key data from <code class="PARAMETER">keySrc</code> to <code class="PARAMETER">keyDst</code>.</p>
+</div>
+<div class="REFSECT1">
+<a name="XMLSEC-KEYS.OTHER"></a><h2>Types and Values</h2>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12193"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<tbody>
+<tr>
+<td>typedef</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a></td>
+</tr>
+<tr>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a></td>
+</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10945"><span style="white-space: nowrap"><code class="PARAMETER">keyDst</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the destination key.</p></td>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a></td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10950"><span style="white-space: nowrap"><code class="PARAMETER">keySrc</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the source key.</p></td>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a></td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10955"><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>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a></td>
</tr>
-</tbody></table>
+<tr>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a></td>
+</tr>
+<tr>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a></td>
+</tr>
+<tr>
+<td>struct</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a></td>
+</tr>
+<tr>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a></td>
+</tr>
+<tr>
+<td>struct</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a></td>
+</tr>
+<tr>
+<td>struct</td>
+<td><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a></td>
+</tr>
+<tr>
+<td>#define</td>
+<td><a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a></td>
+</tr>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT1">
+<a name="XMLSEC-KEYS.DESCRIPTION"></a><h2>Description</h2>
+<p>Crypto key object definition.</p>
+</div>
+<div class="REFSECT1">
+<a name="XMLSEC-KEYS.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
+<div class="REFSECT2">
+<a name="XMLSECKEYUSEWITHINITIALIZE"></a><h3>xmlSecKeyUseWithInitialize ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyUseWithInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
+<p>Initializes <code class="PARAMETER">keyUseWith</code>
+ object.</p>
+<div class="REFSECT3">
+<a name="AEN12261"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12263"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12272"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYCREATE"></a><h3>xmlSecKeyCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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>
+<a name="XMLSECKEYUSEWITHFINALIZE"></a><h3>xmlSecKeyUseWithFinalize ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyUseWithFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
+<p>Finalizes <code class="PARAMETER">keyUseWith</code>
+ object.</p>
+<div class="REFSECT3">
+<a name="AEN12287"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12289"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN10973"><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 <code class="PARAMETER">xmlSecKey</code> structure
-or NULL if an error occurs.</p></td>
-</tr></tbody></table>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYDEBUGDUMP"></a><h3>xmlSecKeyDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre>
-<p>Prints the information about the <code class="PARAMETER">key</code> to the <code class="PARAMETER">output</code>.</p>
+<a name="XMLSECKEYUSEWITHRESET"></a><h3>xmlSecKeyUseWithReset ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyUseWithReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
+<p>Resets the <code class="PARAMETER">keyUseWith</code>
+ to its state after initialization.</p>
+<div class="REFSECT3">
+<a name="AEN12310"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN10996"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
-</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11001"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td>
-</tr>
-</tbody></table>
+<a name="AEN12312"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYDEBUGXMLDUMP"></a><h3>xmlSecKeyDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre>
-<p>Prints the information about the <code class="PARAMETER">key</code> to the <code class="PARAMETER">output</code> in XML format.</p>
+<a name="XMLSECKEYUSEWITHCOPY"></a><h3>xmlSecKeyUseWithCopy ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyUseWithCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> dst</code>,
+ <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> src</code>);</pre>
+<p>Copies information from <code class="PARAMETER">dst</code>
+ to <code class="PARAMETER">src</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12337"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12339"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11023"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>dst</p></td>
+<td><p>the pointer to destination object.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11028"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td>
+<td><p>src</p></td>
+<td><p>the pointer to source object.</p></td>
+<td> </td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDESTROY"></a><h3>xmlSecKeyDestroy ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Destroys the key created using <a href="xmlsec-keys.html#XMLSECKEYCREATE"><span class="TYPE">xmlSecKeyCreate</span></a> function.</p>
+</tbody>
+</table>
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN11047"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
-</tr></tbody></table>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12354"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYDUPLICATE"></a><h3>xmlSecKeyDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYPTR"><span class="RETURNVALUE">xmlSecKeyPtr</span></gtkdoclink> xmlSecKeyDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Creates a duplicate of the given <code class="PARAMETER">key</code>.</p>
+<a name="XMLSECKEYUSEWITHCREATE"></a><h3>xmlSecKeyUseWithCreate ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a>
+xmlSecKeyUseWithCreate (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *application</code>,
+ <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *identifier</code>);</pre>
+<p>Creates new xmlSecKeyUseWith object. The caller is responsible for destroying
+returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code>
+ function.</p>
+<div class="REFSECT3">
+<a name="AEN12372"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12374"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11065"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</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>
+<td><p>application</p></td>
+<td><p>the application value.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11072"><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>
+<td><p>identifier</p></td>
+<td><p>the identifier value.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12389"></a><h4>Returns</h4>
+<p> pointer to newly created object or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYEMPTY"></a><h3>xmlSecKeyEmpty ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyEmpty (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Clears the <code class="PARAMETER">key</code> data.</p>
+<a name="XMLSECKEYUSEWITHDUPLICATE"></a><h3>xmlSecKeyUseWithDuplicate ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a>
+xmlSecKeyUseWithDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
+<p>Duplicates <code class="PARAMETER">keyUseWith</code>
+ object. The caller is responsible for destroying
+returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code>
+ function.</p>
+<div class="REFSECT3">
+<a name="AEN12405"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN11092"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
-</tr></tbody></table>
+<a name="AEN12407"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12416"></a><h4>Returns</h4>
+<p> pointer to newly created object or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYENSUREDATA"></a><h3>xmlSecKeyEnsureData ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyEnsureData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);</pre>
-<p>If necessary, creates key data of <code class="PARAMETER">dataId</code> klass and adds to <code class="PARAMETER">key</code>.</p>
+<a name="XMLSECKEYUSEWITHDESTROY"></a><h3>xmlSecKeyUseWithDestroy ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyUseWithDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
+<p>Destroys <code class="PARAMETER">keyUseWith</code>
+ created with <code class="PARAMETER">xmlSecKeyUseWithCreate</code>
+ or <code class="PARAMETER">xmlSecKeyUseWithDuplicate</code>
+
+functions.</p>
+<div class="REFSECT3">
+<a name="AEN12433"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12435"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYUSEWITHSET"></a><h3>xmlSecKeyUseWithSet ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyUseWithSet (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
+ <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *application</code>,
+ <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *identifier</code>);</pre>
+<p>Sets <code class="PARAMETER">application</code>
+ and <code class="PARAMETER">identifier</code>
+ in the <code class="PARAMETER">keyUseWith</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12464"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12466"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11114"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11119"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the requested data klass.</p></td>
+<td><p>application</p></td>
+<td><p>the new application value.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11124"><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>
+<td><p>identifier</p></td>
+<td><p>the new identifier value.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12487"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYGENERATE"></a><h3>xmlSecKeyGenerate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyGenerate (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Generates new key of requested klass <code class="PARAMETER">dataId</code> and <code class="PARAMETER">type</code>.</p>
+<a name="XMLSECKEYUSEWITHDEBUGDUMP"></a><h3>xmlSecKeyUseWithDebugDump ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyUseWithDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
+ <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12505"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12507"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11149"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the requested key klass (rsa, dsa, aes, ...).</p></td>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11154"><span style="white-space: nowrap"><code class="PARAMETER">sizeBits</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new key size (in bits!).</p></td>
+<td><p>output</p></td>
+<td><p>the pointer to output FILE.</p></td>
+<td> </td>
</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11159"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</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="AEN11164"><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>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYGENERATEBYNAME"></a><h3>xmlSecKeyGenerateByName ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyGenerateByName (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Generates new key of requested <code class="PARAMETER">klass</code> and <code class="PARAMETER">type</code>.</p>
+<a name="XMLSECKEYUSEWITHDEBUGXMLDUMP"></a><h3>xmlSecKeyUseWithDebugXmlDump ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyUseWithDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
+ <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code>
+ in XML format.</p>
+<div class="REFSECT3">
+<a name="AEN12537"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12539"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11189"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the requested key klass name (rsa, dsa, aes, ...).</p></td>
+<td><p>keyUseWith</p></td>
+<td><p>the pointer to information about key application/user.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11194"><span style="white-space: nowrap"><code class="PARAMETER">sizeBits</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new key size (in bits!).</p></td>
+<td><p>output</p></td>
+<td><p>the pointer to output FILE.</p></td>
+<td> </td>
</tr>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYUSEWITHPTRLISTGETKLASS"></a><h3>xmlSecKeyUseWithPtrListGetKlass ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
+xmlSecKeyUseWithPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<p>The key data list klass.</p>
+<div class="REFSECT3">
+<a name="AEN12564"></a><h4>Returns</h4>
+<p> pointer to the key data list klass.</p>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYREQINITIALIZE"></a><h3>xmlSecKeyReqInitialize ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyReqInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</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>
+<div class="REFSECT3">
+<a name="AEN12580"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12582"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements object.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12591"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYREQFINALIZE"></a><h3>xmlSecKeyReqFinalize ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyReqFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
+<p>Cleans the key requirements object initialized with <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE"><span class="TYPE">xmlSecKeyReqInitialize</span></a>
+function.</p>
+<div class="REFSECT3">
+<a name="AEN12607"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12609"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements object.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYREQRESET"></a><h3>xmlSecKeyReqReset ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyReqReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
+<p>Resets key requirements object for new key search.</p>
+<div class="REFSECT3">
+<a name="AEN12629"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12631"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements object.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYREQCOPY"></a><h3>xmlSecKeyReqCopy ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyReqCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> dst</code>,
+ <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> src</code>);</pre>
+<p>Copies key requirements from <code class="PARAMETER">src</code>
+ object to <code class="PARAMETER">dst</code>
+ object.</p>
+<div class="REFSECT3">
+<a name="AEN12656"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12658"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11199"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new key type (session, permanent, ...).</p></td>
+<td><p>dst</p></td>
+<td><p>the pointer to destination object.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11204"><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>
+<td><p>src</p></td>
+<td><p>the pointer to source object.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12673"></a><h4>Returns</h4>
+<p> 0 on success and a negative value if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYGETDATA"></a><h3>xmlSecKeyGetData ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyGetData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>);</pre>
-<p>Gets key's data.</p>
+<a name="XMLSECKEYREQMATCHKEY"></a><h3>xmlSecKeyReqMatchKey ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyReqMatchKey (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
+ <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Checks whether <code class="PARAMETER">key</code>
+ matches key requirements <code class="PARAMETER">keyReq</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12692"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11224"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
-</tr>
+<a name="AEN12694"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11229"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the requested data klass.</p></td>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements object.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11234"><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 <code class="PARAMETER">key</code> (see also
-<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA"><span class="TYPE">xmlSecKeyAdoptData</span></a> function).</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12709"></a><h4>Returns</h4>
+<p> 1 if key matches requirements, 0 if not and a negative value
+if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYGETNAME"></a><h3>xmlSecKeyGetName ()</h3>
-<pre class="PROGRAMLISTING">const <gtkdoclink href="XMLCHAR"><span class="RETURNVALUE">xmlChar</span></gtkdoclink> * xmlSecKeyGetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Gets key name (see also <a href="xmlsec-keys.html#XMLSECKEYSETNAME"><span class="TYPE">xmlSecKeySetName</span></a> function).</p>
+<a name="XMLSECKEYREQMATCHKEYVALUE"></a><h3>xmlSecKeyReqMatchKeyValue ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyReqMatchKeyValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
+ <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre>
+<p>Checks whether <code class="PARAMETER">keyValue</code>
+ matches key requirements <code class="PARAMETER">keyReq</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12728"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12730"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11256"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11261"><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>
+<td><p>value</p></td>
+<td><p>the pointer to key value.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12745"></a><h4>Returns</h4>
+<p> 1 if key value matches requirements, 0 if not and a negative value
+if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYGETTYPE"></a><h3>xmlSecKeyGetType ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a> xmlSecKeyGetType (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Gets <code class="PARAMETER">key</code> type.</p>
+<a name="XMLSECKEYREQDEBUGDUMP"></a><h3>xmlSecKeyReqDebugDump ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyReqDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
+ <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<p>Prints debug information about <code class="PARAMETER">keyReq</code>
+ into <code class="PARAMETER">output</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12764"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12766"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11279"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements object.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11284"><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>
+<td><p>output</p></td>
+<td><p>the pointer to output FILE.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYGETVALUE"></a><h3>xmlSecKeyGetValue ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYDATAPTR"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></gtkdoclink> xmlSecKeyGetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Gets key value (see also <a href="xmlsec-keys.html#XMLSECKEYSETVALUE"><span class="TYPE">xmlSecKeySetValue</span></a> function).</p>
+<a name="XMLSECKEYREQDEBUGXMLDUMP"></a><h3>xmlSecKeyReqDebugXmlDump ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyReqDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
+ <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<p>Prints debug information about <code class="PARAMETER">keyReq</code>
+ into <code class="PARAMETER">output</code>
+ in XML format.</p>
+<div class="REFSECT3">
+<a name="AEN12797"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12799"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11303"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements object.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11308"><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>
+<td><p>output</p></td>
+<td><p>the pointer to output FILE.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYISVALID"></a><h3>xmlSecKeyIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyIsValid(key)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">key</code> is not NULL and <code class="PARAMETER">key</code>-&gt;id is not NULL
-or 0 otherwise.</p>
+<a name="XMLSECKEYCREATE"></a><h3>xmlSecKeyCreate ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</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>
+<div class="REFSECT3">
+<a name="AEN12826"></a><h4>Returns</h4>
+<p> the pointer to newly allocated <code class="PARAMETER">xmlSecKey</code>
+structure
+or NULL if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYDESTROY"></a><h3>xmlSecKeyDestroy ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Destroys the key created using <a href="xmlsec-keys.html#XMLSECKEYCREATE"><span class="TYPE">xmlSecKeyCreate</span></a> function.</p>
+<div class="REFSECT3">
+<a name="AEN12843"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN11322"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
-</tr></tbody></table>
+<a name="AEN12845"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYMATCH"></a><h3>xmlSecKeyMatch ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyMatch (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
-<p>Checks whether the <code class="PARAMETER">key</code> matches the given criteria.</p>
+<a name="XMLSECKEYEMPTY"></a><h3>xmlSecKeyEmpty ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyEmpty (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Clears the <code class="PARAMETER">key</code>
+ data.</p>
+<div class="REFSECT3">
+<a name="AEN12866"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN12868"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYDUPLICATE"></a><h3>xmlSecKeyDuplicate ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Creates a duplicate of the given <code class="PARAMETER">key</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12889"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12891"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to the <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12902"></a><h4>Returns</h4>
+<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>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYCOPY"></a><h3>xmlSecKeyCopy ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keyDst</code>,
+ <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keySrc</code>);</pre>
+<p>Copies key data from <code class="PARAMETER">keySrc</code>
+ to <code class="PARAMETER">keyDst</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN12923"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12925"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11346"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>keyDst</p></td>
+<td><p>the destination key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11351"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key name (may be NULL).</p></td>
+<td><p>keySrc</p></td>
+<td><p>the source key.</p></td>
+<td> </td>
</tr>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12940"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYGETNAME"></a><h3>xmlSecKeyGetName ()</h3>
+<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
+xmlSecKeyGetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Gets key name (see also <a href="xmlsec-keys.html#XMLSECKEYSETNAME"><span class="TYPE">xmlSecKeySetName</span></a> function).</p>
+<div class="REFSECT3">
+<a name="AEN12956"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12958"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN12967"></a><h4>Returns</h4>
+<p> key name.</p>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYSETNAME"></a><h3>xmlSecKeySetName ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeySetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>);</pre>
+<p>Sets key name (see also <a href="xmlsec-keys.html#XMLSECKEYGETNAME"><span class="TYPE">xmlSecKeyGetName</span></a> function).</p>
+<div class="REFSECT3">
+<a name="AEN12986"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN12988"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11356"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11361"><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>
+<td><p>name</p></td>
+<td><p>the new key name.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13003"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYPTRLISTGETKLASS"></a><h3>xmlSecKeyPtrListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The keys list klass.</p>
+<a name="XMLSECKEYGETTYPE"></a><h3>xmlSecKeyGetType ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a>
+xmlSecKeyGetType (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Gets <code class="PARAMETER">key</code>
+ type.</p>
+<div class="REFSECT3">
+<a name="AEN13018"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN13020"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN11377"><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>
+<div class="REFSECT3">
+<a name="AEN13029"></a><h4>Returns</h4>
+<p> key type.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYPTRLISTID"></a><h3>xmlSecKeyPtrListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyPtrListId xmlSecKeyPtrListGetKlass()</pre>
-<p>The keys list klass.</p>
+<a name="XMLSECKEYGETVALUE"></a><h3>xmlSecKeyGetValue ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
+xmlSecKeyGetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<p>Gets key value (see also <a href="xmlsec-keys.html#XMLSECKEYSETVALUE"><span class="TYPE">xmlSecKeySetValue</span></a> function).</p>
+<div class="REFSECT3">
+<a name="AEN13045"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN13047"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13056"></a><h4>Returns</h4>
+<p> key value (crypto material).</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREADBINARYFILE"></a><h3>xmlSecKeyReadBinaryFile ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyReadBinaryFile (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER">const <gtkdoclink href="CHAR"><span class="TYPE">char</span></gtkdoclink> *filename</code>);</pre>
-<p>Reads the key value of klass <code class="PARAMETER">dataId</code> from a binary file <code class="PARAMETER">filename</code>.</p>
+<a name="XMLSECKEYSETVALUE"></a><h3>xmlSecKeySetValue ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeySetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre>
+<p>Sets key value (see also <a href="xmlsec-keys.html#XMLSECKEYGETVALUE"><span class="TYPE">xmlSecKeyGetValue</span></a> function).</p>
+<div class="REFSECT3">
+<a name="AEN13075"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13077"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11405"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key value data klass.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11410"><span style="white-space: nowrap"><code class="PARAMETER">filename</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key binary filename.</p></td>
+<td><p>value</p></td>
+<td><p>the new value.</p></td>
+<td> </td>
</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11415"><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>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13092"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREADBUFFER"></a><h3>xmlSecKeyReadBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyReadBuffer (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> *buffer</code>);</pre>
-<p>Reads the key value of klass <code class="PARAMETER">dataId</code> from a buffer.</p>
+<a name="XMLSECKEYGETDATA"></a><h3>xmlSecKeyGetData ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
+xmlSecKeyGetData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>);</pre>
+<p>Gets key's data.</p>
+<div class="REFSECT3">
+<a name="AEN13109"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13111"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11436"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the key value data klass.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11441"><span style="white-space: nowrap"><code class="PARAMETER">buffer</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the buffer that contains the binary data.</p></td>
+<td><p>dataId</p></td>
+<td><p>the requested data klass.</p></td>
+<td> </td>
</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11446"><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>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13126"></a><h4>Returns</h4>
+<p> additional data associated with the <code class="PARAMETER">key</code>
+(see also
+<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA"><span class="TYPE">xmlSecKeyAdoptData</span></a> function).</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREADMEMORY"></a><h3>xmlSecKeyReadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a> xmlSecKeyReadMemory (<code class="PARAMETER"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> dataId</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
-<p>Reads the key value of klass <code class="PARAMETER">dataId</code> from a memory block <code class="PARAMETER">data</code>.</p>
+<a name="XMLSECKEYENSUREDATA"></a><h3>xmlSecKeyEnsureData ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
+xmlSecKeyEnsureData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>);</pre>
+<p>If necessary, creates key data of <code class="PARAMETER">dataId</code>
+ klass and adds to <code class="PARAMETER">key</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13148"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11471"><span style="white-space: nowrap"><code class="PARAMETER">dataId</code> :</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="AEN11476"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the memory containing the key</p></td>
-</tr>
+<a name="AEN13150"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11481"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the size of the memory block</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11486"><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>
+<td><p>dataId</p></td>
+<td><p>the requested data klass.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13165"></a><h4>Returns</h4>
+<p> pointer to key data or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQ"></a><h3>struct xmlSecKeyReq</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyReq {
- xmlSecKeyDataId keyId;
- xmlSecKeyDataType keyType;
- xmlSecKeyUsage keyUsage;
- xmlSecSize keyBitsSize;
- xmlSecPtrList keyUseWithList;
-
- void* reserved1;
- void* reserved2;
-};</pre>
-<p>The key requirements information.</p>
+<a name="XMLSECKEYADOPTDATA"></a><h3>xmlSecKeyAdoptData ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyAdoptData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<p>Adds <code class="PARAMETER">data</code>
+ to the <code class="PARAMETER">key</code>
+. The <code class="PARAMETER">data</code>
+ object will be destroyed
+by <code class="PARAMETER">key</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13186"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11498"><span style="white-space: nowrap"><gtkdoclink href="XMLSECKEYDATAID"><span class="TYPE">xmlSecKeyDataId</span></gtkdoclink> <code class="STRUCTFIELD">keyId</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the desired key value klass.</p></td>
-</tr>
+<a name="AEN13188"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11505"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> <code class="STRUCTFIELD">keyType</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the desired key type.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11512"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">keyUsage</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the desired key usage.</p></td>
+<td><p>data</p></td>
+<td><p>the pointer to key data.</p></td>
+<td> </td>
</tr>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13203"></a><h4>Returns</h4>
+<p> 0 on success or a negative value otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYDEBUGDUMP"></a><h3>xmlSecKeyDebugDump ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<p>Prints the information about the <code class="PARAMETER">key</code>
+ to the <code class="PARAMETER">output</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13222"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN13224"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11519"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">keyBitsSize</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the desired key size (in bits!).</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11526"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">keyUseWithList</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the desired key use with application/identifier information.</p></td>
+<td><p>output</p></td>
+<td><p>the pointer to output FILE.</p></td>
+<td> </td>
</tr>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYDEBUGXMLDUMP"></a><h3>xmlSecKeyDebugXmlDump ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+xmlSecKeyDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<p>Prints the information about the <code class="PARAMETER">key</code>
+ to the <code class="PARAMETER">output</code>
+ in XML format.</p>
+<div class="REFSECT3">
+<a name="AEN13255"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
+<p></p>
+<a name="AEN13257"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11533"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11540"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved2</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td>
+<td><p>output</p></td>
+<td><p>the pointer to output FILE.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQCOPY"></a><h3>xmlSecKeyReqCopy ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> src</code>);</pre>
-<p>Copies key requirements from <code class="PARAMETER">src</code> object to <code class="PARAMETER">dst</code> object.</p>
+<a name="XMLSECKEYGENERATE"></a><h3>xmlSecKeyGenerate ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyGenerate (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
+ <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
+ <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<p>Generates new key of requested klass <code class="PARAMETER">dataId</code>
+ and <code class="PARAMETER">type</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13291"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13293"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11564"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to destination object.</p></td>
+<td><p>dataId</p></td>
+<td><p>the requested key klass (rsa, dsa, aes, ...).</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11569"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to source object.</p></td>
+<td><p>sizeBits</p></td>
+<td><p>the new key size (in bits!).</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11574"><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>
+<td><p>type</p></td>
+<td><p>the new key type (session, permanent, ...).</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13314"></a><h4>Returns</h4>
+<p> pointer to newly created key or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQDEBUGDUMP"></a><h3>xmlSecKeyReqDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">keyReq</code> into <code class="PARAMETER">output</code>.</p>
+<a name="XMLSECKEYGENERATEBYNAME"></a><h3>xmlSecKeyGenerateByName ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyGenerateByName (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
+ <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
+ <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<p>Generates new key of requested <code class="PARAMETER">klass</code>
+ and <code class="PARAMETER">type</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13336"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13338"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
+<tr>
+<td><p>name</p></td>
+<td><p>the requested key klass name (rsa, dsa, aes, ...).</p></td>
+<td> </td>
+</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11596"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td>
+<td><p>sizeBits</p></td>
+<td><p>the new key size (in bits!).</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11601"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td>
+<td><p>type</p></td>
+<td><p>the new key type (session, permanent, ...).</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13359"></a><h4>Returns</h4>
+<p> pointer to newly created key or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQDEBUGXMLDUMP"></a><h3>xmlSecKeyReqDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">keyReq</code> into <code class="PARAMETER">output</code> in XML format.</p>
+<a name="XMLSECKEYMATCH"></a><h3>xmlSecKeyMatch ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+xmlSecKeyMatch (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
+ <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
+ <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
+<p>Checks whether the <code class="PARAMETER">key</code>
+ matches the given criteria.</p>
+<div class="REFSECT3">
+<a name="AEN13380"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13382"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11623"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11628"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td>
+<td><p>name</p></td>
+<td><p>the pointer to key name (may be NULL).</p></td>
+<td> </td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQFINALIZE"></a><h3>xmlSecKeyReqFinalize ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
-<p>Cleans the key requirements object initialized with <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE"><span class="TYPE">xmlSecKeyReqInitialize</span></a>
-function.</p>
+<tr>
+<td><p>keyReq</p></td>
+<td><p>the pointer to key requirements.</p></td>
+<td> </td>
+</tr>
+</tbody>
+</table>
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN11647"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td>
-</tr></tbody></table>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13403"></a><h4>Returns</h4>
+<p> 1 if the key satisfies the given criteria or 0 otherwise.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQINITIALIZE"></a><h3>xmlSecKeyReqInitialize ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</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>
+<a name="XMLSECKEYREADBUFFER"></a><h3>xmlSecKeyReadBuffer ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyReadBuffer (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
+ <code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> *buffer</code>);</pre>
+<p>Reads the key value of klass <code class="PARAMETER">dataId</code>
+ from a buffer.</p>
+<div class="REFSECT3">
+<a name="AEN13421"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13423"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11666"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td>
+<td><p>dataId</p></td>
+<td><p>the key value data klass.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11671"><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>
+<td><p>buffer</p></td>
+<td><p>the buffer that contains the binary data.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13438"></a><h4>Returns</h4>
+<p> pointer to newly created key or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQMATCHKEY"></a><h3>xmlSecKeyReqMatchKey ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqMatchKey (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Checks whether <code class="PARAMETER">key</code> matches key requirements <code class="PARAMETER">keyReq</code>.</p>
+<a name="XMLSECKEYREADBINARYFILE"></a><h3>xmlSecKeyReadBinaryFile ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyReadBinaryFile (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
+ <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>);</pre>
+<p>Reads the key value of klass <code class="PARAMETER">dataId</code>
+ from a binary file <code class="PARAMETER">filename</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13457"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11693"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td>
-</tr>
+<a name="AEN13459"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11698"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>dataId</p></td>
+<td><p>the key value data klass.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11703"><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>
+<td><p>filename</p></td>
+<td><p>the key binary filename.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13474"></a><h4>Returns</h4>
+<p> pointer to newly created key or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQMATCHKEYVALUE"></a><h3>xmlSecKeyReqMatchKeyValue ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyReqMatchKeyValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre>
-<p>Checks whether <code class="PARAMETER">keyValue</code> matches key requirements <code class="PARAMETER">keyReq</code>.</p>
+<a name="XMLSECKEYREADMEMORY"></a><h3>xmlSecKeyReadMemory ()</h3>
+<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
+xmlSecKeyReadMemory (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
+ <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
+ <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
+<p>Reads the key value of klass <code class="PARAMETER">dataId</code>
+ from a memory block <code class="PARAMETER">data</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13496"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13498"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11725"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements.</p></td>
+<td><p>dataId</p></td>
+<td><p>the key value data klass.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11730"><span style="white-space: nowrap"><code class="PARAMETER">value</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key value.</p></td>
+<td><p>data</p></td>
+<td><p>the memory containing the key</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11735"><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>
+<td><p>dataSize</p></td>
+<td><p>the size of the memory block</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+<div class="REFSECT3">
+<a name="AEN13519"></a><h4>Returns</h4>
+<p> pointer to newly created key or NULL if an error occurs.</p>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYREQRESET"></a><h3>xmlSecKeyReqReset ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyReqReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
-<p>Resets key requirements object for new key search.</p>
+<a name="XMLSECKEYISVALID"></a><h3>xmlSecKeyIsValid()</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyIsValid(key)</pre>
+<p>Macro. Returns 1 if <code class="PARAMETER">key</code>
+ is not NULL and <code class="PARAMETER">key-&gt;id</code>
+ is not NULL
+or 0 otherwise.</p>
+<div class="REFSECT3">
+<a name="AEN13530"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN11752"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key requirements object.</p></td>
-</tr></tbody></table>
+<a name="AEN13532"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody><tr>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
+</tr></tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYSETNAME"></a><h3>xmlSecKeySetName ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeySetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>);</pre>
-<p>Sets key name (see also <a href="xmlsec-keys.html#XMLSECKEYGETNAME"><span class="TYPE">xmlSecKeyGetName</span></a> function).</p>
+<a name="XMLSECKEYCHECKID"></a><h3>xmlSecKeyCheckId()</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyCheckId(key, keyId)</pre>
+<p>Macro. Returns 1 if <code class="PARAMETER">key</code>
+ is valid and <code class="PARAMETER">key</code>
+'s id is equal to <code class="PARAMETER">keyId</code>
+.</p>
+<div class="REFSECT3">
+<a name="AEN13550"></a><h4>Parameters</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13552"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11774"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
+<td><p>key</p></td>
+<td><p>the pointer to key.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11779"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new key name.</p></td>
+<td><p>keyId</p></td>
+<td><p>the key Id.</p></td>
+<td> </td>
</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11784"><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>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYSETVALUE"></a><h3>xmlSecKeySetValue ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeySetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre>
-<p>Sets key value (see also <a href="xmlsec-keys.html#XMLSECKEYGETVALUE"><span class="TYPE">xmlSecKeyGetValue</span></a> function).</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11806"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td>
-</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11811"><span style="white-space: nowrap"><code class="PARAMETER">value</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new value.</p></td>
-</tr>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11816"><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>
+<a name="XMLSECKEYPTRLISTGETKLASS"></a><h3>xmlSecKeyPtrListGetKlass ()</h3>
+<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
+xmlSecKeyPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<p>The keys list klass.</p>
+<div class="REFSECT3">
+<a name="AEN13577"></a><h4>Returns</h4>
+<p> keys list id.</p>
</div>
-<hr>
+</div>
+</div>
+<div class="REFSECT1">
+<a name="XMLSEC-KEYS.OTHER_DETAILS"></a><h2>Types and Values</h2>
<div class="REFSECT2">
<a name="XMLSECKEYUSAGE"></a><h3>xmlSecKeyUsage</h3>
<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyUsage;</pre>
@@ -892,15 +1849,15 @@ if an error occurs.</p></td>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEANY"></a><h3>xmlSecKeyUsageAny</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageAny 0xFFFFFFFF</pre>
-<p>A decryption key.</p>
+<a name="XMLSECKEYUSAGESIGN"></a><h3>xmlSecKeyUsageSign</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyUsageSign 0x00000001</pre>
+<p>Key can be used in any way.</p>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEDECRYPT"></a><h3>xmlSecKeyUsageDecrypt</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageDecrypt 0x00000008</pre>
-<p>An encryption key.</p>
+<a name="XMLSECKEYUSAGEVERIFY"></a><h3>xmlSecKeyUsageVerify</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyUsageVerify 0x00000002</pre>
+<p>Key for signing.</p>
</div>
<hr>
<div class="REFSECT2">
@@ -910,21 +1867,21 @@ if an error occurs.</p></td>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEKEYEXCHANGE"></a><h3>xmlSecKeyUsageKeyExchange</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageKeyExchange 0x00000010</pre>
-<p>The key is used for key exchange.</p>
+<a name="XMLSECKEYUSAGEDECRYPT"></a><h3>xmlSecKeyUsageDecrypt</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyUsageDecrypt 0x00000008</pre>
+<p>An encryption key.</p>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSAGESIGN"></a><h3>xmlSecKeyUsageSign</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageSign 0x00000001</pre>
-<p>Key can be used in any way.</p>
+<a name="XMLSECKEYUSAGEKEYEXCHANGE"></a><h3>xmlSecKeyUsageKeyExchange</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyUsageKeyExchange 0x00000010</pre>
+<p>The key is used for key exchange.</p>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEVERIFY"></a><h3>xmlSecKeyUsageVerify</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageVerify 0x00000002</pre>
-<p>Key for signing.</p>
+<a name="XMLSECKEYUSAGEANY"></a><h3>xmlSecKeyUsageAny</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyUsageAny 0xFFFFFFFF</pre>
+<p>A decryption key.</p>
</div>
<hr>
<div class="REFSECT2">
@@ -937,219 +1894,173 @@ if an error occurs.</p></td>
void* reserved2;
};</pre>
<p>Information about application and user of the key.</p>
+<div class="REFSECT3">
+<a name="AEN13630"></a><h4>Members</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13632"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11870"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">application</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the application.</p></td>
+<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">application</code>;</p></td>
+<td><p>the application.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11877"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">identifier</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>the identifier.</p></td>
+<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">identifier</code>;</p></td>
+<td><p>the identifier.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11884"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td>
+<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
+<td><p>reserved for future use.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11891"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved2</code>;</span></a></td>
-<td align="LEFT" valign="TOP"><p>reserved for future use.</p></td>
+<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved2</code>;</p></td>
+<td><p>reserved for future use.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHCOPY"></a><h3>xmlSecKeyUseWithCopy ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyUseWithCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> src</code>);</pre>
-<p>Copies information from <code class="PARAMETER">dst</code> to <code class="PARAMETER">src</code>.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11915"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</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="AEN11920"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</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="AEN11925"><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>
+<a name="XMLSECKEYUSEWITHPTRLISTID"></a><h3>xmlSecKeyUseWithPtrListId</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyUseWithPtrListId xmlSecKeyUseWithPtrListGetKlass()</pre>
+<p>The keys list klass.</p>
</div>
<hr>
<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHCREATE"></a><h3>xmlSecKeyUseWithCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a> xmlSecKeyUseWithCreate (<code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>);</pre>
-<p>Creates new xmlSecKeyUseWith object. The caller is responsible for destroying
-returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code> function.</p>
+<a name="XMLSECKEYREQ"></a><h3>struct xmlSecKeyReq</h3>
+<pre class="PROGRAMLISTING">struct xmlSecKeyReq {
+ xmlSecKeyDataId keyId;
+ xmlSecKeyDataType keyType;
+ xmlSecKeyUsage keyUsage;
+ xmlSecSize keyBitsSize;
+ xmlSecPtrList keyUseWithList;
+
+ void* reserved1;
+ void* reserved2;
+};</pre>
+<p>The key requirements information.</p>
+<div class="REFSECT3">
+<a name="AEN13683"></a><h4>Members</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13685"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11946"><span style="white-space: nowrap"><code class="PARAMETER">application</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the application value.</p></td>
+<td><p><font><span class="TYPE">xmlSecKeyDataId</span></font> <code class="STRUCTFIELD">keyId</code>;</p></td>
+<td><p>the desired key value klass.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11951"><span style="white-space: nowrap"><code class="PARAMETER">identifier</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the identifier value.</p></td>
+<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> <code class="STRUCTFIELD">keyType</code>;</p></td>
+<td><p>the desired key type.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11956"><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>
+<td><p><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">keyUsage</code>;</p></td>
+<td><p>the desired key usage.</p></td>
+<td> </td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDEBUGDUMP"></a><h3>xmlSecKeyUseWithDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre>
-<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code>.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11977"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td>
+<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">keyBitsSize</code>;</p></td>
+<td><p>the desired key size (in bits!).</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN11982"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td>
+<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">keyUseWithList</code>;</p></td>
+<td><p>the desired key use with application/identifier information.</p></td>
+<td> </td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDEBUGXMLDUMP"></a><h3>xmlSecKeyUseWithDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre>
-<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code> in XML format.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12003"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td>
+<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
+<td><p>reserved for future use.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12008"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td>
+<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved2</code>;</p></td>
+<td><p>reserved for future use.</p></td>
+<td> </td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDESTROY"></a><h3>xmlSecKeyUseWithDestroy ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Destroys <code class="PARAMETER">keyUseWith</code> created with <code class="PARAMETER">xmlSecKeyUseWithCreate</code> or <code class="PARAMETER">xmlSecKeyUseWithDuplicate</code>
-functions.</p>
+</tbody>
+</table>
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN12028"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</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="XMLSECKEYUSEWITHDUPLICATE"></a><h3>xmlSecKeyUseWithDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECKEYUSEWITHPTR"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></gtkdoclink> xmlSecKeyUseWithDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Duplicates <code class="PARAMETER">keyUseWith</code> object. The caller is responsible for destroying
-returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code> function.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
-<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12047"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</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="AEN12052"><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="XMLSECKEYUSEWITHFINALIZE"></a><h3>xmlSecKeyUseWithFinalize ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Finalizes <code class="PARAMETER">keyUseWith</code> object.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN12070"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</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="XMLSECKEYUSEWITHINITIALIZE"></a><h3>xmlSecKeyUseWithInitialize ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyUseWithInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Initializes <code class="PARAMETER">keyUseWith</code> object.</p>
+<a name="XMLSECKEY"></a><h3>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>
+<div class="REFSECT3">
+<a name="AEN13757"></a><h4>Members</h4>
+<div class="INFORMALTABLE">
<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
+<a name="AEN13759"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
+<col>
+<col>
+<col>
+<tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12088"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td>
+<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
+<td><p>the key name.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12093"><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>
+<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> <code class="STRUCTFIELD">value</code>;</p></td>
+<td><p>the key value.</p></td>
+<td> </td>
</tr>
-</tbody></table>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHPTRLISTGETKLASS"></a><h3>xmlSecKeyUseWithPtrListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecKeyUseWithPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The key data list klass.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN12109"><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="XMLSECKEYUSEWITHPTRLISTID"></a><h3>xmlSecKeyUseWithPtrListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUseWithPtrListId xmlSecKeyUseWithPtrListGetKlass()</pre>
-<p>The keys list klass.</p>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHRESET"></a><h3>xmlSecKeyUseWithReset ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecKeyUseWithReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Resets the <code class="PARAMETER">keyUseWith</code> to its state after initialization.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
-<td align="LEFT" valign="TOP"><a name="AEN12133"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</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="XMLSECKEYUSEWITHSET"></a><h3>xmlSecKeyUseWithSet ()</h3>
-<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecKeyUseWithSet (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *application</code>,
- <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *identifier</code>);</pre>
-<p>Sets <code class="PARAMETER">application</code> and <code class="PARAMETER">identifier</code> in the <code class="PARAMETER">keyUseWith</code>.</p>
-<p></p>
-<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12159"><span style="white-space: nowrap"><code class="PARAMETER">keyUseWith</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the pointer to information about key application/user.</p></td>
+<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">dataList</code>;</p></td>
+<td><p>the key data list.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12164"><span style="white-space: nowrap"><code class="PARAMETER">application</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new application value.</p></td>
+<td><p><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">usage</code>;</p></td>
+<td><p>the key usage.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12169"><span style="white-space: nowrap"><code class="PARAMETER">identifier</code> :</span></a></td>
-<td align="LEFT" valign="TOP"><p>the new identifier value.</p></td>
+<td><p><font><span class="TYPE">time_t</span></font> <code class="STRUCTFIELD">notValidBefore</code>;</p></td>
+<td><p>the start key validity interval.</p></td>
+<td> </td>
</tr>
<tr>
-<td align="LEFT" valign="TOP"><a name="AEN12174"><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>
+<td><p><font><span class="TYPE">time_t</span></font> <code class="STRUCTFIELD">notValidAfter</code>;</p></td>
+<td><p>the end key validity interval.</p></td>
+<td> </td>
</tr>
-</tbody></table>
+</tbody>
+</table>
+<p></p>
+</div>
+</div>
+</div>
+<hr>
+<div class="REFSECT2">
+<a name="XMLSECKEYPTRLISTID"></a><h3>xmlSecKeyPtrListId</h3>
+<pre class="PROGRAMLISTING">#define xmlSecKeyPtrListId xmlSecKeyPtrListGetKlass()</pre>
+<p>The keys list klass.</p>
</div>
</div>
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">