Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > by-pkgid > 6d54acda680c50cc4dfba24075d2a90c > files > 92

lib64xmlsec1-devel-1.2.13-1mdv2010.0.x86_64.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>keys</title>
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7">
<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
<link rel="PREVIOUS" title="keysdata" href="xmlsec-keysdata.html">
<link rel="NEXT" title="keysmngr" href="xmlsec-keysmngr.html">
<meta name="GENERATOR" content="GTK-Doc V1.2 (SGML mode)">
<style type="text/css">.synopsis, .classsynopsis {
    background: #eeeeee;
    border: solid 1px #aaaaaa;
    padding: 0.5em;
}
.programlisting {
    background: #eeeeff;
    border: solid 1px #aaaaff;
    padding: 0.5em;
}
.variablelist {
    padding: 4px;
    margin-left: 3em;
}
.navigation {
    background: #ffeeee;
    border: solid 1px #ffaaaa;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.navigation a {
    color: #770000;
}
.navigation a:visited {
    color: #550000;
}
.navigation .title {
    font-size: 200%;
}</style>
</head>
<body><table witdh="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../news.html">News</a></li>
<li><a href="../documentation.html">Documentation</a></li>
<ul>
<li><a href="../faq.html">FAQ</a></li>
<li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
<li><a href="../api/xmlsec-reference.html">API reference</a></li>
<li><a href="../api/xmlsec-examples.html">Examples</a></li>
</ul>
<li><a href="../xmldsig.html">XML Digital Signature</a></li>
<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
<li><a href="../xmlenc.html">XML Encryption</a></li>
<li><a href="../c14n.html">XML Canonicalization</a></li>
<li><a href="../bugs.html">Reporting Bugs</a></li>
<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
<li><a href="../related.html">Related</a></li>
<li><a href="../authors.html">Authors</a></li>
</ul>
<table width="100%">
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
</tr>
<tr>
<td width="15"></td>
<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
</tr>
<!--Links - start--><!--Links - end-->
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="xmlsec-keysdata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">XML Security Library Reference Manual</th>
<td><a accesskey="n" href="xmlsec-keysmngr.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<h1>
<a name="XMLSEC-KEYS"></a>keys</h1>
<div class="REFNAMEDIV">
<a name="AEN8968"></a><h2>Name</h2>keys--Crypto key object definition.</div>
<div class="REFSYNOPSISDIV">
<a name="AEN8971"></a><h2>Synopsis</h2>
<pre class="SYNOPSIS">

