Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 259

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head profile="http://internetalchemy.org/2003/02/profile">
  <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" />
  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
  <meta name="dc.title" content="Function: dsig_template_ext - Virtuoso Functions Guide" />
  <meta name="dc.subject" content="Function: dsig_template_ext - Virtuoso Functions Guide" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" />
  <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="parent" href="functions.html" title="Chapter Contents" />
  <link rel="prev" href="appendixa.html" title="Appendix" />
  <link rel="next" href="functions.html#.html" title="" />
  <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="doc.css" />
  <link rel="stylesheet" type="text/css" href="/doc/translation.css" />
  <title>Function: dsig_template_ext - Virtuoso Functions Guide</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="copyright" content="OpenLink Software, 1999 - 2009" />
  <meta name="keywords" content="" />
  <meta name="GENERATOR" content="OpenLink XSLT Team" />
 </head>
 <body>
  <div id="header">
    <a name="fn_dsig_template_ext" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>22. Virtuoso Functions Guide - dsig_template_ext</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_tree_md5.html" title="tree_md5">Prev</a> | <a class="link" href="fn_x509_certificate_verify.html" title="x509_certificate_verify">Next</a>
   </div>
  </div>
  <div id="currenttoc">
   <form method="post" action="/doc/adv_search.vspx">
    <div class="search">Keyword Search: <br />
        <input type="text" name="q" /> <input type="submit" name="go" value="Go" />
    </div>
   </form>
   <div>
      <a href="http://www.openlinksw.com/">www.openlinksw.com</a>
   </div>
   <div>
      <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a>
   </div>
    <br />
   <div>
      <a href="index.html">Book Home</a>
   </div>
    <br />
   <div>
      <a href="contents.html">Contents</a>
   </div>
   <div>
      <a href="preface.html">Preface</a>
   </div>
    <br />
   <div>
      <a class="selected" href="functions.html">Virtuoso Functions Guide</a>
   </div>
    <br />
   <div>
      <a href="functions.html#admin">Administration</a>
   </div>
   <div>
      <a href="functions.html#aggr">Aggregate Functions</a>
   </div>
   <div>
      <a href="functions.html#array">Array Manipulation</a>
   </div>
   <div>
      <a href="functions.html#bpel">BPEL APIs</a>
   </div>
   <div>
      <a href="functions.html#backup">Backup</a>
   </div>
   <div>
      <a href="functions.html#compression">Compression</a>
   </div>
   <div>
      <a href="functions.html#cursors">Cursor</a>
   </div>
   <div>
      <a href="functions.html#time">Date &amp; Time Manipulation</a>
   </div>
   <div>
      <a href="functions.html#debug">Debug</a>
   </div>
   <div>
      <a href="functions.html#dict">Dictionary Manipulation</a>
   </div>
   <div>
      <a href="functions.html#encoding">Encoding &amp; Decoding</a>
   </div>
   <div>
      <a href="functions.html#file">File Manipulation</a>
   </div>
   <div>
      <a href="functions.html#ft">Free Text</a>
   </div>
   <div>
      <a class="selected" href="functions.html#hash">Hashing / Cryptographic</a>
   </div>
   <div class="selected">
    <div>
        <a class="selected" href="fn_dsig_template_ext.html">dsig_template_ext</a>
    </div>
    <div>
        <a href="fn_md5.html">md5</a>
    </div>
    <div>
        <a href="fn_md5_final.html">md5_final</a>
    </div>
    <div>
        <a href="fn_md5_init.html">md5_init</a>
    </div>
    <div>
        <a href="fn_md5_update.html">md5_update</a>
    </div>
    <div>
        <a href="fn_tree_md5.html">tree_md5</a>
    </div>
    <div>
        <a href="fn_x509_certificate_verify.html">x509_certificate_ver...</a>
    </div>
    <div>
        <a href="fn_x509_csr_generate.html">x509_csr_generate</a>
    </div>
    <div>
        <a href="fn_xenc_SPKI_read.html">xenc_spki_read</a>
    </div>
    <div>
        <a href="fn_xenc_X509_certificate_serialize.html">xenc_x509_certificat...</a>
    </div>
    <div>
        <a href="fn_xenc_bn2dec.html">xenc_bn2dec</a>
    </div>
    <div>
        <a href="fn_xenc_decrypt_soap.html">xenc_decrypt_soap</a>
    </div>
    <div>
        <a href="fn_xenc_delete_temp_keys.html">xenc_delete_temp_key...</a>
    </div>
    <div>
        <a href="fn_xenc_encrypt.html">xenc_encrypt</a>
    </div>
    <div>
        <a href="fn_xenc_get_key_algo.html">xenc_get_key_algo</a>
    </div>
    <div>
        <a href="fn_xenc_get_key_identifier.html">xenc_get_key_identif...</a>
    </div>
    <div>
        <a href="fn_xenc_key_3DES_create.html">xenc_key_3des_create</a>
    </div>
    <div>
        <a href="fn_xenc_key_3DES_rand_create.html">xenc_key_3des_rand_c...</a>
    </div>
    <div>
        <a href="fn_xenc_key_3DES_read.html">xenc_key_3des_read</a>
    </div>
    <div>
        <a href="fn_xenc_key_AES_create.html">xenc_key_aes_create</a>
    </div>
    <div>
        <a href="fn_xenc_key_AES_rand_create.html">xenc_key_aes_rand_cr...</a>
    </div>
    <div>
        <a href="fn_xenc_key_DSA_create.html">xenc_key_dsa_create</a>
    </div>
    <div>
        <a href="fn_xenc_key_DSA_read.html">xenc_key_dsa_read</a>
    </div>
    <div>
        <a href="fn_xenc_key_RSA_create.html">xenc_key_rsa_create</a>
    </div>
    <div>
        <a href="fn_xenc_key_RSA_read.html">xenc_key_rsa_read</a>
    </div>
    <div>
        <a href="fn_xenc_key_create_cert.html">xenc_key_create_cert</a>
    </div>
    <div>
        <a href="fn_xenc_key_exists.html">xenc_key_exists</a>
    </div>
    <div>
        <a href="fn_xenc_key_inst_create.html">xenc_key_inst_create</a>
    </div>
    <div>
        <a href="fn_xenc_key_remove.html">xenc_key_remove</a>
    </div>
    <div>
        <a href="fn_xenc_key_serialize.html">xenc_key_serialize</a>
    </div>
    <div>
        <a href="fn_xenc_pem_export.html">xenc_pem_export</a>
    </div>
    <div>
        <a href="fn_xenc_pkcs12_export.html">xenc_pkcs12_export</a>
    </div>
    <div>
        <a href="fn_xenc_set_primary_key.html">xenc_set_primary_key</a>
    </div>
    <div>
        <a href="fn_xenc_x509_generate.html">xenc_x509_generate</a>
    </div>
    <div>
        <a href="fn_xenc_x509_ss_generate.html">xenc_x509_ss_generat...</a>
    </div>
   </div>
   <div>
      <a href="functions.html#ldap">LDAP</a>
   </div>
   <div>
      <a href="functions.html#localization">Locale</a>
   </div>
   <div>
      <a href="functions.html#mail">Mail</a>
   </div>
   <div>
      <a href="functions.html#misc">Miscellaneous</a>
   </div>
   <div>
      <a href="functions.html#number">Number</a>
   </div>
   <div>
      <a href="functions.html#phrz">Phrases</a>
   </div>
   <div>
      <a href="functions.html#rdf">RDF data</a>
   </div>
   <div>
      <a href="functions.html#rmt">Remote SQL Data Source</a>
   </div>
   <div>
      <a href="functions.html#repl">Replication</a>
   </div>
   <div>
      <a href="functions.html#soap">SOAP</a>
   </div>
   <div>
      <a href="functions.html#sql">SQL</a>
   </div>
   <div>
      <a href="functions.html#string">String</a>
   </div>
   <div>
      <a href="functions.html#txn">Transaction</a>
   </div>
   <div>
      <a href="functions.html#type">Type Mapping</a>
   </div>
   <div>
      <a href="functions.html#uddi">UDDI</a>
   </div>
   <div>
      <a href="functions.html#udt">User Defined Types &amp; The CLR</a>
   </div>
   <div>
      <a href="functions.html#vad">VAD</a>
   </div>
   <div>
      <a href="functions.html#jvmpl">Virtuoso Java PL API</a>
   </div>
   <div>
      <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a>
   </div>
   <div>
      <a href="functions.html#ws">Web &amp; Internet</a>
   </div>
   <div>
      <a href="functions.html#xml">XML</a>
   </div>
   <div>
      <a href="functions.html#XPATH">XPATH &amp; XQUERY</a>
   </div>
    <br />
   <div>
      <a href="functionidx.html">Functions Index</a>
   </div>
    <br />
  </div>
  <div id="text">
    <h2>dsig_template_ext</h2>
    <div class="refpurpose">Generates a Digital signature template based on a XML document.</div>
    <div class="funcsynopsis">
        <span class="funcdef">varchar <span class="function">dsig_template_ext</span>
      </span>
	(<span class="paramdef">in <span class="parameter">xdoc</span> any</span>, 
	<span class="paramdef">in <span class="parameter">tmpl</span> varchar</span>, 
	<span class="paramdef">in <span class="parameter">wss_ver</span> any</span>, 
	<span class="paramdef">in <span class="parameter">ns-n</span> varchar</span>, 
	<span class="paramdef">in <span class="parameter">elm-n</span> varchar</span>, 
	<span class="paramdef">in <span class="parameter">...</span> varchar</span>);
      </div>
  
  
  
  <div class="refsect1">
    <div class="refsect1title">Description</div>
    <p>
	The function is used to generate dynamically a digital 
	signature template containing references to be signed.
    </p>
  </div>
  <div class="refsect1">
    <div class="refsect1title">Parameters</div>
    <div class="refsect2">
        <span class="refsect2title">xdoc – </span>
	input XML document
    </div>
    <div class="refsect2">
        <span class="refsect2title">tmpl – </span>
	a string containing base XML template
    </div>
    <div class="refsect2">
        <span class="refsect2title">wss_ver – </span>
	vector containing WS-Security and WS-Utility version URIs
    </div>
    <div class="refsect2">
        <span class="refsect2title">ns-n – </span>
	namespace to match
    </div>
    <div class="refsect2">
        <span class="refsect2title">elm-n – </span>
      element name to match
    </div>
  </div>
  <div class="refsect1">
      <div class="refsect1title">Return Types</div>
      <p>
	  On success the function will return a string containing 
	  a XML template suitable to pass to the <span class="computeroutput">xenc_encrypt</span>.
	  The elements matching listed in <span class="computeroutput">elm-n</span> from namespace URIs in <span class="computeroutput">ns-n</span> and having Id attribute will be included in the XML signature reference list.
      </p>
  </div>
  <div class="refsect1">
    <div class="refsect1title">Examples</div>
    <a name="ex_dsig_template_ext" />
      <div class="example">
        <div class="exampletitle">Making a XML signature template</div>
      <p />
      <div>
          <pre class="screen">
