Sophie

Sophie

distrib > Fedora > 20 > x86_64 > by-pkgid > 6e9f5050725d3ece70d2349dbf9c2b54 > files > 826

gsoap-doc-2.8.12-7.fc20.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>gSOAP WS-Security: /Users/engelen/Projects/gsoap/plugin/smdevp.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">gSOAP WS-Security&#160;<span id="projectnumber">2.8 Stable</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</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>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">/Users/engelen/Projects/gsoap/plugin/smdevp.h File Reference</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &quot;stdsoap2.h&quot;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for smdevp.h:</div>
<div class="dyncontent">
<div class="center"><img src="smdevp_8h__incl.png" border="0" usemap="#_2_users_2engelen_2_projects_2gsoap_2plugin_2smdevp_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="smdevp_8h__dep__incl.png" border="0" usemap="#_2_users_2engelen_2_projects_2gsoap_2plugin_2smdevp_8hdep" alt=""/></div>
<map name="_2_users_2engelen_2_projects_2gsoap_2plugin_2smdevp_8hdep" id="_2_users_2engelen_2_projects_2gsoap_2plugin_2smdevp_8hdep">
<area shape="rect" id="node3" href="wsseapi_8h.html" title="/Users/engelen/Projects/gsoap/plugin/wsseapi.h" alt="" coords="5,83,309,111"/><area shape="rect" id="node5" href="wsseapi_8c.html" title="/Users/engelen/Projects/gsoap/plugin/wsseapi.c" alt="" coords="100,161,404,189"/><area shape="rect" id="node8" href="smdevp_8c.html" title="/Users/engelen/Projects/gsoap/plugin/smdevp.c" alt="" coords="385,83,687,111"/></map>
</div>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsoap__smd__data.html">soap_smd_data</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The smdevp engine context data, which is hooked up to soap-&gt;data[0].  <a href="structsoap__smd__data.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a70e1d7478fd8abbc698308361e87682d">SOAP_SMD_KEY_TYPE</a>&#160;&#160;&#160;EVP_PKEY</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a9f9c621fe70ba4eba05b9120acc16f5c">SOAP_SMD_MAX_SIZE</a>&#160;&#160;&#160;EVP_MAX_MD_SIZE</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a08fe9a1c4a3b6dc2494cb4a99e25e0f1">SOAP_SMD_MD5_SIZE</a>&#160;&#160;&#160;(16)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a6ba3b594687a71acfa875a5cc0a844be">SOAP_SMD_SHA1_SIZE</a>&#160;&#160;&#160;(20)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a273665760c45740016f39a511611e4c0">SOAP_SMD_SHA256_SIZE</a>&#160;&#160;&#160;(32)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a4d55813fd57184d6369d5ff661ec6be5">SOAP_SMD_SHA512_SIZE</a>&#160;&#160;&#160;(64)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a011f7d21ad3c8634373fe3d3325fcd75">SOAP_SMD_NONE</a>&#160;&#160;&#160;(0x0000)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a8d110dd437236b0a452177fb08845ed6">SOAP_SMD_HASH</a>&#160;&#160;&#160;(0x0003)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a34b5d027c5246f52939fcaf90f60f976">SOAP_SMD_ALGO</a>&#160;&#160;&#160;(0x000C)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#aab61776cee8be335d0f9b20bdbac586b">SOAP_SMD_MASK</a>&#160;&#160;&#160;(0x01FF)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a575994fbc455747d4bc9e8604718921d">SOAP_SMD_MD5</a>&#160;&#160;&#160;(0x00)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#aaa7f728a35238724164ae80fd929c76e">SOAP_SMD_SHA1</a>&#160;&#160;&#160;(0x01)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a5016e3b8e6f8795e5798808bf4bfd9e0">SOAP_SMD_SHA256</a>&#160;&#160;&#160;(0x02)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a78a9791001e122951dfa13c887be975b">SOAP_SMD_SHA512</a>&#160;&#160;&#160;(0x03)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#ade78c7d3894cf1d6a2dcf665b0d9031c">SOAP_SMD_HMAC</a>&#160;&#160;&#160;(0x00)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#aab243d86234da2ad7e13692c70867be2">SOAP_SMD_DGST</a>&#160;&#160;&#160;(0x04)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a0d47d3e5a67fa314704eebb83153c1c5">SOAP_SMD_SIGN</a>&#160;&#160;&#160;(0x08)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a1efc7a5193429ae2e501d4a8e13a05fd">SOAP_SMD_VRFY</a>&#160;&#160;&#160;(0x0C)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a72c48c3aa4ebeb3b280c077dfaef817f">SOAP_SMD_DSA</a>&#160;&#160;&#160;(0x10)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a27e3ed779342e2ff2c377cde6252b6a1">SOAP_SMD_HMAC_MD5</a>&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a7d00704c43ee044926905cd327a712ef">SOAP_SMD_HMAC_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a561d6c47f122626acb2f36bdabdc07e6">SOAP_SMD_HMAC_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a0eaedca857ff22ca7e2290e3ad67a184">SOAP_SMD_HMAC_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a66e616b88f16506cfad0e9f05445d130">SOAP_SMD_DGST_MD5</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#ad8bbfdd0e7b1656123d888bf86a516e9">SOAP_SMD_DGST_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#af2d675e87ba654125c052235dd97e206">SOAP_SMD_DGST_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#af62441bd65c41931d4d2db07511d3c85">SOAP_SMD_DGST_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a66e616b88f16506cfad0e9f05445d130">SOAP_SMD_DGST_MD5</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#ad8bbfdd0e7b1656123d888bf86a516e9">SOAP_SMD_DGST_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#af2d675e87ba654125c052235dd97e206">SOAP_SMD_DGST_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#af62441bd65c41931d4d2db07511d3c85">SOAP_SMD_DGST_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a1e6902e2591b403858a96eb2498c67f2">SOAP_SMD_SIGN_RSA_MD5</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#acbb90951064d98a13af03724dbed2aa8">SOAP_SMD_SIGN_RSA_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a8634e2291f274a42107d3e935add3241">SOAP_SMD_SIGN_RSA_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a47b63295eb2fd010886c3a2521090f02">SOAP_SMD_SIGN_RSA_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a7af8f158e30f63fe52757293b3bf6870">SOAP_SMD_SIGN_DSA_MD5</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a647cb5d798442d34c8191c62a2aeebf6">SOAP_SMD_SIGN_DSA_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#abb7046ffa72e2deade72d960fb2c1272">SOAP_SMD_SIGN_DSA_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#acdc41df17393ee4e42ad76245a5c3700">SOAP_SMD_SIGN_DSA_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a9a8a6c16c967ea8d2e86d112772e4a81">SOAP_SMD_VRFY_RSA_MD5</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#aa395a40932c9c057cd264c03716c9d6e">SOAP_SMD_VRFY_RSA_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#ac495716c1f8630567900c33cdea08fd1">SOAP_SMD_VRFY_RSA_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a16e7c5ef33465656c0d270eebc933021">SOAP_SMD_VRFY_RSA_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#ab5c3f64561551b6b59835bb8dc9ab296">SOAP_SMD_VRFY_DSA_MD5</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_MD5)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a448c4d5953ca007263ff6a5bd055cfdc">SOAP_SMD_VRFY_DSA_SHA1</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_SHA1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a5b4e9a64ef8a1de550cc5c5ab889d3c6">SOAP_SMD_VRFY_DSA_SHA256</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_SHA256)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a6ccc62ed11f8753cfd1aca15f1da51de">SOAP_SMD_VRFY_DSA_SHA512</a>&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_SHA512)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a72aec9a04db9a1e00d26b1ccb5e5da03">SOAP_SMD_PASSTHRU</a>&#160;&#160;&#160;(0x100)</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a358684027d81577215163533f34b971f">soap_smd_size</a> (int alg, const void *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of octets needed to store the digest or signature returned by soap_smd_end.  <a href="#a358684027d81577215163533f34b971f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#ad8b665c8e8844eca8916f4b16b0ce9c5">soap_smd_begin</a> (struct soap *soap, int alg, const void *key, int keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates a digest or signature computation.  <a href="#ad8b665c8e8844eca8916f4b16b0ce9c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a8f18dbae37de8942e080d45dd3480a7b">soap_smd_end</a> (struct soap *soap, char *buf, int *len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Completes a digest or signature computation. Also deallocates temporary storage allocated by <a class="el" href="smdevp_8h.html#ad8b665c8e8844eca8916f4b16b0ce9c5" title="Initiates a digest or signature computation.">soap_smd_begin()</a>, so MUST be called after <a class="el" href="smdevp_8h.html#ad8b665c8e8844eca8916f4b16b0ce9c5" title="Initiates a digest or signature computation.">soap_smd_begin()</a>.  <a href="#a8f18dbae37de8942e080d45dd3480a7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a8835cbedd7b123915f673bf7b0e8f0cc">soap_smd_init</a> (struct soap *soap, struct <a class="el" href="structsoap__smd__data.html">soap_smd_data</a> *data, int alg, const void *key, int keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates a (signed) digest computation.  <a href="#a8835cbedd7b123915f673bf7b0e8f0cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a1f9631955eabdcf338d0178d2d90ea50">soap_smd_update</a> (struct soap *soap, struct <a class="el" href="structsoap__smd__data.html">soap_smd_data</a> *data, const char *buf, size_t len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates (signed) digest computation with message part.  <a href="#a1f9631955eabdcf338d0178d2d90ea50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="smdevp_8h.html#a8d7f8b4fdcfe0afc13fef37fd8c46f5d">soap_smd_final</a> (struct soap *soap, struct <a class="el" href="structsoap__smd__data.html">soap_smd_data</a> *data, char *buf, int *len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalizes (signed) digest computation and returns digest or signature.  <a href="#a8d7f8b4fdcfe0afc13fef37fd8c46f5d"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a34b5d027c5246f52939fcaf90f60f976"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_ALGO" ref="a34b5d027c5246f52939fcaf90f60f976" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_ALGO&#160;&#160;&#160;(0x000C)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aab243d86234da2ad7e13692c70867be2"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST" ref="aab243d86234da2ad7e13692c70867be2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST&#160;&#160;&#160;(0x04)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Digest </p>

