diff options
author | sangwan.kwon <sangwan.kwon@samsung.com> | 2016-07-28 15:17:14 +0900 |
---|---|---|
committer | sangwan.kwon <sangwan.kwon@samsung.com> | 2016-07-28 15:17:14 +0900 |
commit | 1ca1a139b4c1a00de4d72f64b7411e118111a161 (patch) | |
tree | 2c93e5dbce5b42d1efd45520b1c8cd50b6bf6998 /docs/api/xmlsec-xmldsig.html | |
parent | fe8ea3dba5971ab3f47090ba52d7f824c3d23545 (diff) | |
parent | d4d35351fd63a7051a7cbef2002cb0c641925ec3 (diff) | |
download | xmlsec1-1ca1a139b4c1a00de4d72f64b7411e118111a161.tar.gz xmlsec1-1ca1a139b4c1a00de4d72f64b7411e118111a161.tar.bz2 xmlsec1-1ca1a139b4c1a00de4d72f64b7411e118111a161.zip |
Merge branch 'upstream' into tizen
Change-Id: Iacc73c9ed5e9cfd188df62c405426bfa89bf4e51
Diffstat (limited to 'docs/api/xmlsec-xmldsig.html')
-rw-r--r-- | docs/api/xmlsec-xmldsig.html | 1559 |
1 files changed, 1033 insertions, 526 deletions
diff --git a/docs/api/xmlsec-xmldsig.html b/docs/api/xmlsec-xmldsig.html index 37ea57a9..95e18a30 100644 --- a/docs/api/xmlsec-xmldsig.html +++ b/docs/api/xmlsec-xmldsig.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,770 +101,1254 @@ </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-version.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-version.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-xmlenc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="xmlsec-xmlenc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <h1> <a name="XMLSEC-XMLDSIG"></a>xmldsig</h1> <div class="REFNAMEDIV"> -<a name="AEN21445"></a><h2>Name</h2>xmldsig -- XML Digital Signature support.</div> -<div class="REFSYNOPSISDIV"> -<a name="XMLSEC-XMLDSIG.SYNOPSIS"></a><h2>Synopsis</h2> -<pre class="SYNOPSIS">#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS">XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</a> -#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</a> -#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</a> -#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</a> -#define <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</a> -struct <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>; -<gtkdoclink href="XMLSECDSIGCTXPTR"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); -<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGDUMP">xmlSecDSigCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</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-xmldsig.html#XMLSECDSIGCTXDEBUGXMLDUMP">xmlSecDSigCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</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-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>); -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLEREFERENCETRANSFORM">xmlSecDSigCtxEnableReferenceTransform</a> - (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLESIGNATURETRANSFORM">xmlSecDSigCtxEnableSignatureTransform</a> - (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); -<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>); -<gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXGETPRESIGNBUFFER">xmlSecDSigCtxGetPreSignBuffer</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>); -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>); -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>); -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); -struct <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX">xmlSecDSigReferenceCtx</a>; -<gtkdoclink href="XMLSECDSIGREFERENCECTXPTR"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE">xmlSecDSigReferenceCtxCreate</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>); -<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGDUMP">xmlSecDSigReferenceCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</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-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGXMLDUMP">xmlSecDSigReferenceCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</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-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY">xmlSecDSigReferenceCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>); -<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE">xmlSecDSigReferenceCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>); -<a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER">xmlSecDSigReferenceCtxGetPreDigestBuffer</a> - (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>); -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE">xmlSecDSigReferenceCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, - <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>); -<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTGETKLASS">xmlSecDSigReferenceCtxListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); -#define <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTID">xmlSecDSigReferenceCtxListId</a> -<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXPROCESSNODE">xmlSecDSigReferenceCtxProcessNode</a> (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>); -enum <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN">xmlSecDSigReferenceOrigin</a>; -enum <a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS">xmlSecDSigStatus</a>;</pre> -</div> +<a name="AEN23872"></a><h2>Name</h2>xmldsig -- XML Digital Signature support.</div> <div class="REFSECT1"> -<a name="XMLSEC-XMLDSIG.DESCRIPTION"></a><h2>Description</h2> -<p>XML Digital Signature support.</p> -</div> -<div class="REFSECT1"> -<a name="XMLSEC-XMLDSIG.DETAILS"></a><h2>Details</h2> -<div class="REFSECT2"> -<a name="XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</h3> -<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001</pre> -<p>If this flag is set then <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifests" target="_top"><dsig:Manifests/></a> nodes will not be processed.</p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</h3> -<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004</pre> -<p>If this flag is set then pre-digest buffer for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> child -of <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</h3> -<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008</pre> -<p>If this flag is set then pre-signature buffer for <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> -element processing will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</h3> -<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002</pre> -<p>If this flag is set then pre-digest buffer for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> child -of <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</h3> -<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010</pre> -<p>If this flag is set then URI ID references are resolved directly -without using XPointers. This allows one to sign/verify Visa3D -documents that don't follow XML, XPointer and XML DSig specifications.</p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGCTX"></a><h3>struct xmlSecDSigCtx</h3> -<pre class="PROGRAMLISTING">struct xmlSecDSigCtx { - /* these data user can set before performing the operation */ - void* userData; - unsigned int flags; - unsigned int flags2; - xmlSecKeyInfoCtx keyInfoReadCtx; - xmlSecKeyInfoCtx keyInfoWriteCtx; - xmlSecTransformCtx transformCtx; - xmlSecTransformUriType enabledReferenceUris; - xmlSecPtrListPtr enabledReferenceTransforms; - xmlSecTransformCtxPreExecuteCallback referencePreExecuteCallback; - xmlSecTransformId defSignMethodId; - xmlSecTransformId defC14NMethodId; - xmlSecTransformId defDigestMethodId; - - /* these data are returned */ - xmlSecKeyPtr signKey; - xmlSecTransformOperation operation; - xmlSecBufferPtr result; - xmlSecDSigStatus status; - xmlSecTransformPtr signMethod; - xmlSecTransformPtr c14nMethod; - xmlSecTransformPtr preSignMemBufMethod; - xmlNodePtr signValueNode; - xmlChar* id; - xmlSecPtrList signedInfoReferences; - xmlSecPtrList manifestReferences; - - /* reserved for future */ - void* reserved0; - void* reserved1; -};</pre> -<p>XML DSig processing context.</p> +<a name="XMLSEC-XMLDSIG.FUNCTIONS"></a><h2>Functions</h2> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN23877"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<tbody> +<tr> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></a></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> +</tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21673"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries -never touches this).</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21680"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the XML Digital Signature processing flags.</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21687"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags2</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the XML Digital Signature processing flags.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21694"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoReadCtx</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the reading key context.</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21701"><span style="white-space: nowrap"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoWriteCtx</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the writing key context (not used for signature verification).</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21708"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> node processing context.</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLEREFERENCETRANSFORM">xmlSecDSigCtxEnableReferenceTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21716"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledReferenceUris</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the URI types allowed for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLESIGNATURETRANSFORM">xmlSecDSigCtxEnableSignatureTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21724"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">enabledReferenceTransforms</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the list of transforms allowed in <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXGETPRESIGNBUFFER">xmlSecDSigCtxGetPreSignBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21732"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">referencePreExecuteCallback</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the callback for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node processing.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGDUMP">xmlSecDSigCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21740"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defSignMethodId</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the default signing method klass.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGXMLDUMP">xmlSecDSigCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21747"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defC14NMethodId</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the default c14n method klass.</p></td> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></a></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE">xmlSecDSigReferenceCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21754"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">defDigestMethodId</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the default digest method klass.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY">xmlSecDSigReferenceCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21761"><span style="white-space: nowrap"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> <code class="STRUCTFIELD">signKey</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the signature key; application may set <gtkdoclink href="SIGNKEY"><span class="TYPE">signKey</span></gtkdoclink> -before calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN"><span class="TYPE">xmlSecDSigCtxSign</span></a> or <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY"><span class="TYPE">xmlSecDSigCtxVerify</span></a> -functions.</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE">xmlSecDSigReferenceCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21774"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the operation: sign or verify.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE">xmlSecDSigReferenceCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21781"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to signature (not valid for signature verification).</p></td> +<td><font><span class="RETURNVALUE">int</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXPROCESSNODE">xmlSecDSigReferenceCtxProcessNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21788"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signatuire" target="_top"><dsig:Signatuire/></a> processing status.</p></td> +<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER">xmlSecDSigReferenceCtxGetPreDigestBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21796"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">signMethod</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to signature transform.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGDUMP">xmlSecDSigReferenceCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21803"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">c14nMethod</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to c14n transform.</p></td> +<td><font><span class="RETURNVALUE">void</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGXMLDUMP">xmlSecDSigReferenceCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21810"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preSignMemBufMethod</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to binary buffer right before signature -(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> flag is set).</p></td> +<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td> +<td> +<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTGETKLASS">xmlSecDSigReferenceCtxListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span> +</td> +</tr> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLDSIG.OTHER"></a><h2>Types and Values</h2> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24022"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<tbody> +<tr> +<td>enum</td> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS">xmlSecDSigStatus</a></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21819"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">signValueNode</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureValue" target="_top"><dsig:SignatureValue/></a> node.</p></td> +<td>#define</td> +<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS">XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</a></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21827"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">id</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to Id attribute of <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +<td>#define</td> +<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</a></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21835"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">signedInfoReferences</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the list of references in <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> node.</p></td> +<td>#define</td> +<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</a></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21843"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">manifestReferences</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the list of references in <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> nodes.</p></td> +<td>#define</td> +<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</a></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21851"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +<td>#define</td> +<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</a></td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21858"><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 the future.</p></td> +<td>struct</td> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a></td> </tr> -</tbody></table> +<tr> +<td>enum</td> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN">xmlSecDSigReferenceOrigin</a></td> +</tr> +<tr> +<td>struct</td> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX">xmlSecDSigReferenceCtx</a></td> +</tr> +<tr> +<td>#define</td> +<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTID">xmlSecDSigReferenceCtxListId</a></td> +</tr> +</tbody> +</table> +<p></p> </div> -<hr> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLDSIG.DESCRIPTION"></a><h2>Description</h2> +<p>XML Digital Signature support.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLDSIG.FUNCTIONS_DETAILS"></a><h2>Functions</h2> <div class="REFSECT2"> <a name="XMLSECDSIGCTXCREATE"></a><h3>xmlSecDSigCtxCreate ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECDSIGCTXPTR"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></gtkdoclink> xmlSecDSigCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> -<p>Creates <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> element processing context. +<pre class="PROGRAMLISTING"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></a> +xmlSecDSigCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Creates <dsig:Signature/> element processing context. The caller is responsible for destroying returned object by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY"><span class="TYPE">xmlSecDSigCtxDestroy</span></a> function.</p> +<div class="REFSECT3"> +<a name="AEN24083"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24085"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>keysMngr</p></td> +<td><p>the pointer to keys manager.</p></td> +<td> </td> +</tr></tbody> +</table> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24094"></a><h4>Returns</h4> +<p> pointer to newly allocated context object or NULL if an error +occurs.</p> +</div> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXDESTROY"></a><h3>xmlSecDSigCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE"><span class="TYPE">xmlSecDSigCtxCreate</span></a> function.</p> +<div class="REFSECT3"> +<a name="AEN24110"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24112"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> +</tr></tbody> +</table> +<p></p> +</div> +</div> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXINITIALIZE"></a><h3>xmlSecDSigCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> +<p>Initializes <dsig:Signature/> element processing context. +The caller is responsible for cleaning up returned object by calling +<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE"><span class="TYPE">xmlSecDSigCtxFinalize</span></a> function.</p> +<div class="REFSECT3"> +<a name="AEN24137"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24139"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21880"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21885"><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 allocated context object or NULL if an error -occurs.</p></td> +<td><p>keysMngr</p></td> +<td><p>the pointer to keys manager.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24154"></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="XMLSECDSIGCTXDEBUGDUMP"></a><h3>xmlSecDSigCtxDebugDump ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> -<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code> to <code class="PARAMETER">output</code>.</p> +<a name="XMLSECDSIGCTXFINALIZE"></a><h3>xmlSecDSigCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> +<p>Cleans up <code class="PARAMETER">dsigCtx</code> + object initialized with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE"><span class="TYPE">xmlSecDSigCtxInitialize</span></a> function.</p> +<div class="REFSECT3"> +<a name="AEN24171"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24173"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> +</tr></tbody> +</table> +<p></p> +</div> +</div> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTXSIGN"></a><h3>xmlSecDSigCtxSign ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigCtxSign (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> tmpl</code>);</pre> +<p>Signs the data as described in <code class="PARAMETER">tmpl</code> + node.</p> +<div class="REFSECT3"> +<a name="AEN24197"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24199"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21907"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21913"><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>tmpl</p></td> +<td><p>the pointer to <dsig:Signature/> node with signature template.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24214"></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="XMLSECDSIGCTXDEBUGXMLDUMP"></a><h3>xmlSecDSigCtxDebugXmlDump ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> -<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code> to <code class="PARAMETER">output</code> in XML format.</p> +<a name="XMLSECDSIGCTXVERIFY"></a><h3>xmlSecDSigCtxVerify ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigCtxVerify (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre> +<p>Vaidates signature in the <code class="PARAMETER">node</code> +. The verification result is returned +in <font><span class="TYPE">status</span></font> member of the <code class="PARAMETER">dsigCtx</code> + object.</p> +<div class="REFSECT3"> +<a name="AEN24235"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24237"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21935"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21941"><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>node</p></td> +<td><p>the pointer with <dsig:Signature/> node.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24252"></a><h4>Returns</h4> +<p> 0 on success (check <font><span class="TYPE">status</span></font> member of <code class="PARAMETER">dsigCtx</code> +to get +signature verification result) or a negative value if an error occurs.</p> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGCTXDESTROY"></a><h3>xmlSecDSigCtxDestroy ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> -<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE"><span class="TYPE">xmlSecDSigCtxCreate</span></a> function.</p> +<a name="XMLSECDSIGCTXENABLEREFERENCETRANSFORM"></a><h3>xmlSecDSigCtxEnableReferenceTransform ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigCtxEnableReferenceTransform (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre> +<p>Enables <code class="PARAMETER">transformId</code> + for <dsig:Reference/> elements processing.</p> +<div class="REFSECT3"> +<a name="AEN24273"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24275"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> +<tr> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> +</tr> +<tr> +<td><p>transformId</p></td> +<td><p>the transform klass.</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="AEN21960"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> -</tr></tbody></table> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24290"></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="XMLSECDSIGCTXENABLEREFERENCETRANSFORM"></a><h3>xmlSecDSigCtxEnableReferenceTransform ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxEnableReferenceTransform - (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> -<p>Enables <code class="PARAMETER">transformId</code> for <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> elements processing.</p> +<a name="XMLSECDSIGCTXENABLESIGNATURETRANSFORM"></a><h3>xmlSecDSigCtxEnableSignatureTransform ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigCtxEnableSignatureTransform (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre> +<p>Enables <code class="PARAMETER">transformId</code> + for <dsig:SignedInfo/> element processing.</p> +<div class="REFSECT3"> +<a name="AEN24308"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24310"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> +<tr> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> +</tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21983"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>transformId</p></td> +<td><p>the transform klass.</p></td> +<td> </td> </tr> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24325"></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="XMLSECDSIGCTXGETPRESIGNBUFFER"></a><h3>xmlSecDSigCtxGetPreSignBuffer ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> +xmlSecDSigCtxGetPreSignBuffer (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> +<p>Gets pointer to the buffer with serialized <dsig:SignedInfo/> element +just before signature claculation (valid if and only if +<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> context flag is set.</p> +<div class="REFSECT3"> +<a name="AEN24341"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24343"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> +</tr></tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24352"></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="XMLSECDSIGCTXDEBUGDUMP"></a><h3>xmlSecDSigCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre> +<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code> + to <code class="PARAMETER">output</code> +.</p> +<div class="REFSECT3"> +<a name="AEN24371"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24373"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21989"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN21994"><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>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="XMLSECDSIGCTXENABLESIGNATURETRANSFORM"></a><h3>xmlSecDSigCtxEnableSignatureTransform ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxEnableSignatureTransform - (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> -<p>Enables <code class="PARAMETER">transformId</code> for <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> element processing.</p> +<a name="XMLSECDSIGCTXDEBUGXMLDUMP"></a><h3>xmlSecDSigCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre> +<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code> + to <code class="PARAMETER">output</code> + in XML format.</p> +<div class="REFSECT3"> +<a name="AEN24404"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24406"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> +<tr> +<td><p>dsigCtx</p></td> +<td><p>the pointer to <dsig:Signature/> processing context.</p></td> +<td> </td> +</tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22016"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</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="XMLSECDSIGREFERENCECTXCREATE"></a><h3>xmlSecDSigReferenceCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></a> +xmlSecDSigReferenceCtxCreate (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre> +<p>Creates new <dsig:Reference/> element processing context. Caller is responsible +for destroying the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY"><span class="TYPE">xmlSecDSigReferenceCtxDestroy</span></a> +function.</p> +<div class="REFSECT3"> +<a name="AEN24437"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24439"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22022"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +<td><p>dsigCtx</p></td> +<td><p>the pointer to parent <dsig:Signature/> node processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22027"><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>origin</p></td> +<td><p>the reference origin (<dsig:SignedInfo/> or <dsig:Manifest/> node).</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24454"></a><h4>Returns</h4> +<p> pointer to newly created context or NULL if an error occurs.</p> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGCTXFINALIZE"></a><h3>xmlSecDSigCtxFinalize ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> -<p>Cleans up <code class="PARAMETER">dsigCtx</code> object initialized with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE"><span class="TYPE">xmlSecDSigCtxInitialize</span></a> function.</p> +<a name="XMLSECDSIGREFERENCECTXDESTROY"></a><h3>xmlSecDSigReferenceCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigReferenceCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE"><span class="TYPE">xmlSecDSigReferenceCtxCreate</span></a> function.</p> +<div class="REFSECT3"> +<a name="AEN24470"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24472"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</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="AEN22047"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> -</tr></tbody></table> +</div> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGCTXGETPRESIGNBUFFER"></a><h3>xmlSecDSigCtxGetPreSignBuffer ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECBUFFERPTR"><span class="RETURNVALUE">xmlSecBufferPtr</span></gtkdoclink> xmlSecDSigCtxGetPreSignBuffer (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre> -<p>Gets pointer to the buffer with serialized <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> element -just before signature claculation (valid if and only if -<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> context flag is set.</p> +<a name="XMLSECDSIGREFERENCECTXINITIALIZE"></a><h3>xmlSecDSigReferenceCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigReferenceCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, + <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre> +<p>Initializes new <dsig:Reference/> element processing context. Caller is responsible +for cleaning up the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE"><span class="TYPE">xmlSecDSigReferenceCtxFinalize</span></a> +function.</p> +<div class="REFSECT3"> +<a name="AEN24500"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24502"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22068"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22074"><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>dsigCtx</p></td> +<td><p>the pointer to parent <dsig:Signature/> node processing context.</p></td> +<td> </td> </tr> -</tbody></table> +<tr> +<td><p>origin</p></td> +<td><p>the reference origin (<dsig:SignedInfo/> or <dsig:Manifest/> node).</p></td> +<td> </td> +</tr> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24523"></a><h4>Returns</h4> +<p> 0 on succes or aa negative value otherwise.</p> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGCTXINITIALIZE"></a><h3>xmlSecDSigCtxInitialize ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre> -<p>Initializes <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> element processing context. -The caller is responsible for cleaning up returned object by calling -<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE"><span class="TYPE">xmlSecDSigCtxFinalize</span></a> function.</p> +<a name="XMLSECDSIGREFERENCECTXFINALIZE"></a><h3>xmlSecDSigReferenceCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigReferenceCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> +<p>Cleans up context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE"><span class="TYPE">xmlSecDSigReferenceCtxInitialize</span></a> function.</p> +<div class="REFSECT3"> +<a name="AEN24539"></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="AEN22097"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> -</tr> +<a name="AEN24541"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</p></td> +<td> </td> +</tr></tbody> +</table> +<p></p> +</div> +</div> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXPROCESSNODE"></a><h3>xmlSecDSigReferenceCtxProcessNode ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font> +xmlSecDSigReferenceCtxProcessNode (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre> +<p>The Reference Element (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Reference</span></font>)</p> +<p>Reference is an element that may occur one or more times. It specifies +a digest algorithm and digest value, and optionally an identifier of the +object being signed, the type of the object, and/or a list of transforms +to be applied prior to digesting. The identification (URI) and transforms +describe how the digested content (i.e., the input to the digest method) +was created. The Type attribute facilitates the processing of referenced +data. For example, while this specification makes no requirements over +external data, an application may wish to signal that the referent is a +Manifest. An optional ID attribute permits a Reference to be referenced +from elsewhere.</p> +<div class="REFSECT3"> +<a name="AEN24567"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24569"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22103"><span style="white-space: nowrap"><code class="PARAMETER">keysMngr</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to keys manager.</p></td> +<td><p>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22108"><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>node</p></td> +<td><p>the pointer to <dsig:Reference/> node.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24584"></a><h4>Returns</h4> +<p> 0 on succes or aa negative value otherwise.</p> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGCTXSIGN"></a><h3>xmlSecDSigCtxSign ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxSign (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> tmpl</code>);</pre> -<p>Signs the data as described in <code class="PARAMETER">tmpl</code> node.</p> +<a name="XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER"></a><h3>xmlSecDSigReferenceCtxGetPreDigestBuffer ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> +xmlSecDSigReferenceCtxGetPreDigestBuffer + (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> +<p>Gets the results of <dsig:Reference/> node processing just before digesting +(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or +<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flas of signature context +is set).</p> +<div class="REFSECT3"> +<a name="AEN24602"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24604"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody><tr> +<td><p>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</p></td> +<td> </td> +</tr></tbody> +</table> +<p></p> +</div> +</div> +<div class="REFSECT3"> +<a name="AEN24613"></a><h4>Returns</h4> +<p> pointer to the buffer or NULL if an error occurs.</p> +</div> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXDEBUGDUMP"></a><h3>xmlSecDSigReferenceCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigReferenceCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">dsigRefCtx</code> + to <code class="PARAMETER">output</code> +.</p> +<div class="REFSECT3"> +<a name="AEN24632"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24634"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22129"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22135"><span style="white-space: nowrap"><code class="PARAMETER">tmpl</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node with signature template.</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="XMLSECDSIGREFERENCECTXDEBUGXMLDUMP"></a><h3>xmlSecDSigReferenceCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> +xmlSecDSigReferenceCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, + <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre> +<p>Prints debug information about <code class="PARAMETER">dsigRefCtx</code> + to <code class="PARAMETER">output</code> + in output format.</p> +<div class="REFSECT3"> +<a name="AEN24665"></a><h4>Parameters</h4> +<div class="INFORMALTABLE"> +<p></p> +<a name="AEN24667"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22141"><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>dsigRefCtx</p></td> +<td><p>the pointer to <dsig:Reference/> element processing context.</p></td> +<td> </td> </tr> -</tbody></table> +<tr> +<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="XMLSECDSIGCTXVERIFY"></a><h3>xmlSecDSigCtxVerify ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigCtxVerify (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> -<p>Vaidates signature in the <code class="PARAMETER">node</code>. The verification result is returned -in <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of the <code class="PARAMETER">dsigCtx</code> object.</p> +<a name="XMLSECDSIGREFERENCECTXLISTGETKLASS"></a><h3>xmlSecDSigReferenceCtxListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font> +xmlSecDSigReferenceCtxListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The <dsig:Reference/> element processing contexts list klass.</p> +<div class="REFSECT3"> +<a name="AEN24692"></a><h4>Returns</h4> +<p> <dsig:Reference/> element processing context list klass.</p> +</div> +</div> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-XMLDSIG.OTHER_DETAILS"></a><h2>Types and Values</h2> +<div class="REFSECT2"> +<a name="XMLSECDSIGSTATUS"></a><h3>enum xmlSecDSigStatus</h3> +<p>XML Digital signature processing status.</p> +<div class="REFSECT3"> +<a name="AEN24702"></a><h4>Members</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN24704"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22165"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>xmlSecDSigStatusUnknown</p></td> +<td><p>the status is unknown.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22171"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer with <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node.</p></td> +<td><p>xmlSecDSigStatusSucceeded</p></td> +<td><p>the processing succeeded.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22177"><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 (check <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of <code class="PARAMETER">dsigCtx</code> to get -signature verification result) or a negative value if an error occurs.</p></td> +<td><p>xmlSecDSigStatusInvalid</p></td> +<td><p>the processing failed.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTX"></a><h3>struct xmlSecDSigReferenceCtx</h3> -<pre class="PROGRAMLISTING">struct xmlSecDSigReferenceCtx { +<a name="XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001</pre> +<p>If this flag is set then <dsig:Manifests/> nodes will not be processed.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002</pre> +<p>If this flag is set then pre-digest buffer for <dsig:Reference/> child +of <dsig:KeyInfo/> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004</pre> +<p>If this flag is set then pre-digest buffer for <dsig:Reference/> child +of <dsig:Manifest/> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008</pre> +<p>If this flag is set then pre-signature buffer for <dsig:SignedInfo/> +element processing will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010</pre> +<p>If this flag is set then URI ID references are resolved directly +without using XPointers. This allows one to sign/verify Visa3D +documents that don't follow XML, XPointer and XML DSig specifications.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGCTX"></a><h3>struct xmlSecDSigCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecDSigCtx { + /* these data user can set before performing the operation */ void* userData; - xmlSecDSigCtxPtr dsigCtx; - xmlSecDSigReferenceOrigin origin; + unsigned int flags; + unsigned int flags2; + xmlSecKeyInfoCtx keyInfoReadCtx; + xmlSecKeyInfoCtx keyInfoWriteCtx; xmlSecTransformCtx transformCtx; - xmlSecTransformPtr digestMethod; + xmlSecTransformUriType enabledReferenceUris; + xmlSecPtrListPtr enabledReferenceTransforms; + xmlSecTransformCtxPreExecuteCallback referencePreExecuteCallback; + xmlSecTransformId defSignMethodId; + xmlSecTransformId defC14NMethodId; + xmlSecTransformId defDigestMethodId; + /* these data are returned */ + xmlSecKeyPtr signKey; + xmlSecTransformOperation operation; xmlSecBufferPtr result; xmlSecDSigStatus status; - xmlSecTransformPtr preDigestMemBufMethod; + xmlSecTransformPtr signMethod; + xmlSecTransformPtr c14nMethod; + xmlSecTransformPtr preSignMemBufMethod; + xmlNodePtr signValueNode; xmlChar* id; - xmlChar* uri; - xmlChar* type; + xmlSecPtrList signedInfoReferences; + xmlSecPtrList manifestReferences; - /* reserved for future */ + /* reserved for future */ void* reserved0; void* reserved1; };</pre> -<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> processing context.</p> +<p>XML DSig processing context.</p> +<div class="REFSECT3"> +<a name="AEN24767"></a><h4>Members</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> -<tr> -<td align="LEFT" valign="TOP"><a name="AEN22193"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries +<a name="AEN24769"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> +<tr> +<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td> +<td><p>the pointer to user data (xmlsec and xmlsec-crypto libraries never touches this).</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22200"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> <code class="STRUCTFIELD">dsigCtx</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to "parent" <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> processing context.</p></td> +<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags</code>;</p></td> +<td><p>the XML Digital Signature processing flags.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22208"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> <code class="STRUCTFIELD">origin</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the signature origin (<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> or <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a>).</p></td> +<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags2</code>;</p></td> +<td><p>the XML Digital Signature processing flags.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22217"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the reference processing transforms context.</p></td> +<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoReadCtx</code>;</p></td> +<td><p>the reading key context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22224"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">digestMethod</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to digest transform.</p></td> +<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoWriteCtx</code>;</p></td> +<td><p>the writing key context (not used for signature verification).</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22231"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to digest result.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</p></td> +<td><p>the <dsig:SignedInfo/> node processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22238"><span style="white-space: nowrap"><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the reference processing status.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledReferenceUris</code>;</p></td> +<td><p>the URI types allowed for <dsig:Reference/> node.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22245"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preDigestMemBufMethod</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to binary buffer right before digest -(valid only if either -<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or -<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flags are set).</p></td> +<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">enabledReferenceTransforms</code>;</p></td> +<td><p>the list of transforms allowed in <dsig:Reference/> node.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22256"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">id</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node ID attribute.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">referencePreExecuteCallback</code>;</p></td> +<td><p>the callback for <dsig:Reference/> node processing.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22264"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">uri</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node URI attribute.</p></td> +<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defSignMethodId</code>;</p></td> +<td><p>the default signing method klass.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22272"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">type</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node Type attribute.</p></td> +<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defC14NMethodId</code>;</p></td> +<td><p>the default c14n method klass.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22280"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> -<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defDigestMethodId</code>;</p></td> +<td><p>the default digest method klass.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22287"><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 the future.</p></td> +<td><p><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> <code class="STRUCTFIELD">signKey</code>;</p></td> +<td><p>the signature key; application may set <font><span class="TYPE">signKey</span></font> +before calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN"><span class="TYPE">xmlSecDSigCtxSign</span></a> or <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY"><span class="TYPE">xmlSecDSigCtxVerify</span></a> +functions.</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXCREATE"></a><h3>xmlSecDSigReferenceCtxCreate ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECDSIGREFERENCECTXPTR"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></gtkdoclink> xmlSecDSigReferenceCtxCreate (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre> -<p>Creates new <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context. Caller is responsible -for destroying the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY"><span class="TYPE">xmlSecDSigReferenceCtxDestroy</span></a> -function.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22312"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to parent <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node processing context.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</p></td> +<td><p>the operation: sign or verify.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22318"><span style="white-space: nowrap"><code class="PARAMETER">origin</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the reference origin (<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> or <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node).</p></td> +<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</p></td> +<td><p>the pointer to signature (not valid for signature verification).</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22325"><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 context or NULL if an error occurs.</p></td> +<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</p></td> +<td><p>the <dsig:Signatuire/> processing status.</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXDEBUGDUMP"></a><h3>xmlSecDSigReferenceCtxDebugDump ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</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">dsigRefCtx</code> to <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="AEN22347"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">signMethod</code>;</p></td> +<td><p>the pointer to signature transform.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22353"><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-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">c14nMethod</code>;</p></td> +<td><p>the pointer to c14n transform.</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXDEBUGXMLDUMP"></a><h3>xmlSecDSigReferenceCtxDebugXmlDump ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</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">dsigRefCtx</code> to <code class="PARAMETER">output</code> in output format.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22375"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preSignMemBufMethod</code>;</p></td> +<td><p>the pointer to binary buffer right before signature +(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> flag is set).</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22381"><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">xmlNodePtr</span></font> <code class="STRUCTFIELD">signValueNode</code>;</p></td> +<td><p>the pointer to <dsig:SignatureValue/> node.</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXDESTROY"></a><h3>xmlSecDSigReferenceCtxDestroy ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> -<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE"><span class="TYPE">xmlSecDSigReferenceCtxCreate</span></a> function.</p> +<tr> +<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">id</code>;</p></td> +<td><p>the pointer to Id attribute of <dsig:Signature/> node.</p></td> +<td> </td> +</tr> +<tr> +<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">signedInfoReferences</code>;</p></td> +<td><p>the list of references in <dsig:SignedInfo/> node.</p></td> +<td> </td> +</tr> +<tr> +<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">manifestReferences</code>;</p></td> +<td><p>the list of references in <dsig:Manifest/> nodes.</p></td> +<td> </td> +</tr> +<tr> +<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td> +<td><p>reserved for the future.</p></td> +<td> </td> +</tr> +<tr> +<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td> +<td><p>reserved for the future.</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="AEN22400"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> -</tr></tbody></table> </div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXFINALIZE"></a><h3>xmlSecDSigReferenceCtxFinalize ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecDSigReferenceCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> -<p>Cleans up context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE"><span class="TYPE">xmlSecDSigReferenceCtxInitialize</span></a> function.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN22420"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> -</tr></tbody></table> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER"></a><h3>xmlSecDSigReferenceCtxGetPreDigestBuffer ()</h3> -<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a> xmlSecDSigReferenceCtxGetPreDigestBuffer - (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre> -<p>Gets the results of <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node processing just before digesting -(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or -<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flas of signature context -is set).</p> +<a name="XMLSECDSIGREFERENCEORIGIN"></a><h3>enum xmlSecDSigReferenceOrigin</h3> +<p>The possible <dsig:Reference/> node locations: in the <dsig:SignedInfo/> +node or in the <dsig:Manifest/> node.</p> +<div class="REFSECT3"> +<a name="AEN25010"></a><h4>Members</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN25012"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22443"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +<td><p>xmlSecDSigReferenceOriginSignedInfo</p></td> +<td><p>reference in <dsig:SignedInfo> node.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22449"><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 buffer or NULL if an error occurs.</p></td> +<td><p>xmlSecDSigReferenceOriginManifest</p></td> +<td><p>reference <dsig:Manifest> node.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> </div> <hr> <div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXINITIALIZE"></a><h3>xmlSecDSigReferenceCtxInitialize ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigReferenceCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, - <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>, - <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre> -<p>Initializes new <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context. Caller is responsible -for cleaning up the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE"><span class="TYPE">xmlSecDSigReferenceCtxFinalize</span></a> -function.</p> +<a name="XMLSECDSIGREFERENCECTX"></a><h3>struct xmlSecDSigReferenceCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecDSigReferenceCtx { + void* userData; + xmlSecDSigCtxPtr dsigCtx; + xmlSecDSigReferenceOrigin origin; + xmlSecTransformCtx transformCtx; + xmlSecTransformPtr digestMethod; + + xmlSecBufferPtr result; + xmlSecDSigStatus status; + xmlSecTransformPtr preDigestMemBufMethod; + xmlChar* id; + xmlChar* uri; + xmlChar* type; + + /* reserved for future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The <dsig:Reference/> processing context.</p> +<div class="REFSECT3"> +<a name="AEN25033"></a><h4>Members</h4> +<div class="INFORMALTABLE"> <p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<a name="AEN25035"></a><table border="0" frame="void" width="100%" class="CALSTABLE"> +<col> +<col> +<col> +<tbody> +<tr> +<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td> +<td><p>the pointer to user data (xmlsec and xmlsec-crypto libraries +never touches this).</p></td> +<td> </td> +</tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22475"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> <code class="STRUCTFIELD">dsigCtx</code>;</p></td> +<td><p>the pointer to "parent" <dsig:Signature/> processing context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22481"><span style="white-space: nowrap"><code class="PARAMETER">dsigCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to parent <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node processing context.</p></td> +<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> <code class="STRUCTFIELD">origin</code>;</p></td> +<td><p>the signature origin (<dsig:SignedInfo/> or <dsig:Manifest/>).</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22487"><span style="white-space: nowrap"><code class="PARAMETER">origin</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the reference origin (<a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> or <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node).</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</p></td> +<td><p>the reference processing transforms context.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22494"><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 succes or aa negative value otherwise.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">digestMethod</code>;</p></td> +<td><p>the pointer to digest transform.</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXLISTGETKLASS"></a><h3>xmlSecDSigReferenceCtxListGetKlass ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecDSigReferenceCtxListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> -<p>The <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing contexts list klass.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> -<td align="LEFT" valign="TOP"><a name="AEN22511"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> -<td align="LEFT" valign="TOP"><p><a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context list klass.</p></td> -</tr></tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXLISTID"></a><h3>xmlSecDSigReferenceCtxListId</h3> -<pre class="PROGRAMLISTING">#define xmlSecDSigReferenceCtxListId</pre> -<p>The references list klass.</p> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCECTXPROCESSNODE"></a><h3>xmlSecDSigReferenceCtxProcessNode ()</h3> -<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecDSigReferenceCtxProcessNode (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>, - <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>);</pre> -<p>The Reference Element (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-REFERENCE"><span class="TYPE">sec-Reference</span></gtkdoclink>)</p> -<p>Reference is an element that may occur one or more times. It specifies -a digest algorithm and digest value, and optionally an identifier of the -object being signed, the type of the object, and/or a list of transforms -to be applied prior to digesting. The identification (URI) and transforms -describe how the digested content (i.e., the input to the digest method) -was created. The Type attribute facilitates the processing of referenced -data. For example, while this specification makes no requirements over -external data, an application may wish to signal that the referent is a -Manifest. An optional ID attribute permits a Reference to be referenced -from elsewhere.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22541"><span style="white-space: nowrap"><code class="PARAMETER">dsigRefCtx</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element processing context.</p></td> +<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</p></td> +<td><p>the pointer to digest result.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22547"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> -<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node.</p></td> +<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</p></td> +<td><p>the reference processing status.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="AEN22553"><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 succes or aa negative value otherwise.</p></td> +<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preDigestMemBufMethod</code>;</p></td> +<td><p>the pointer to binary buffer right before digest +(valid only if either +<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or +<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flags are set).</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGREFERENCEORIGIN"></a><h3>enum xmlSecDSigReferenceOrigin</h3> -<pre class="PROGRAMLISTING">typedef enum { - xmlSecDSigReferenceOriginSignedInfo, - xmlSecDSigReferenceOriginManifest -} xmlSecDSigReferenceOrigin;</pre> -<p>The possible <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> node locations: in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignedInfo" target="_top"><dsig:SignedInfo/></a> -node or in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Manifest" target="_top"><dsig:Manifest/></a> node.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECDSIGREFERENCEORIGINSIGNEDINFO"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigReferenceOriginSignedInfo</tt></span></a></td> -<td align="LEFT" valign="TOP"><p>reference in <dsig:SignedInfo> node.</p></td> +<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">id</code>;</p></td> +<td><p>the <dsig:Reference/> node ID attribute.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECDSIGREFERENCEORIGINMANIFEST"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigReferenceOriginManifest</tt></span></a></td> -<td align="LEFT" valign="TOP"><p>reference <dsig:Manifest> node.</p></td> +<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">uri</code>;</p></td> +<td><p>the <dsig:Reference/> node URI attribute.</p></td> +<td> </td> </tr> -</tbody></table> -</div> -<hr> -<div class="REFSECT2"> -<a name="XMLSECDSIGSTATUS"></a><h3>enum xmlSecDSigStatus</h3> -<pre class="PROGRAMLISTING">typedef enum { - xmlSecDSigStatusUnknown = 0, - xmlSecDSigStatusSucceeded, - xmlSecDSigStatusInvalid -} xmlSecDSigStatus;</pre> -<p>XML Digital signature processing status.</p> -<p></p> -<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECDSIGSTATUSUNKNOWN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigStatusUnknown</tt></span></a></td> -<td align="LEFT" valign="TOP"><p>the status is unknown.</p></td> +<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">type</code>;</p></td> +<td><p>the <dsig:Reference/> node Type attribute.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECDSIGSTATUSSUCCEEDED"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigStatusSucceeded</tt></span></a></td> -<td align="LEFT" valign="TOP"><p>the processing succeeded.</p></td> +<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td> +<td><p>reserved for the future.</p></td> +<td> </td> </tr> <tr> -<td align="LEFT" valign="TOP"><a name="XMLSECDSIGSTATUSINVALID"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecDSigStatusInvalid</tt></span></a></td> -<td align="LEFT" valign="TOP"><p>the processing failed.</p></td> +<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td> +<td><p>reserved for the future.</p></td> +<td> </td> </tr> -</tbody></table> +</tbody> +</table> +<p></p> +</div> +</div> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECDSIGREFERENCECTXLISTID"></a><h3>xmlSecDSigReferenceCtxListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecDSigReferenceCtxListId</pre> +<p>The references list klass.</p> </div> </div> <table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> |