create procedure XENC_TEMPLATE (in body varchar, in key_name varchar)
{
  declare tmpl, algo varchar;
  declare ns any;

  -- OASIS WS-Security extensions
  ns := vector (
  	&#39;wsse&#39;, &#39;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&#39;,
	&#39;wsu&#39;, &#39;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&#39;
	);

  algo := xenc_get_key_algo (key_name);
  if (algo is null)
    return NULL;

  -- base XML template  
  tmpl := sprintf (&#39;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;Signature xmlns=&quot;http://www.w3.org/2000/09/xmldsig#&quot; &gt;
  &lt;SignedInfo&gt;
    &lt;CanonicalizationMethod Algorithm=&quot;http://www.w3.org/2001/10/xml-exc-c14n#&quot; /&gt;
    &lt;SignatureMethod Algorithm=&quot;%s&quot; /&gt;
  &lt;/SignedInfo&gt;
  &lt;SignatureValue&gt;&lt;/SignatureValue&gt;
  &lt;KeyInfo&gt;
    &lt;KeyName&gt;%s&lt;/KeyName&gt;
  &lt;/KeyInfo&gt;
&lt;/Signature&gt;&#39;, algo, key_name);

  return dsig_template_ext (xtree_doc (body), tmpl, ns,
      &#39;http://schemas.xmlsoap.org/soap/envelope/&#39;, &#39;Body&#39;,
       -- WS-Addressing 
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;Action&#39;,
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;From&#39;,
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;To&#39;,
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;MessageID&#39;,
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;ReplyTo&#39;,
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;FaultTo&#39;,
      &#39;http://schemas.xmlsoap.org/ws/2004/03/addressing&#39;, &#39;RelatesTo&#39;
      );

}
;


</pre>
        </div>
    </div>
  </div>
  <div class="refsect1">
    <div class="refsect1title">See Also</div>
    <p>
        <a href="" />
      </p>
  </div>
</div>
  <div id="footer">
    <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div>
   <div id="validation">
    <a href="http://validator.w3.org/check/referer">
        <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
    </a>
    <a href="http://jigsaw.w3.org/css-validator/">
        <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" />
    </a>
   </div>
  </div>
 </body>
</html>