typedef     <a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a>;
#define     <a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a>
#define     <a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a>
#define     <a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a>
#define     <a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a>
#define     <a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a>
#define     <a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a>
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a>      (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a>        (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a>           (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a>            (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> dst,
                                             <a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> src);
<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a>  (const <font>xmlChar</font> *application,
                                             const <font>xmlChar</font> *identifier);
<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a>
                                            (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a>         (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a>             (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
                                             const <font>xmlChar</font> *application,
                                             const <font>xmlChar</font> *identifier);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a>       (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
                                             <font>FILE</font> *output);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a>    (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
                                             <font>FILE</font> *output);
struct      <a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a>;
#define     <a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a>
<font>xmlSecPtrListId</font> <a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a>
                                            (void);
struct      <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a>;
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a>          (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a>            (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a>               (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a>                (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> dst,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> src);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a>            (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a>       (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a>           (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <font>FILE</font> *output);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a>        (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <font>FILE</font> *output);
struct      <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a>;
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a>                (void);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a>                (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a>                  (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>xmlSecKeyPtr</font> <a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a>             (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a>                   (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keyDst,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keySrc);
const <font>xmlChar</font>* <a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a>             (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a>                (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             const <font>xmlChar</font> *name);
<a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> <a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a>          (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>xmlSecKeyDataPtr</font> <a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a>          (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a>               (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);
<font>xmlSecKeyDataPtr</font> <a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a>           (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>xmlSecKeyDataId</font> dataId);
<font>xmlSecKeyDataPtr</font> <a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a>        (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>xmlSecKeyDataId</font> dataId);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a>              (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> data);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a>              (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>FILE</font> *output);
<font>void</font>        <a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a>           (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>FILE</font> *output);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a>              (<font>xmlSecKeyDataId</font> dataId,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a>        (const <font>xmlChar</font> *name,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);
<font>int</font>         <a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a>                  (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             const <font>xmlChar</font> *name,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a>            (<font>xmlSecKeyDataId</font> dataId,
                                             <a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a> *buffer);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a>        (<font>xmlSecKeyDataId</font> dataId,
                                             const <font>char</font> *filename);
<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> <a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a>            (<font>xmlSecKeyDataId</font> dataId,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);
#define     <a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a>                (key)
#define     <a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a>                (key, keyId)
#define     <a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a>
<font>xmlSecPtrListId</font> <a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a>    (void);</pre>
</div>
<div class="REFSECT1">
<a name="AEN9137"></a><h2>Description</h2>
<p>Crypto key object definition.</p>
</div>
<div class="REFSECT1">
<a name="AEN9140"></a><h2>Details</h2>
<div class="REFSECT2">
<a name="AEN9142"></a><h3>
<a name="XMLSECKEYUSAGE"></a>xmlSecKeyUsage</h3>
<pre class="PROGRAMLISTING">typedef unsigned int 			xmlSecKeyUsage;</pre>
<p>The key usage.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9150"></a><h3>
<a name="XMLSECKEYUSAGESIGN"></a>xmlSecKeyUsageSign</h3>
<pre class="PROGRAMLISTING">#define	xmlSecKeyUsageSign		0x00000001</pre>
<p>Key can be used in any way.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9158"></a><h3>
<a name="XMLSECKEYUSAGEVERIFY"></a>xmlSecKeyUsageVerify</h3>
<pre class="PROGRAMLISTING">#define	xmlSecKeyUsageVerify		0x00000002</pre>
<p>Key for signing.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9166"></a><h3>
<a name="XMLSECKEYUSAGEENCRYPT"></a>xmlSecKeyUsageEncrypt</h3>
<pre class="PROGRAMLISTING">#define	xmlSecKeyUsageEncrypt		0x00000004</pre>
<p>Key for signature verification.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9174"></a><h3>
<a name="XMLSECKEYUSAGEDECRYPT"></a>xmlSecKeyUsageDecrypt</h3>
<pre class="PROGRAMLISTING">#define	xmlSecKeyUsageDecrypt		0x00000008</pre>
<p>An encryption key.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9182"></a><h3>
<a name="XMLSECKEYUSAGEKEYEXCHANGE"></a>xmlSecKeyUsageKeyExchange</h3>
<pre class="PROGRAMLISTING">#define	xmlSecKeyUsageKeyExchange	0x00000010</pre>
<p>The key is used for key exchange.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9190"></a><h3>
<a name="XMLSECKEYUSAGEANY"></a>xmlSecKeyUsageAny</h3>
<pre class="PROGRAMLISTING">#define	xmlSecKeyUsageAny		0xFFFFFFFF</pre>
<p>A decryption key.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9198"></a><h3>
<a name="XMLSECKEYUSEWITHINITIALIZE"></a>xmlSecKeyUseWithInitialize ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyUseWithInitialize      (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Initializes <var class="PARAMETER">keyUseWith</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9210"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9215"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9220"></a><h3>
<a name="XMLSECKEYUSEWITHFINALIZE"></a>xmlSecKeyUseWithFinalize ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyUseWithFinalize        (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Finalizes <var class="PARAMETER">keyUseWith</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9232"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9237"></a><h3>
<a name="XMLSECKEYUSEWITHRESET"></a>xmlSecKeyUseWithReset ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyUseWithReset           (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Resets the <var class="PARAMETER">keyUseWith</var> to its state after initialization.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9249"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9254"></a><h3>
<a name="XMLSECKEYUSEWITHCOPY"></a>xmlSecKeyUseWithCopy ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyUseWithCopy            (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> dst,
                                             <a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> src);</pre>
<p>Copies information from <var class="PARAMETER">dst</var> to <var class="PARAMETER">src</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9268"><span style="white-space: nowrap"><var class="PARAMETER">dst</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to destination object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9273"><span style="white-space: nowrap"><var class="PARAMETER">src</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to source object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9278"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9283"></a><h3>
<a name="XMLSECKEYUSEWITHCREATE"></a>xmlSecKeyUseWithCreate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> xmlSecKeyUseWithCreate  (const <font>xmlChar</font> *application,
                                             const <font>xmlChar</font> *identifier);</pre>
<p>Creates new xmlSecKeyUseWith object. The caller is responsible for destroying
returned object with <var class="PARAMETER">xmlSecKeyUseWithDestroy</var> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9296"><span style="white-space: nowrap"><var class="PARAMETER">application</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>        the application value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9301"><span style="white-space: nowrap"><var class="PARAMETER">identifier</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the identifier value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9306"><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="AEN9311"></a><h3>
<a name="XMLSECKEYUSEWITHDUPLICATE"></a>xmlSecKeyUseWithDuplicate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> xmlSecKeyUseWithDuplicate
                                            (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Duplicates <var class="PARAMETER">keyUseWith</var> object. The caller is responsible for destroying
returned object with <var class="PARAMETER">xmlSecKeyUseWithDestroy</var> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9324"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9329"><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="AEN9334"></a><h3>
<a name="XMLSECKEYUSEWITHDESTROY"></a>xmlSecKeyUseWithDestroy ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyUseWithDestroy         (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith);</pre>
<p>Destroys <var class="PARAMETER">keyUseWith</var> created with <var class="PARAMETER">xmlSecKeyUseWithCreate</var> or <var class="PARAMETER">xmlSecKeyUseWithDuplicate</var>
functions.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9348"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9353"></a><h3>
<a name="XMLSECKEYUSEWITHSET"></a>xmlSecKeyUseWithSet ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyUseWithSet             (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
                                             const <font>xmlChar</font> *application,
                                             const <font>xmlChar</font> *identifier);</pre>
<p>Sets <var class="PARAMETER">application</var> and <var class="PARAMETER">identifier</var> in the <var class="PARAMETER">keyUseWith</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9369"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9374"><span style="white-space: nowrap"><var class="PARAMETER">application</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>        the new application value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9379"><span style="white-space: nowrap"><var class="PARAMETER">identifier</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the new identifier value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9384"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9389"></a><h3>
<a name="XMLSECKEYUSEWITHDEBUGDUMP"></a>xmlSecKeyUseWithDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyUseWithDebugDump       (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
                                             <font>FILE</font> *output);</pre>
<p>Prints xmlSecKeyUseWith debug information to a file <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9402"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9407"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>             the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9412"></a><h3>
<a name="XMLSECKEYUSEWITHDEBUGXMLDUMP"></a>xmlSecKeyUseWithDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyUseWithDebugXmlDump    (<a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWithPtr</a> keyUseWith,
                                             <font>FILE</font> *output);</pre>
<p>Prints xmlSecKeyUseWith debug information to a file <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9425"><span style="white-space: nowrap"><var class="PARAMETER">keyUseWith</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>         the pointer to information about key application/user.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9430"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>             the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9435"></a><h3>
<a name="XMLSECKEYUSEWITH"></a>struct xmlSecKeyUseWith</h3>
<pre class="PROGRAMLISTING">struct xmlSecKeyUseWith {

    xmlChar*                    application;
    xmlChar*                    identifier;

    void*                       reserved1;
    void*                       reserved2;
};</pre>
<p>Information about application and user of the key.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9444"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">application</code></span></a></td>
<td align="LEFT" valign="TOP"><p>        the application.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9450"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">identifier</code></span></a></td>
<td align="LEFT" valign="TOP"><p>         the identifier.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9456"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for future use.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9462"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved2</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for future use.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9468"></a><h3>
<a name="XMLSECKEYUSEWITHPTRLISTID"></a>xmlSecKeyUseWithPtrListId</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyUseWithPtrListId	xmlSecKeyUseWithPtrListGetKlass()</pre>
<p>The keys list klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9476"></a><h3>
<a name="XMLSECKEYUSEWITHPTRLISTGETKLASS"></a>xmlSecKeyUseWithPtrListGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecPtrListId</font> xmlSecKeyUseWithPtrListGetKlass
                                            (void);</pre>
<p>The key data list klass.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9486"><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="AEN9491"></a><h3>
<a name="XMLSECKEYREQ"></a>struct xmlSecKeyReq</h3>
<pre class="PROGRAMLISTING">struct xmlSecKeyReq {

    xmlSecKeyDataId	        keyId;
    xmlSecKeyDataType		keyType;
    xmlSecKeyUsage		keyUsage;
    xmlSecSize			keyBitsSize;
    xmlSecPtrList               keyUseWithList;    

    void*                       reserved1;
    void*                       reserved2;
};</pre>
<p>The key requirements information.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9500"><span style="white-space: nowrap"><font>xmlSecKeyDataId</font> <code class="STRUCTFIELD">keyId</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired key value klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9506"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> <code class="STRUCTFIELD">keyType</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired key type.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9512"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a> <code class="STRUCTFIELD">keyUsage</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the desired key usage.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9518"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> <code class="STRUCTFIELD">keyBitsSize</code></span></a></td>
<td align="LEFT" valign="TOP"><p>	the desired key size (in bits!).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9524"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a> <code class="STRUCTFIELD">keyUseWithList</code></span></a></td>
<td align="LEFT" valign="TOP"><p>     the desired key use with application/identifier information.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9530"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved1</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for future use.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9536"><span style="white-space: nowrap"><font>void</font> *<code class="STRUCTFIELD">reserved2</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		reserved for future use.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9542"></a><h3>
<a name="XMLSECKEYREQINITIALIZE"></a>xmlSecKeyReqInitialize ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyReqInitialize          (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Initialize key requirements object. Caller is responsible for
cleaning it with <a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE"><span class="TYPE">xmlSecKeyReqFinalize</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9555"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9560"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9565"></a><h3>
<a name="XMLSECKEYREQFINALIZE"></a>xmlSecKeyReqFinalize ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyReqFinalize            (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Cleans the key requirements object initialized with <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE"><span class="TYPE">xmlSecKeyReqInitialize</span></a>
function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9578"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements object.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9583"></a><h3>
<a name="XMLSECKEYREQRESET"></a>xmlSecKeyReqReset ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyReqReset               (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Resets key requirements object for new key search.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9594"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements object.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9599"></a><h3>
<a name="XMLSECKEYREQCOPY"></a>xmlSecKeyReqCopy ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyReqCopy                (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> dst,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> src);</pre>
<p>Copies key requirements from <var class="PARAMETER">src</var> object to <var class="PARAMETER">dst</var> object.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9613"><span style="white-space: nowrap"><var class="PARAMETER">dst</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to destination object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9618"><span style="white-space: nowrap"><var class="PARAMETER">src</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to source object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9623"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success and a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9628"></a><h3>
<a name="XMLSECKEYREQMATCHKEY"></a>xmlSecKeyReqMatchKey ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyReqMatchKey            (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Checks whether <var class="PARAMETER">key</var> matches key requirements <var class="PARAMETER">keyReq</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9642"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9647"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9652"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if key matches requirements, 0 if not and a negative value
if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9657"></a><h3>
<a name="XMLSECKEYREQMATCHKEYVALUE"></a>xmlSecKeyReqMatchKeyValue ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyReqMatchKeyValue       (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);</pre>
<p>Checks whether <var class="PARAMETER">keyValue</var> matches key requirements <var class="PARAMETER">keyReq</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9671"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9676"><span style="white-space: nowrap"><var class="PARAMETER">value</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9681"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if key value matches requirements, 0 if not and a negative value
if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9686"></a><h3>
<a name="XMLSECKEYREQDEBUGDUMP"></a>xmlSecKeyReqDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyReqDebugDump           (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <font>FILE</font> *output);</pre>
<p>Prints debug information about <var class="PARAMETER">keyReq</var> into <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9700"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9705"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9710"></a><h3>
<a name="XMLSECKEYREQDEBUGXMLDUMP"></a>xmlSecKeyReqDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyReqDebugXmlDump        (<a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq,
                                             <font>FILE</font> *output);</pre>
<p>Prints debug information about <var class="PARAMETER">keyReq</var> into <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9724"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements object.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9729"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9734"></a><h3>
<a name="XMLSECKEY"></a>struct xmlSecKey</h3>
<pre class="PROGRAMLISTING">struct xmlSecKey {

    xmlChar*				name;
    xmlSecKeyDataPtr			value;
    xmlSecPtrListPtr			dataList;
    xmlSecKeyUsage			usage;
    time_t				notValidBefore;
    time_t				notValidAfter;    
};</pre>
<p>The key.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9743"><span style="white-space: nowrap"><font>xmlChar</font> *<code class="STRUCTFIELD">name</code></span></a></td>
<td align="LEFT" valign="TOP"><p> 		the key name.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9749"><span style="white-space: nowrap"><a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> <code class="STRUCTFIELD">value</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the key value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9755"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrListPtr</a> <code class="STRUCTFIELD">dataList</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the key data list.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9761"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a> <code class="STRUCTFIELD">usage</code></span></a></td>
<td align="LEFT" valign="TOP"><p>		the key usage.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9767"><span style="white-space: nowrap"><font>time_t</font> <code class="STRUCTFIELD">notValidBefore</code></span></a></td>
<td align="LEFT" valign="TOP"><p>	the start key validity interval.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9773"><span style="white-space: nowrap"><font>time_t</font> <code class="STRUCTFIELD">notValidAfter</code></span></a></td>
<td align="LEFT" valign="TOP"><p>	the end key validity interval.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9779"></a><h3>
<a name="XMLSECKEYCREATE"></a>xmlSecKeyCreate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyCreate                (void);</pre>
<p>Allocates and initializes new key. Caller is responsible for 
freeing returned object with <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9791"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the pointer to newly allocated <var class="PARAMETER">xmlSecKey</var> structure
or NULL if an error occurs.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9797"></a><h3>
<a name="XMLSECKEYDESTROY"></a>xmlSecKeyDestroy ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyDestroy                (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Destroys the key created using <a href="xmlsec-keys.html#XMLSECKEYCREATE"><span class="TYPE">xmlSecKeyCreate</span></a> function.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9810"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to key.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9815"></a><h3>
<a name="XMLSECKEYEMPTY"></a>xmlSecKeyEmpty ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyEmpty                  (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Clears the <var class="PARAMETER">key</var> data.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN9827"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9832"></a><h3>
<a name="XMLSECKEYDUPLICATE"></a>xmlSecKeyDuplicate ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyPtr</font> xmlSecKeyDuplicate             (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Creates a duplicate of the given <var class="PARAMETER">key</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9844"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to the <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9851"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>the pointer to newly allocated <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure
or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9858"></a><h3>
<a name="XMLSECKEYCOPY"></a>xmlSecKeyCopy ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyCopy                   (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keyDst,
                                             <a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> keySrc);</pre>
<p>Copies key data from <var class="PARAMETER">keySrc</var> to <var class="PARAMETER">keyDst</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9872"><span style="white-space: nowrap"><var class="PARAMETER">keyDst</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the destination key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9877"><span style="white-space: nowrap"><var class="PARAMETER">keySrc</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the source key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9882"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9887"></a><h3>
<a name="XMLSECKEYGETNAME"></a>xmlSecKeyGetName ()</h3>
<pre class="PROGRAMLISTING">const <font>xmlChar</font>* xmlSecKeyGetName             (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Gets key name (see also <a href="xmlsec-keys.html#XMLSECKEYSETNAME"><span class="TYPE">xmlSecKeySetName</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9900"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9905"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>key name.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9910"></a><h3>
<a name="XMLSECKEYSETNAME"></a>xmlSecKeySetName ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeySetName                (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             const <font>xmlChar</font> *name);</pre>
<p>Sets key name (see also <a href="xmlsec-keys.html#XMLSECKEYGETNAME"><span class="TYPE">xmlSecKeyGetName</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9924"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9929"><span style="white-space: nowrap"><var class="PARAMETER">name</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the new key name.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9934"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9939"></a><h3>
<a name="XMLSECKEYGETTYPE"></a>xmlSecKeyGetType ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> xmlSecKeyGetType          (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Gets <var class="PARAMETER">key</var> type.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9951"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9956"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>key type.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9961"></a><h3>
<a name="XMLSECKEYGETVALUE"></a>xmlSecKeyGetValue ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyDataPtr</font> xmlSecKeyGetValue          (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key);</pre>
<p>Gets key value (see also <a href="xmlsec-keys.html#XMLSECKEYSETVALUE"><span class="TYPE">xmlSecKeySetValue</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9974"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9979"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>key value (crypto material).</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN9984"></a><h3>
<a name="XMLSECKEYSETVALUE"></a>xmlSecKeySetValue ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeySetValue               (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> value);</pre>
<p>Sets key value (see also <a href="xmlsec-keys.html#XMLSECKEYGETVALUE"><span class="TYPE">xmlSecKeyGetValue</span></a> function).</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN9998"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10003"><span style="white-space: nowrap"><var class="PARAMETER">value</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the new value.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10008"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10013"></a><h3>
<a name="XMLSECKEYGETDATA"></a>xmlSecKeyGetData ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyDataPtr</font> xmlSecKeyGetData           (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>xmlSecKeyDataId</font> dataId);</pre>
<p>Gets key's data.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10025"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10030"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the requested data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10035"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>additional data associated with the <var class="PARAMETER">key</var> (see also 
<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA"><span class="TYPE">xmlSecKeyAdoptData</span></a> function).</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10043"></a><h3>
<a name="XMLSECKEYENSUREDATA"></a>xmlSecKeyEnsureData ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecKeyDataPtr</font> xmlSecKeyEnsureData        (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>xmlSecKeyDataId</font> dataId);</pre>
<p>If necessary, creates key data of <var class="PARAMETER">dataId</var> klass and adds to <var class="PARAMETER">key</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10057"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10062"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the requested data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10067"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to key data or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10072"></a><h3>
<a name="XMLSECKEYADOPTDATA"></a>xmlSecKeyAdoptData ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyAdoptData              (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyDataPtr</a> data);</pre>
<p>Adds <var class="PARAMETER">data</var> to the <var class="PARAMETER">key</var>. The <var class="PARAMETER">data</var> object will be destroyed
by <var class="PARAMETER">key</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10088"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10093"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10098"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>0 on success or a negative value otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10103"></a><h3>
<a name="XMLSECKEYDEBUGDUMP"></a>xmlSecKeyDebugDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyDebugDump              (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>FILE</font> *output);</pre>
<p>Prints the information about the <var class="PARAMETER">key</var> to the <var class="PARAMETER">output</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10117"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10122"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10127"></a><h3>
<a name="XMLSECKEYDEBUGXMLDUMP"></a>xmlSecKeyDebugXmlDump ()</h3>
<pre class="PROGRAMLISTING"><font>void</font>        xmlSecKeyDebugXmlDump           (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             <font>FILE</font> *output);</pre>
<p>Prints the information about the <var class="PARAMETER">key</var> to the <var class="PARAMETER">output</var> in XML format.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10141"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10146"><span style="white-space: nowrap"><var class="PARAMETER">output</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to output FILE.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10151"></a><h3>
<a name="XMLSECKEYGENERATE"></a>xmlSecKeyGenerate ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyGenerate              (<font>xmlSecKeyDataId</font> dataId,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
<p>Generates new key of requested klass <var class="PARAMETER">dataId</var> and <var class="PARAMETER">type</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10166"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the requested key klass (rsa, dsa, aes, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10171"><span style="white-space: nowrap"><var class="PARAMETER">sizeBits</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the new key size (in bits!).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10176"><span style="white-space: nowrap"><var class="PARAMETER">type</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the new key type (session, permanent, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10181"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10186"></a><h3>
<a name="XMLSECKEYGENERATEBYNAME"></a>xmlSecKeyGenerateByName ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyGenerateByName        (const <font>xmlChar</font> *name,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> sizeBits,
                                             <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a> type);</pre>
<p>Generates new key of requested <var class="PARAMETER">klass</var> and <var class="PARAMETER">type</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10201"><span style="white-space: nowrap"><var class="PARAMETER">name</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the requested key klass name (rsa, dsa, aes, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10206"><span style="white-space: nowrap"><var class="PARAMETER">sizeBits</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the new key size (in bits!).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10211"><span style="white-space: nowrap"><var class="PARAMETER">type</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the new key type (session, permanent, ...).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10216"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10221"></a><h3>
<a name="XMLSECKEYMATCH"></a>xmlSecKeyMatch ()</h3>
<pre class="PROGRAMLISTING"><font>int</font>         xmlSecKeyMatch                  (<a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> key,
                                             const <font>xmlChar</font> *name,
                                             <a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReqPtr</a> keyReq);</pre>
<p>Checks whether the <var class="PARAMETER">key</var> matches the given criteria.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10235"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10240"><span style="white-space: nowrap"><var class="PARAMETER">name</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the pointer to key name (may be NULL).</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10245"><span style="white-space: nowrap"><var class="PARAMETER">keyReq</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the pointer to key requirements.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10250"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>1 if the key satisfies the given criteria or 0 otherwise.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10255"></a><h3>
<a name="XMLSECKEYREADBUFFER"></a>xmlSecKeyReadBuffer ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyReadBuffer            (<font>xmlSecKeyDataId</font> dataId,
                                             <a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a> *buffer);</pre>
<p>Reads the key value of klass <var class="PARAMETER">dataId</var> from a buffer.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10268"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the key value data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10273"><span style="white-space: nowrap"><var class="PARAMETER">buffer</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the buffer that contains the binary data.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10278"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10283"></a><h3>
<a name="XMLSECKEYREADBINARYFILE"></a>xmlSecKeyReadBinaryFile ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyReadBinaryFile        (<font>xmlSecKeyDataId</font> dataId,
                                             const <font>char</font> *filename);</pre>
<p>Reads the key value of klass <var class="PARAMETER">dataId</var> from a binary file <var class="PARAMETER">filename</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10297"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the key value data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10302"><span style="white-space: nowrap"><var class="PARAMETER">filename</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the key binary filename.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10307"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10312"></a><h3>
<a name="XMLSECKEYREADMEMORY"></a>xmlSecKeyReadMemory ()</h3>
<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKeyPtr</a> xmlSecKeyReadMemory            (<font>xmlSecKeyDataId</font> dataId,
                                             const <a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a> *data,
                                             <a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a> dataSize);</pre>
<p>Reads the key value of klass <var class="PARAMETER">dataId</var> from a memory block <var class="PARAMETER">data</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10327"><span style="white-space: nowrap"><var class="PARAMETER">dataId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the key value data klass.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10332"><span style="white-space: nowrap"><var class="PARAMETER">data</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p>		the memory containing the key</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10337"><span style="white-space: nowrap"><var class="PARAMETER">dataSize</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> 		the size of the memory block</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10342"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>pointer to newly created key or NULL if an error occurs.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10347"></a><h3>
<a name="XMLSECKEYISVALID"></a>xmlSecKeyIsValid()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecKeyIsValid(key)</pre>
<p>Macro. Returns 1 if <var class="PARAMETER">key</var> is not NULL and <var class="PARAMETER">key</var>-&gt;id is not NULL
or 0 otherwise.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN10358"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr></tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10363"></a><h3>
<a name="XMLSECKEYCHECKID"></a>xmlSecKeyCheckId()</h3>
<pre class="PROGRAMLISTING">#define     xmlSecKeyCheckId(key, keyId)</pre>
<p>Macro. Returns 1 if <var class="PARAMETER">key</var> is valid and <var class="PARAMETER">key</var>'s id is equal to <var class="PARAMETER">keyId</var>.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10375"><span style="white-space: nowrap"><var class="PARAMETER">key</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> the pointer to key.</p></td>
</tr>
<tr>
<td align="LEFT" valign="TOP"><a name="AEN10380"><span style="white-space: nowrap"><var class="PARAMETER">keyId</var>:</span></a></td>
<td align="LEFT" valign="TOP"><p> the key Id.</p></td>
</tr>
</tbody></table>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10385"></a><h3>
<a name="XMLSECKEYPTRLISTID"></a>xmlSecKeyPtrListId</h3>
<pre class="PROGRAMLISTING">#define xmlSecKeyPtrListId	xmlSecKeyPtrListGetKlass()</pre>
<p>The keys list klass.</p>
<p></p>
</div>
<hr>
<div class="REFSECT2">
<a name="AEN10393"></a><h3>
<a name="XMLSECKEYPTRLISTGETKLASS"></a>xmlSecKeyPtrListGetKlass ()</h3>
<pre class="PROGRAMLISTING"><font>xmlSecPtrListId</font> xmlSecKeyPtrListGetKlass    (void);</pre>
<p>The keys list klass.</p>
<p></p>
<p></p>
<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
<td align="LEFT" valign="TOP"><a name="AEN10403"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
<td align="LEFT" valign="TOP"><p>keys list id.</p></td>
</tr></tbody></table>
</div>
</div>
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
<td align="left"><a accesskey="p" href="xmlsec-keysdata.html"><b>&lt;&lt;&lt;keysdata</b></a></td>
<td align="right"><a accesskey="n" href="xmlsec-keysmngr.html"><b>keysmngr&gt;&gt;&gt;</b></a></td>
</tr></table>
</td></tr></table></td>
</tr></table></body>
</html>