</div>
</div>
<a class="anchor" id="a66e616b88f16506cfad0e9f05445d130"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_MD5" ref="a66e616b88f16506cfad0e9f05445d130" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_MD5&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-MD5 digest algorithm</p>
<p>DSA-MD5 digest algorithm </p>

</div>
</div>
<a class="anchor" id="a66e616b88f16506cfad0e9f05445d130"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_MD5" ref="a66e616b88f16506cfad0e9f05445d130" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_MD5&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-MD5 digest algorithm</p>
<p>DSA-MD5 digest algorithm </p>

</div>
</div>
<a class="anchor" id="ad8bbfdd0e7b1656123d888bf86a516e9"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_SHA1" ref="ad8bbfdd0e7b1656123d888bf86a516e9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_SHA1&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-SHA1 digest algorithm </p>

</div>
</div>
<a class="anchor" id="ad8bbfdd0e7b1656123d888bf86a516e9"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_SHA1" ref="ad8bbfdd0e7b1656123d888bf86a516e9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_SHA1&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-SHA1 digest algorithm </p>

</div>
</div>
<a class="anchor" id="af2d675e87ba654125c052235dd97e206"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_SHA256" ref="af2d675e87ba654125c052235dd97e206" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_SHA256&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-SHA256 digest algorithm </p>

