<!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: OpenSSL Crypt</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><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>OpenSSL Crypt<br>
<small>
[<a class="el" href="group__openssl.html">OpenSSL wrapper</a>]</small>
</h1><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 int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__openssl__crypt.html#g43041149a87cc65387ecc77464297a66">openssl_bc_crypt</a> (const axutil_env_t *env, <a class="el" href="group__openssl__cipher__ctx.html#gd9180f202f53aa2722a17abe22a19057">openssl_cipher_ctx_t</a> *oc_ctx, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *input_buf, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *output_buf, int encrypt)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g43041149a87cc65387ecc77464297a66"></a><!-- doxytag: member="openssl_crypt.h::openssl_bc_crypt" ref="g43041149a87cc65387ecc77464297a66" args="(const axutil_env_t *env, openssl_cipher_ctx_t *oc_ctx, oxs_buffer_t *input_buf, oxs_buffer_t *output_buf, int encrypt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int openssl_bc_crypt           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__openssl__cipher__ctx.html#gd9180f202f53aa2722a17abe22a19057">openssl_cipher_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>oc_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>input_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>encrypt</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Encrypt or decrypts data in the  and place the result in the . This function works for block ciphers AES-128, AES-192, AES-256 and 3-DES The key and the cipher name must be specified in the cipher context.  pointer to environment struct  openssl block cipher context  the input buffer to en/decrypt  the output buffer to place en/decrypted result  For encryption encrypt=OPENSSL_ENCRYPT and for decryption encrypt=OPENSSL_DECRYPT <dl class="return" compact><dt><b>Returns:</b></dt><dd>the length of the en/decrypted result OR -1 if failed </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:54 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>
