Newer
Older
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>templates: XML Security Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="XML Security Library Reference Manual">
<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
<link rel="prev" href="xmlsec-parser.html" title="parser">
<link rel="next" href="xmlsec-transforms.html" title="transforms">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
<a href="#xmlsec-templates.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></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="p" href="xmlsec-parser.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-transforms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
<div class="refentry">
<a name="xmlsec-templates"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="xmlsec-templates.top_of_page"></a>templates</span></h2>
<p>templates — XML signature and encryption template functions.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="xmlsec-templates.stability-level"></a><h2>Stability Level</h2>
<a href="http://foldoc.org/Stable"><span class="acronym">Stable</span></a>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="xmlsec-templates.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureCreate" title="xmlSecTmplSignatureCreate ()">xmlSecTmplSignatureCreate</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureCreateNsPref" title="xmlSecTmplSignatureCreateNsPref ()">xmlSecTmplSignatureCreateNsPref</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureEnsureKeyInfo" title="xmlSecTmplSignatureEnsureKeyInfo ()">xmlSecTmplSignatureEnsureKeyInfo</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureAddReference" title="xmlSecTmplSignatureAddReference ()">xmlSecTmplSignatureAddReference</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureAddObject" title="xmlSecTmplSignatureAddObject ()">xmlSecTmplSignatureAddObject</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureGetSignMethodNode" title="xmlSecTmplSignatureGetSignMethodNode ()">xmlSecTmplSignatureGetSignMethodNode</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureGetC14NMethodNode" title="xmlSecTmplSignatureGetC14NMethodNode ()">xmlSecTmplSignatureGetC14NMethodNode</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceAddTransform" title="xmlSecTmplReferenceAddTransform ()">xmlSecTmplReferenceAddTransform</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplObjectAddSignProperties" title="xmlSecTmplObjectAddSignProperties ()">xmlSecTmplObjectAddSignProperties</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplObjectAddManifest" title="xmlSecTmplObjectAddManifest ()">xmlSecTmplObjectAddManifest</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplManifestAddReference" title="xmlSecTmplManifestAddReference ()">xmlSecTmplManifestAddReference</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataCreate" title="xmlSecTmplEncDataCreate ()">xmlSecTmplEncDataCreate</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureKeyInfo" title="xmlSecTmplEncDataEnsureKeyInfo ()">xmlSecTmplEncDataEnsureKeyInfo</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureEncProperties" title="xmlSecTmplEncDataEnsureEncProperties ()">xmlSecTmplEncDataEnsureEncProperties</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataAddEncProperty" title="xmlSecTmplEncDataAddEncProperty ()">xmlSecTmplEncDataAddEncProperty</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureCipherValue" title="xmlSecTmplEncDataEnsureCipherValue ()">xmlSecTmplEncDataEnsureCipherValue</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureCipherReference" title="xmlSecTmplEncDataEnsureCipherReference ()">xmlSecTmplEncDataEnsureCipherReference</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataGetEncMethodNode" title="xmlSecTmplEncDataGetEncMethodNode ()">xmlSecTmplEncDataGetEncMethodNode</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplCipherReferenceAddTransform" title="xmlSecTmplCipherReferenceAddTransform ()">xmlSecTmplCipherReferenceAddTransform</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceListAddDataReference" title="xmlSecTmplReferenceListAddDataReference ()">xmlSecTmplReferenceListAddDataReference</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceListAddKeyReference" title="xmlSecTmplReferenceListAddKeyReference ()">xmlSecTmplReferenceListAddKeyReference</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddKeyName" title="xmlSecTmplKeyInfoAddKeyName ()">xmlSecTmplKeyInfoAddKeyName</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddKeyValue" title="xmlSecTmplKeyInfoAddKeyValue ()">xmlSecTmplKeyInfoAddKeyValue</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddX509Data" title="xmlSecTmplKeyInfoAddX509Data ()">xmlSecTmplKeyInfoAddX509Data</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddRetrievalMethod" title="xmlSecTmplKeyInfoAddRetrievalMethod ()">xmlSecTmplKeyInfoAddRetrievalMethod</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplRetrievalMethodAddTransform" title="xmlSecTmplRetrievalMethodAddTransform ()">xmlSecTmplRetrievalMethodAddTransform</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddEncryptedKey" title="xmlSecTmplKeyInfoAddEncryptedKey ()">xmlSecTmplKeyInfoAddEncryptedKey</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddIssuerSerial" title="xmlSecTmplX509DataAddIssuerSerial ()">xmlSecTmplX509DataAddIssuerSerial</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509IssuerSerialAddIssuerName" title="xmlSecTmplX509IssuerSerialAddIssuerName ()">xmlSecTmplX509IssuerSerialAddIssuerName</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509IssuerSerialAddSerialNumber" title="xmlSecTmplX509IssuerSerialAddSerialNumber ()">xmlSecTmplX509IssuerSerialAddSerialNumber</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddSubjectName" title="xmlSecTmplX509DataAddSubjectName ()">xmlSecTmplX509DataAddSubjectName</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddSKI" title="xmlSecTmplX509DataAddSKI ()">xmlSecTmplX509DataAddSKI</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddDigest" title="xmlSecTmplX509DataAddDigest ()">xmlSecTmplX509DataAddDigest</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddCertificate" title="xmlSecTmplX509DataAddCertificate ()">xmlSecTmplX509DataAddCertificate</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">xmlNodePtr</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddCRL" title="xmlSecTmplX509DataAddCRL ()">xmlSecTmplX509DataAddCRL</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddHmacOutputLength" title="xmlSecTmplTransformAddHmacOutputLength ()">xmlSecTmplTransformAddHmacOutputLength</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddRsaOaepParam" title="xmlSecTmplTransformAddRsaOaepParam ()">xmlSecTmplTransformAddRsaOaepParam</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXsltStylesheet" title="xmlSecTmplTransformAddXsltStylesheet ()">xmlSecTmplTransformAddXsltStylesheet</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddC14NInclNamespaces" title="xmlSecTmplTransformAddC14NInclNamespaces ()">xmlSecTmplTransformAddC14NInclNamespaces</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPath" title="xmlSecTmplTransformAddXPath ()">xmlSecTmplTransformAddXPath</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPath2" title="xmlSecTmplTransformAddXPath2 ()">xmlSecTmplTransformAddXPath2</a> <span class="c_punctuation">()</span>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPointer" title="xmlSecTmplTransformAddXPointer ()">xmlSecTmplTransformAddXPointer</a> <span class="c_punctuation">()</span>
</table></div>
</div>
<div class="refsect1">
<a name="xmlsec-templates.description"></a><h2>Description</h2>
</div>
<div class="refsect1">
<a name="xmlsec-templates.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="xmlSecTmplSignatureCreate"></a><h3>xmlSecTmplSignatureCreate ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureCreate (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> c14nMethodId</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> signMethodId</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Creates new <a class="ulink" href="" target="_top"><dsig:Signature/></a> node with the mandatory <a class="ulink" href="" target="_top"><dsig:SignedInfo/></a>,
<a class="ulink" href="" target="_top"><dsig:CanonicalizationMethod/></a>, <a class="ulink" href="" target="_top"><dsig:SignatureMethod/></a> and
<a class="ulink" href="" target="_top"><dsig:SignatureValue/></a> children and sub-children.
The application is responsible for inserting the returned node
<div class="refsect3">
<a name="xmlSecTmplSignatureCreate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>doc</p></td>
<td class="parameter_description"><p>the pointer to signature document or NULL; in the
second case, application must later call <em class="parameter"><code>xmlSetTreeDoc</code></em>
to ensure that all the children nodes have correct
pointer to XML document.</p></td>
<td class="parameter_name"><p>c14nMethodId</p></td>
<td class="parameter_description"><p>the signature canonicalization method.</p></td>
<td class="parameter_name"><p>signMethodId</p></td>
<td class="parameter_description"><p>the signature method.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Signature/></a> node or NULL if an
<a name="xmlSecTmplSignatureCreateNsPref"></a><h3>xmlSecTmplSignatureCreateNsPref ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureCreateNsPref (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> c14nMethodId</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> signMethodId</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nsPrefix</code></em>);</pre>
<p>Creates new <a class="ulink" href="" target="_top"><dsig:Signature/></a> node with the mandatory
<a class="ulink" href="" target="_top"><dsig:SignedInfo/></a>, <a class="ulink" href="" target="_top"><dsig:CanonicalizationMethod/></a>,
<a class="ulink" href="" target="_top"><dsig:SignatureMethod/></a> and <a class="ulink" href="" target="_top"><dsig:SignatureValue/></a> children and
sub-children. This method differs from xmlSecTmplSignatureCreate in
that it will define the http://www.w3.org/2000/09/xmldsig#
namespace with the given prefix that will be used for all of the
appropriate child nodes. The application is responsible for
inserting the returned node in the XML document.</p>
<div class="refsect3">
<a name="xmlSecTmplSignatureCreateNsPref.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>doc</p></td>
<td class="parameter_description"><p>the pointer to signature document or NULL; in the
second case, application must later call <em class="parameter"><code>xmlSetTreeDoc</code></em>
to ensure that all the children nodes have correct
pointer to XML document.</p></td>
<td class="parameter_name"><p>c14nMethodId</p></td>
<td class="parameter_description"><p>the signature canonicalization method.</p></td>
<td class="parameter_name"><p>signMethodId</p></td>
<td class="parameter_description"><p>the signature method.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<td class="parameter_name"><p>nsPrefix</p></td>
<td class="parameter_description"><p>the namespace prefix for the signature element (e.g. "dsig"), or NULL</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureCreateNsPref.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Signature/></a> node or NULL if an
<a name="xmlSecTmplSignatureEnsureKeyInfo"></a><h3>xmlSecTmplSignatureEnsureKeyInfo ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureEnsureKeyInfo (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Adds (if necessary) <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> node to the <a class="ulink" href="" target="_top"><dsig:Signature/></a>
node <em class="parameter"><code>signNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplSignatureEnsureKeyInfo.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>signNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Signature/></a> node.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureEnsureKeyInfo.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> node or NULL if an
<a name="xmlSecTmplSignatureAddReference"></a><h3>xmlSecTmplSignatureAddReference ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureAddReference (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> digestMethodId</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:Reference/></a> node with given URI (<em class="parameter"><code>uri</code></em>
), Id (<em class="parameter"><code>id</code></em>
Type (<em class="parameter"><code>type</code></em>
) attributes and the required children <a class="ulink" href="" target="_top"><dsig:DigestMethod/></a> and
<a class="ulink" href="" target="_top"><dsig:DigestValue/></a> to the <a class="ulink" href="" target="_top"><dsig:SignedInfo/></a> child of <em class="parameter"><code>signNode</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecTmplSignatureAddReference.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>signNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Signature/></a> node.</p></td>
<td class="parameter_name"><p>digestMethodId</p></td>
<td class="parameter_description"><p>the reference digest method.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the reference node uri (may be NULL).</p></td>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the reference node type (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureAddReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Reference/></a> node or NULL
<a name="xmlSecTmplSignatureAddObject"></a><h3>xmlSecTmplSignatureAddObject ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureAddObject (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *mimeType</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *encoding</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:Object/></a> node to the <a class="ulink" href="" target="_top"><dsig:Signature/></a> node <em class="parameter"><code>signNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplSignatureAddObject.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>signNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Signature/></a> node.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<td class="parameter_name"><p>mimeType</p></td>
<td class="parameter_description"><p>the object mime type (may be NULL).</p></td>
<td class="parameter_name"><p>encoding</p></td>
<td class="parameter_description"><p>the object encoding (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureAddObject.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Object/></a> node or NULL
<a name="xmlSecTmplSignatureGetSignMethodNode"></a><h3>xmlSecTmplSignatureGetSignMethodNode ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureGetSignMethodNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>);</pre>
<p>Gets pointer to <a class="ulink" href="" target="_top"><dsig:SignatureMethod/></a> child of <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> node.</p>
<div class="refsect3">
<a name="xmlSecTmplSignatureGetSignMethodNode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>signNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Signature /></a> node.</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureGetSignMethodNode.returns"></a><h4>Returns</h4>
<p> pointer to <a class="ulink" href="" target="_top"><dsig:SignatureMethod /></a> node or NULL if an error occurs.</p>
<a name="xmlSecTmplSignatureGetC14NMethodNode"></a><h3>xmlSecTmplSignatureGetC14NMethodNode ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplSignatureGetC14NMethodNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>);</pre>
<p>Gets pointer to <a class="ulink" href="" target="_top"><dsig:CanonicalizationMethod/></a> child of <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> node.</p>
<div class="refsect3">
<a name="xmlSecTmplSignatureGetC14NMethodNode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>signNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Signature /></a> node.</p></td>
<div class="refsect3">
<a name="xmlSecTmplSignatureGetC14NMethodNode.returns"></a><h4>Returns</h4>
<p> pointer to <a class="ulink" href="" target="_top"><dsig:CanonicalizationMethod /></a> node or NULL if an error occurs.</p>
<a name="xmlSecTmplReferenceAddTransform"></a><h3>xmlSecTmplReferenceAddTransform ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplReferenceAddTransform (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> referenceNode</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:Transform/></a> node to the <a class="ulink" href="" target="_top"><dsig:Reference/></a> node <em class="parameter"><code>referenceNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplReferenceAddTransform.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>referenceNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Reference/></a> node.</p></td>
<td class="parameter_name"><p>transformId</p></td>
<td class="parameter_description"><p>the transform method id.</p></td>
<div class="refsect3">
<a name="xmlSecTmplReferenceAddTransform.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Transform/></a> node or NULL if an
error occurs.</p>
</div>
</div>
<hr>
<a name="xmlSecTmplObjectAddSignProperties"></a><h3>xmlSecTmplObjectAddSignProperties ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplObjectAddSignProperties (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> objectNode</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *target</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:SignatureProperties/></a> node to the <a class="ulink" href="" target="_top"><dsig:Object/></a> node <em class="parameter"><code>objectNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplObjectAddSignProperties.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>objectNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Object/></a> node.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<td class="parameter_name"><p>target</p></td>
<td class="parameter_description"><p>the Target (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplObjectAddSignProperties.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:SignatureProperties/></a> node or NULL
<a name="xmlSecTmplObjectAddManifest"></a><h3>xmlSecTmplObjectAddManifest ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplObjectAddManifest (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> objectNode</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:Manifest/></a> node to the <a class="ulink" href="" target="_top"><dsig:Object/></a> node <em class="parameter"><code>objectNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplObjectAddManifest.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>objectNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Object/></a> node.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplObjectAddManifest.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Manifest/></a> node or NULL
<a name="xmlSecTmplManifestAddReference"></a><h3>xmlSecTmplManifestAddReference ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplManifestAddReference (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> manifestNode</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> digestMethodId</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:Reference/></a> node with specified URI (<em class="parameter"><code>uri</code></em>
), Id (<em class="parameter"><code>id</code></em>
Type (<em class="parameter"><code>type</code></em>
) attributes and the required children <a class="ulink" href="" target="_top"><dsig:DigestMethod/></a> and
<a class="ulink" href="" target="_top"><dsig:DigestValue/></a> to the <a class="ulink" href="" target="_top"><dsig:Manifest/></a> node <em class="parameter"><code>manifestNode</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecTmplManifestAddReference.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>manifestNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><dsig:Manifest/></a> node.</p></td>
<td class="parameter_name"><p>digestMethodId</p></td>
<td class="parameter_description"><p>the reference digest method.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the node id (may be NULL).</p></td>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the reference node uri (may be NULL).</p></td>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the reference node type (may be NULL).</p></td>
<div class="refsect3">
<a name="xmlSecTmplManifestAddReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:Reference/></a> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
<a name="xmlSecTmplEncDataCreate"></a><h3>xmlSecTmplEncDataCreate ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplEncDataCreate (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> encMethodId</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *mimeType</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *encoding</code></em>);</pre>
<p>Creates new <a class="ulink" href="" target="_top"><enc:EncryptedData /></a> node for encryption template.</p>
<div class="refsect3">
<a name="xmlSecTmplEncDataCreate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>doc</p></td>
<td class="parameter_description"><p>the pointer to signature document or NULL; in the later
case, application must later call <em class="parameter"><code>xmlSetTreeDoc</code></em>
to ensure
that all the children nodes have correct pointer to XML document.</p></td>
<td class="parameter_name"><p>encMethodId</p></td>
<td class="parameter_description"><p>the encryption method (may be NULL).</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the Id attribute (optional).</p></td>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the Type attribute (optional)</p></td>
<td class="parameter_name"><p>mimeType</p></td>
<td class="parameter_description"><p>the MimeType attribute (optional)</p></td>
<td class="parameter_name"><p>encoding</p></td>
<td class="parameter_description"><p>the Encoding attribute (optional)</p></td>
<div class="refsect3">
<a name="xmlSecTmplEncDataCreate.returns"></a><h4>Returns</h4>
<p> the pointer newly created <a class="ulink" href="" target="_top"><enc:EncryptedData/></a> node or NULL
<a name="xmlSecTmplEncDataEnsureKeyInfo"></a><h3>xmlSecTmplEncDataEnsureKeyInfo ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplEncDataEnsureKeyInfo (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> to the <a class="ulink" href="" target="_top"><enc:EncryptedData/></a> node <em class="parameter"><code>encNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplEncDataEnsureKeyInfo.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>encNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><enc:EncryptedData/></a> node.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the Id attrbibute (optional).</p></td>
<div class="refsect3">
<a name="xmlSecTmplEncDataEnsureKeyInfo.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
<a name="xmlSecTmplEncDataEnsureEncProperties"></a><h3>xmlSecTmplEncDataEnsureEncProperties ()</h3>
<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplEncDataEnsureEncProperties (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Adds <a class="ulink" href="" target="_top"><enc:EncryptionProperties/></a> node to the <a class="ulink" href="" target="_top"><enc:EncryptedData/></a>
node <em class="parameter"><code>encNode</code></em>
<div class="refsect3">
<a name="xmlSecTmplEncDataEnsureEncProperties.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<td class="parameter_name"><p>encNode</p></td>
<td class="parameter_description"><p>the pointer to <a class="ulink" href="" target="_top"><enc:EncryptedData/></a> node.</p></td>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>the Id attribute (optional).</p></td>