</div>
</div>
<a class="anchor" id="af2d675e87ba654125c052235dd97e206"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_SHA256" ref="af2d675e87ba654125c052235dd97e206" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_SHA256&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-SHA256 digest algorithm </p>

</div>
</div>
<a class="anchor" id="af62441bd65c41931d4d2db07511d3c85"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_SHA512" ref="af62441bd65c41931d4d2db07511d3c85" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_SHA512&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-SHA512 digest algorithm </p>

</div>
</div>
<a class="anchor" id="af62441bd65c41931d4d2db07511d3c85"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DGST_SHA512" ref="af62441bd65c41931d4d2db07511d3c85" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DGST_SHA512&#160;&#160;&#160;(SOAP_SMD_DGST | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DGST-SHA512 digest algorithm </p>

</div>
</div>
<a class="anchor" id="a72c48c3aa4ebeb3b280c077dfaef817f"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_DSA" ref="a72c48c3aa4ebeb3b280c077dfaef817f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_DSA&#160;&#160;&#160;(0x10)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA (RSA) signature </p>

</div>
</div>
<a class="anchor" id="a8d110dd437236b0a452177fb08845ed6"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_HASH" ref="a8d110dd437236b0a452177fb08845ed6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_HASH&#160;&#160;&#160;(0x0003)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ade78c7d3894cf1d6a2dcf665b0d9031c"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_HMAC" ref="ade78c7d3894cf1d6a2dcf665b0d9031c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_HMAC&#160;&#160;&#160;(0x00)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>HMAC </p>

