<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Rampart/C: oxs_signature.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_2ab6243317ac98a7842daf660931c511.html">include</a>
  </div>
</div>
<div class="contents">
<h1>oxs_signature.h File Reference</h1>Does the XML Signature for OMXMLSecurity. <a href="#_details">More...</a>
<p>
<code>#include &lt;axis2_defines.h&gt;</code><br>
<code>#include &lt;<a class="el" href="oxs__ctx_8h-source.html">oxs_ctx.h</a>&gt;</code><br>
<code>#include &lt;axutil_env.h&gt;</code><br>
<code>#include &lt;axiom_node.h&gt;</code><br>
<code>#include &lt;axiom_element.h&gt;</code><br>
<code>#include &lt;axutil_qname.h&gt;</code><br>
<code>#include &lt;<a class="el" href="oxs__sign__ctx_8h-source.html">oxs_sign_ctx.h</a>&gt;</code><br>

<p>
<a href="oxs__signature_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__signature.html#g65444e4c24a81e022929e760d8eb17df">oxs_sig_sign_hmac_sha1</a> (const axutil_env_t *env, oxs_sign_ctx_t *sign_ctx, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *input, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *output)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__signature.html#g206da339419ebb73cc9fbc912cf962fd">oxs_sig_sign_rsa_sha1</a> (const axutil_env_t *env, oxs_sign_ctx_t *sign_ctx, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *input, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *output)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__signature.html#geca4f19f8a7f95d280830f673c3d3825">oxs_sig_sign</a> (const axutil_env_t *env, oxs_sign_ctx_t *sign_ctx, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *input, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *output)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__signature.html#g3e0ab6136279af65b9715904f726eb08">oxs_sig_verify</a> (const axutil_env_t *env, oxs_sign_ctx_t *sign_ctx, axis2_char_t *content, axis2_char_t *signature)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__signature.html#ga388ce3d92c07629410e3c6eb24aa6b3">oxs_sig_verify_hmac_sha1</a> (const axutil_env_t *env, oxs_sign_ctx_t *sign_ctx, axis2_char_t *content, axis2_char_t *signature)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__signature.html#g3a364e177ec85cd45f7a961af490d7f5">oxs_sig_verify_rsa_sha1</a> (const axutil_env_t *env, oxs_sign_ctx_t *sign_ctx, axis2_char_t *content, axis2_char_t *signature)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Does the XML Signature for OMXMLSecurity. 
<p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:53 2009 for Rampart/C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
