blob: c1fe7db29608297344577f832257a83a0d4e4a0e [file] [log] [blame]
<!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: XML Encryption</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>XML Encryption<br>
<small>
[<a class="el" href="group__oxs.html">OMXMLSecurity</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 axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__xml__encryption.html#gf1d0dc87c3df459e634ad5cf6da483ad">oxs_xml_enc_encrypt_node</a> (const axutil_env_t *env, <a class="el" href="group__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *enc_ctx, axiom_node_t *node, axiom_node_t **enc_type_node, axiom_node_t *key_reference_node)</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__xml__encryption.html#g656d25ac5f1ea1130e597cfa7daaacf3">oxs_xml_enc_decrypt_node</a> (const axutil_env_t *env, <a class="el" href="group__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *enc_ctx, axiom_node_t *enc_type_node, axiom_node_t **decrypted_node)</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__xml__encryption.html#g23a655fe1363591788d506833529b6ad">oxs_xml_enc_encrypt_data</a> (const axutil_env_t *env, <a class="el" href="group__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *enc_ctx, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *content_buf, axiom_node_t **enc_type_node, axiom_node_t *key_reference_node)</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__xml__encryption.html#ge9f8332c6f84f2c16b7dfd4741e0d677">oxs_xml_enc_decrypt_data</a> (const axutil_env_t *env, <a class="el" href="group__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *enc_ctx, axiom_node_t *enc_type_node, <a class="el" href="group__oxs__buffer.html#g0c4b78066ec1762a58cbec685dd60537">oxs_buffer_t</a> *result_buf)</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__xml__encryption.html#g773121d21a842d0959dc57e2c75c1657">oxs_xml_enc_encrypt_key</a> (const axutil_env_t *env, oxs_asym_ctx_t *asym_ctx, axiom_node_t *parent, <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *sym_key, axutil_array_list_t *id_list)</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__xml__encryption.html#geddda5177bb714f8b1e1dfc086d87912">oxs_xml_enc_decrypt_key</a> (const axutil_env_t *env, oxs_asym_ctx_t *asym_ctx, axiom_node_t *parent, axiom_node_t *encrypted_key_node, <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ge9f8332c6f84f2c16b7dfd4741e0d677"></a><!-- doxytag: member="oxs_xml_encryption.h::oxs_xml_enc_decrypt_data" ref="ge9f8332c6f84f2c16b7dfd4741e0d677" args="(const axutil_env_t *env, oxs_ctx_t *enc_ctx, axiom_node_t *enc_type_node, oxs_buffer_t *result_buf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AXIS2_EXTERN axis2_status_t oxs_xml_enc_decrypt_data </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__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *&nbsp;</td>
<td class="paramname"> <em>enc_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>enc_type_node</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>result_buf</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>
Decrypts and places the data inside the The name of the method is bit tricky as it doesn't exactly decrypts a data buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_ctx</em>&nbsp;</td><td>encryption context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_type_node</em>&nbsp;</td><td>the EncryptedData node which needs to be decrypted </td></tr>
<tr><td valign="top"></td><td valign="top"><em>result_buf</em>&nbsp;</td><td>the buffer to keep the decrypted content </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>
</div>
</div><p>
<a class="anchor" name="geddda5177bb714f8b1e1dfc086d87912"></a><!-- doxytag: member="oxs_xml_encryption.h::oxs_xml_enc_decrypt_key" ref="geddda5177bb714f8b1e1dfc086d87912" args="(const axutil_env_t *env, oxs_asym_ctx_t *asym_ctx, axiom_node_t *parent, axiom_node_t *encrypted_key_node, oxs_key_t *key)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AXIS2_EXTERN axis2_status_t oxs_xml_enc_decrypt_key </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">oxs_asym_ctx_t *&nbsp;</td>
<td class="paramname"> <em>asym_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>encrypted_key_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
<td class="paramname"> <em>key</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>
Decrypts a key/data in asymmetric way as specified in . This method is specifically written to support the key decryption in WS-Secruity <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_ctx</em>&nbsp;</td><td>encryption context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>parent of the EncryptedKey node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>encrypted_key_node</em>&nbsp;</td><td>the EncryptedKey node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key,the</em>&nbsp;</td><td>key which holds the decrypted key data </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>
</div>
</div><p>
<a class="anchor" name="g656d25ac5f1ea1130e597cfa7daaacf3"></a><!-- doxytag: member="oxs_xml_encryption.h::oxs_xml_enc_decrypt_node" ref="g656d25ac5f1ea1130e597cfa7daaacf3" args="(const axutil_env_t *env, oxs_ctx_t *enc_ctx, axiom_node_t *enc_type_node, axiom_node_t **decrypted_node)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AXIS2_EXTERN axis2_status_t oxs_xml_enc_decrypt_node </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__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *&nbsp;</td>
<td class="paramname"> <em>enc_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>enc_type_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t **&nbsp;</td>
<td class="paramname"> <em>decrypted_node</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>
Decrypts a node as specified in the . A reference is taken to assign the address of the decrypted node <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_ctx</em>&nbsp;</td><td>encryption context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_type_node</em>&nbsp;</td><td>the EncryptedData node which needs to be decrypted </td></tr>
<tr><td valign="top"></td><td valign="top"><em>decrypted_node</em>&nbsp;</td><td>reference to the decrypted node </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>
</div>
</div><p>
<a class="anchor" name="g23a655fe1363591788d506833529b6ad"></a><!-- doxytag: member="oxs_xml_encryption.h::oxs_xml_enc_encrypt_data" ref="g23a655fe1363591788d506833529b6ad" args="(const axutil_env_t *env, oxs_ctx_t *enc_ctx, oxs_buffer_t *content_buf, axiom_node_t **enc_type_node, axiom_node_t *key_reference_node)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AXIS2_EXTERN axis2_status_t oxs_xml_enc_encrypt_data </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__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *&nbsp;</td>
<td class="paramname"> <em>enc_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>content_buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t **&nbsp;</td>
<td class="paramname"> <em>enc_type_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>key_reference_node</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>
Encrypts data or the content of the as specified in the . A reference is taken for the EncryptedData to place the encrypted data <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_ctx</em>&nbsp;</td><td>encryption context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>content_buf</em>&nbsp;</td><td>the content to be encrypted. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_type_node</em>&nbsp;</td><td>reference to the EncryptedData node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key_reference_node</em>&nbsp;</td><td>key reference provided by STS generated tokens. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>
</div>
</div><p>
<a class="anchor" name="g773121d21a842d0959dc57e2c75c1657"></a><!-- doxytag: member="oxs_xml_encryption.h::oxs_xml_enc_encrypt_key" ref="g773121d21a842d0959dc57e2c75c1657" args="(const axutil_env_t *env, oxs_asym_ctx_t *asym_ctx, axiom_node_t *parent, oxs_key_t *sym_key, axutil_array_list_t *id_list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AXIS2_EXTERN axis2_status_t oxs_xml_enc_encrypt_key </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">oxs_asym_ctx_t *&nbsp;</td>
<td class="paramname"> <em>asym_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
<td class="paramname"> <em>sym_key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axutil_array_list_t *&nbsp;</td>
<td class="paramname"> <em>id_list</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>
Encrypts a key/data in asymmetric way as specified in . This method is specifically written to support the key encryption in WS-Secruity <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_ctx</em>&nbsp;</td><td>encryption context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>parent of the EncryptedKey node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>sym_key,the</em>&nbsp;</td><td>symmetric key that needs to be encrypted </td></tr>
<tr><td valign="top"></td><td valign="top"><em>id_list</em>&nbsp;</td><td>the list of nodes that are encrypted by this particular key </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>
</div>
</div><p>
<a class="anchor" name="gf1d0dc87c3df459e634ad5cf6da483ad"></a><!-- doxytag: member="oxs_xml_encryption.h::oxs_xml_enc_encrypt_node" ref="gf1d0dc87c3df459e634ad5cf6da483ad" args="(const axutil_env_t *env, oxs_ctx_t *enc_ctx, axiom_node_t *node, axiom_node_t **enc_type_node, axiom_node_t *key_reference_node)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AXIS2_EXTERN axis2_status_t oxs_xml_enc_encrypt_node </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__oxs__ctx.html#g795415d5d6b4ae62260a5a093b368378">oxs_ctx_t</a> *&nbsp;</td>
<td class="paramname"> <em>enc_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t **&nbsp;</td>
<td class="paramname"> <em>enc_type_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">axiom_node_t *&nbsp;</td>
<td class="paramname"> <em>key_reference_node</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>
Encrypts a given node as specified in the . A reference is taken for the EncryptedData to place the encrypted data. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_ctx</em>&nbsp;</td><td>encryption context </td></tr>
<tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node tobe encrypted </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enc_type_node</em>&nbsp;</td><td>reference to the EncryptedData node </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key_reference_node</em>&nbsp;</td><td>key reference provided by STS generated tokens. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </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>