</div>
</div>
<a class="anchor" id="a27e3ed779342e2ff2c377cde6252b6a1"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_HMAC_MD5" ref="a27e3ed779342e2ff2c377cde6252b6a1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_HMAC_MD5&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>HMAC-MD5 shared key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a7d00704c43ee044926905cd327a712ef"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_HMAC_SHA1" ref="a7d00704c43ee044926905cd327a712ef" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_HMAC_SHA1&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>HMAC-SHA1 shared key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a561d6c47f122626acb2f36bdabdc07e6"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_HMAC_SHA256" ref="a561d6c47f122626acb2f36bdabdc07e6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_HMAC_SHA256&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>HMAC-SHA256 shared key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a0eaedca857ff22ca7e2290e3ad67a184"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_HMAC_SHA512" ref="a0eaedca857ff22ca7e2290e3ad67a184" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_HMAC_SHA512&#160;&#160;&#160;(SOAP_SMD_HMAC | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>HMAC-SHA512 shared key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a70e1d7478fd8abbc698308361e87682d"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_KEY_TYPE" ref="a70e1d7478fd8abbc698308361e87682d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_KEY_TYPE&#160;&#160;&#160;EVP_PKEY</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Expose EVP_PKEY in a portable representation </p>

</div>
</div>
<a class="anchor" id="aab61776cee8be335d0f9b20bdbac586b"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_MASK" ref="aab61776cee8be335d0f9b20bdbac586b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_MASK&#160;&#160;&#160;(0x01FF)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9f9c621fe70ba4eba05b9120acc16f5c"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_MAX_SIZE" ref="a9f9c621fe70ba4eba05b9120acc16f5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_MAX_SIZE&#160;&#160;&#160;EVP_MAX_MD_SIZE</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Expose EVP_MAX_MD_SIZE in a portable representation </p>

</div>
</div>
<a class="anchor" id="a575994fbc455747d4bc9e8604718921d"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_MD5" ref="a575994fbc455747d4bc9e8604718921d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_MD5&#160;&#160;&#160;(0x00)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 hash </p>

</div>
</div>
<a class="anchor" id="a08fe9a1c4a3b6dc2494cb4a99e25e0f1"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_MD5_SIZE" ref="a08fe9a1c4a3b6dc2494cb4a99e25e0f1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_MD5_SIZE&#160;&#160;&#160;(16)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>MD5 digest size in octets </p>

</div>
</div>
<a class="anchor" id="a011f7d21ad3c8634373fe3d3325fcd75"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_NONE" ref="a011f7d21ad3c8634373fe3d3325fcd75" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_NONE&#160;&#160;&#160;(0x0000)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a72aec9a04db9a1e00d26b1ccb5e5da03"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_PASSTHRU" ref="a72aec9a04db9a1e00d26b1ccb5e5da03" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_PASSTHRU&#160;&#160;&#160;(0x100)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Additional flag: msg sends will pass through digest/signature algorithm </p>

</div>
</div>
<a class="anchor" id="aaa7f728a35238724164ae80fd929c76e"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SHA1" ref="aaa7f728a35238724164ae80fd929c76e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SHA1&#160;&#160;&#160;(0x01)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SHA1 hash </p>

</div>
</div>
<a class="anchor" id="a6ba3b594687a71acfa875a5cc0a844be"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SHA1_SIZE" ref="a6ba3b594687a71acfa875a5cc0a844be" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SHA1_SIZE&#160;&#160;&#160;(20)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SHA1 digest size in octets </p>

</div>
</div>
<a class="anchor" id="a5016e3b8e6f8795e5798808bf4bfd9e0"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SHA256" ref="a5016e3b8e6f8795e5798808bf4bfd9e0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SHA256&#160;&#160;&#160;(0x02)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SHA256 hash </p>

</div>
</div>
<a class="anchor" id="a273665760c45740016f39a511611e4c0"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SHA256_SIZE" ref="a273665760c45740016f39a511611e4c0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SHA256_SIZE&#160;&#160;&#160;(32)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SHA256 digest size in octets </p>

</div>
</div>
<a class="anchor" id="a78a9791001e122951dfa13c887be975b"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SHA512" ref="a78a9791001e122951dfa13c887be975b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SHA512&#160;&#160;&#160;(0x03)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SHA512 hash </p>

</div>
</div>
<a class="anchor" id="a4d55813fd57184d6369d5ff661ec6be5"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SHA512_SIZE" ref="a4d55813fd57184d6369d5ff661ec6be5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SHA512_SIZE&#160;&#160;&#160;(64)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SHA512 digest size in octets </p>

</div>
</div>
<a class="anchor" id="a0d47d3e5a67fa314704eebb83153c1c5"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN" ref="a0d47d3e5a67fa314704eebb83153c1c5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN&#160;&#160;&#160;(0x08)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sign </p>

</div>
</div>
<a class="anchor" id="a7af8f158e30f63fe52757293b3bf6870"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_DSA_MD5" ref="a7af8f158e30f63fe52757293b3bf6870" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_DSA_MD5&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-MD5 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a647cb5d798442d34c8191c62a2aeebf6"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_DSA_SHA1" ref="a647cb5d798442d34c8191c62a2aeebf6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_DSA_SHA1&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-SHA1 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="abb7046ffa72e2deade72d960fb2c1272"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_DSA_SHA256" ref="abb7046ffa72e2deade72d960fb2c1272" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_DSA_SHA256&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-SHA256 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="acdc41df17393ee4e42ad76245a5c3700"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_DSA_SHA512" ref="acdc41df17393ee4e42ad76245a5c3700" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_DSA_SHA512&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_DSA | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-SHA512 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a1e6902e2591b403858a96eb2498c67f2"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_RSA_MD5" ref="a1e6902e2591b403858a96eb2498c67f2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_RSA_MD5&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-MD5 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="acbb90951064d98a13af03724dbed2aa8"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_RSA_SHA1" ref="acbb90951064d98a13af03724dbed2aa8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_RSA_SHA1&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-SHA1 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a8634e2291f274a42107d3e935add3241"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_RSA_SHA256" ref="a8634e2291f274a42107d3e935add3241" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_RSA_SHA256&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-SHA256 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a47b63295eb2fd010886c3a2521090f02"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_SIGN_RSA_SHA512" ref="a47b63295eb2fd010886c3a2521090f02" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_SIGN_RSA_SHA512&#160;&#160;&#160;(SOAP_SMD_SIGN | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-SHA512 secret key signature algorithm </p>

</div>
</div>
<a class="anchor" id="a1efc7a5193429ae2e501d4a8e13a05fd"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY" ref="a1efc7a5193429ae2e501d4a8e13a05fd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY&#160;&#160;&#160;(0x0C)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Verify </p>

</div>
</div>
<a class="anchor" id="ab5c3f64561551b6b59835bb8dc9ab296"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_DSA_MD5" ref="ab5c3f64561551b6b59835bb8dc9ab296" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_DSA_MD5&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-MD5 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="a448c4d5953ca007263ff6a5bd055cfdc"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_DSA_SHA1" ref="a448c4d5953ca007263ff6a5bd055cfdc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_DSA_SHA1&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-SHA1 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="a5b4e9a64ef8a1de550cc5c5ab889d3c6"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_DSA_SHA256" ref="a5b4e9a64ef8a1de550cc5c5ab889d3c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_DSA_SHA256&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-SHA256 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="a6ccc62ed11f8753cfd1aca15f1da51de"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_DSA_SHA512" ref="a6ccc62ed11f8753cfd1aca15f1da51de" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_DSA_SHA512&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_DSA | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>DSA-SHA512 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="a9a8a6c16c967ea8d2e86d112772e4a81"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_RSA_MD5" ref="a9a8a6c16c967ea8d2e86d112772e4a81" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_RSA_MD5&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_MD5)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-MD5 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="aa395a40932c9c057cd264c03716c9d6e"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_RSA_SHA1" ref="aa395a40932c9c057cd264c03716c9d6e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_RSA_SHA1&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_SHA1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-SHA1 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="ac495716c1f8630567900c33cdea08fd1"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_RSA_SHA256" ref="ac495716c1f8630567900c33cdea08fd1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_RSA_SHA256&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_SHA256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-SHA256 secret key signature verification algorithm </p>

</div>
</div>
<a class="anchor" id="a16e7c5ef33465656c0d270eebc933021"></a><!-- doxytag: member="smdevp.h::SOAP_SMD_VRFY_RSA_SHA512" ref="a16e7c5ef33465656c0d270eebc933021" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_SMD_VRFY_RSA_SHA512&#160;&#160;&#160;(SOAP_SMD_VRFY | SOAP_SMD_SHA512)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>RSA-SHA512 secret key signature verification algorithm </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ad8b665c8e8844eca8916f4b16b0ce9c5"></a><!-- doxytag: member="smdevp.h::soap_smd_begin" ref="ad8b665c8e8844eca8916f4b16b0ce9c5" args="(struct soap *soap, int alg, const void *key, int keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_smd_begin </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>alg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initiates a digest or signature computation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">alg</td><td>is the digest or signature (sign/verification) algorithm used </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>is a HMAC key or pointer to EVP_PKEY object or NULL for digests </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>is the length of the HMAC key or 0 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SOAP_OK, SOAP_EOM, or SOAP_SSL_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a8f18dbae37de8942e080d45dd3480a7b"></a><!-- doxytag: member="smdevp.h::soap_smd_end" ref="a8f18dbae37de8942e080d45dd3480a7b" args="(struct soap *soap, char *buf, int *len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_smd_end </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Completes a digest or signature computation. Also deallocates temporary storage allocated by <a class="el" href="smdevp_8h.html#ad8b665c8e8844eca8916f4b16b0ce9c5" title="Initiates a digest or signature computation.">soap_smd_begin()</a>, so MUST be called after <a class="el" href="smdevp_8h.html#ad8b665c8e8844eca8916f4b16b0ce9c5" title="Initiates a digest or signature computation.">soap_smd_begin()</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>contains signature for verification (when using a SOAP_SMD_VRFY algorithm) or NULL for cleanup </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>is populated with the digest or signature with maximum length soap_smd_size(alg, key) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>points to length of signature to verify (when using a SOAP_SMD_VRFY algorithm) or NULL for cleanup </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">len</td><td>points to length of stored digest or signature (when not NULL) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SOAP_OK, SOAP_USER_ERROR, or SOAP_SSL_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a8d7f8b4fdcfe0afc13fef37fd8c46f5d"></a><!-- doxytag: member="smdevp.h::soap_smd_final" ref="a8d7f8b4fdcfe0afc13fef37fd8c46f5d" args="(struct soap *soap, struct soap_smd_data *data, char *buf, int *len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_smd_final </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsoap__smd__data.html">soap_smd_data</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Finalizes (signed) digest computation and returns digest or signature. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">data</td><td>smdevp engine context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>contains signature for verification (SOAP_SMD_VRFY algorithms) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>is populated with the digest or signature </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>points to length of signature to verify (SOAP_SMD_VRFY algorithms) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">len</td><td>points to length of stored digest or signature (pass NULL if you are not interested in this value) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SOAP_OK or SOAP_SSL_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a8835cbedd7b123915f673bf7b0e8f0cc"></a><!-- doxytag: member="smdevp.h::soap_smd_init" ref="a8835cbedd7b123915f673bf7b0e8f0cc" args="(struct soap *soap, struct soap_smd_data *data, int alg, const void *key, int keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_smd_init </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsoap__smd__data.html">soap_smd_data</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>alg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initiates a (signed) digest computation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">data</td><td>smdevp engine context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">alg</td><td>is algorithm to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>is key to use or NULL for digests </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>is length of HMAC key (when provided) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SOAP_OK or SOAP_SSL_ERROR </dd></dl>

</div>
</div>
<a class="anchor" id="a358684027d81577215163533f34b971f"></a><!-- doxytag: member="smdevp.h::soap_smd_size" ref="a358684027d81577215163533f34b971f" args="(int alg, const void *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t soap_smd_size </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>alg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the number of octets needed to store the digest or signature returned by soap_smd_end. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">alg</td><td>is the digest or signature algorithm to be used </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>is a pointer to an EVP_PKEY object for RSA/DSA signatures or NULL for digests and HMAC </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size_t number of octets that is needed to hold digest or signature </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="smdevp_8c.html#a8f18dbae37de8942e080d45dd3480a7b" title="Completes a digest or signature computation. Also deallocates temporary storage allocated by soap_smd...">soap_smd_end</a></dd></dl>
<p>The values returned for digests are SOAP_SMD_MD5_SIZE, SOAP_SMD_SHA1_SIZE, SOAP_SMD_SHA256_SIZE, SOAP_SMD_SHA512_SIZE. </p>

</div>
</div>
<a class="anchor" id="a1f9631955eabdcf338d0178d2d90ea50"></a><!-- doxytag: member="smdevp.h::soap_smd_update" ref="a1f9631955eabdcf338d0178d2d90ea50" args="(struct soap *soap, struct soap_smd_data *data, const char *buf, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_smd_update </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structsoap__smd__data.html">soap_smd_data</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Updates (signed) digest computation with message part. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">data</td><td>smdevp engine context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>contains message part </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>of message part </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>SOAP_OK or SOAP_SSL_ERROR </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Aug 18 2012 13:54:15 for gSOAP WS-Security by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>