<!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: Token Builder</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>Token Builder<br>
<small>
[<a class="el" href="group__rampart__utils.html">Rampart Utilities</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_token_build_pattern_t</b> { <br>
&nbsp;&nbsp;<b>RTBP_UNKNOWN</b> =  0, 
<b>RTBP_EMBEDDED</b>, 
<b>RTBP_KEY_IDENTIFIER</b>, 
<b>RTBP_X509DATA_ISSUER_SERIAL</b>, 
<br>
&nbsp;&nbsp;<b>RTBP_X509DATA_X509CERTIFICATE</b>, 
<b>RTBP_THUMBPRINT</b>
<br>
 }</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__rampart__token__builder.html#g60941463f174c35358bcb81191607563">rampart_token_build_security_token_reference</a> (const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert, rampart_token_build_pattern_t pattern)</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__rampart__token__builder.html#g04c965428d250837adeee2aad753b3a2">rampart_token_build_embedded</a> (const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)</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__rampart__token__builder.html#ge8757ff39c378ee13eed61053e92b681">rampart_token_build_key_identifier</a> (const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdd35a3cb18abdd5a85f84855f104f754"></a><!-- doxytag: member="rampart_token_builder::rampart_token_build_x509_data_x509_certificate" ref="gdd35a3cb18abdd5a85f84855f104f754" args="(const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_token_build_x509_data_x509_certificate</b> (const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)</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__rampart__token__builder.html#g90fb9327c8681e0d8466076cfe689f82">rampart_token_build_x509_data_issuer_serial</a> (const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)</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__rampart__token__builder.html#g60daf64fc01b894672f0f689141573d0">rampart_token_build_thumbprint_reference</a> (const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g04c965428d250837adeee2aad753b3a2"></a><!-- doxytag: member="rampart_token_builder.h::rampart_token_build_embedded" ref="g04c965428d250837adeee2aad753b3a2" args="(const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_token_build_embedded           </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">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oxs_x509_cert_t *&nbsp;</td>
          <td class="paramname"> <em>cert</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>
Build an Embedded token with data available in the certificate. &lt;SecurityTokenReference&gt; &lt;Embedded&gt; &lt;BinarySecurityToken&gt;UYISDjsdaousdWEqswOIUsd&lt;/BinarySecurityToken&gt; &lt;/Embedded&gt; &lt;/SecurityTokenReference&gt; <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>parent</em>&nbsp;</td><td>The parent node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert</em>&nbsp;</td><td>The X509 certificate </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="ge8757ff39c378ee13eed61053e92b681"></a><!-- doxytag: member="rampart_token_builder.h::rampart_token_build_key_identifier" ref="ge8757ff39c378ee13eed61053e92b681" args="(const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_token_build_key_identifier           </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">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oxs_x509_cert_t *&nbsp;</td>
          <td class="paramname"> <em>cert</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>
Build a KeyIndentifer token with data available in the certificate. &lt;SecurityTokenReference&gt; &lt;KeyIdentifier&gt;WEqswOIUsd&lt;/KeyIdentifier&gt; &lt;/SecurityTokenReference&gt; <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>parent</em>&nbsp;</td><td>The parent node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert</em>&nbsp;</td><td>The X509 certificate </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="g60941463f174c35358bcb81191607563"></a><!-- doxytag: member="rampart_token_builder.h::rampart_token_build_security_token_reference" ref="g60941463f174c35358bcb81191607563" args="(const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert, rampart_token_build_pattern_t pattern)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_token_build_security_token_reference           </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">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oxs_x509_cert_t *&nbsp;</td>
          <td class="paramname"> <em>cert</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rampart_token_build_pattern_t&nbsp;</td>
          <td class="paramname"> <em>pattern</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>
Build a SecurityTokenReference element according to the pattern specified in . The token will be attached to the node  and relavent data will be extracted from certificate . Note that this method will internally call other token building methods specified in this header depending on the . <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>parent</em>&nbsp;</td><td>The parent node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert</em>&nbsp;</td><td>The X509 certificate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pattern</em>&nbsp;</td><td>The build pattern </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="g60daf64fc01b894672f0f689141573d0"></a><!-- doxytag: member="rampart_token_builder.h::rampart_token_build_thumbprint_reference" ref="g60daf64fc01b894672f0f689141573d0" args="(const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_token_build_thumbprint_reference           </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">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oxs_x509_cert_t *&nbsp;</td>
          <td class="paramname"> <em>cert</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>
Build a Thumbprint Reference of the certificate. &lt;wsse:SecurityTokenReference&gt; &lt;wsse:KeyIdentifier EncodingType="..." ValueType="...# ThumbprintSHA1"&gt;bg6I8267h0TUcPYvYE0D6k6+UJQ=&lt;/wsse:KeyIdentifier&gt; &lt;/wsse:SecurityTokenReference&gt;<p>
<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>parent</em>&nbsp;</td><td>The parent node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert</em>&nbsp;</td><td>The X509 certificate </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="g90fb9327c8681e0d8466076cfe689f82"></a><!-- doxytag: member="rampart_token_builder.h::rampart_token_build_x509_data_issuer_serial" ref="g90fb9327c8681e0d8466076cfe689f82" args="(const axutil_env_t *env, axiom_node_t *parent, oxs_x509_cert_t *cert)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_token_build_x509_data_issuer_serial           </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">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">oxs_x509_cert_t *&nbsp;</td>
          <td class="paramname"> <em>cert</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>
Build an X509IssuerSerial token with data available in the certificate. &lt;SecurityTokenReference&gt; &lt;x509Data&gt; &lt;X509IssuerSerial&gt; &lt;X509IssuerName&gt;C=US, O=VeriSign, Inc.,&lt;/X509IssuerName&gt; &lt;X509SerialNumber&gt;93243297328&lt;/X509SerialNumber&gt; &lt;/X509IssuerSerial&gt; &lt;/x509Data&gt; &lt;/SecurityTokenReference&gt; <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>parent</em>&nbsp;</td><td>The parent node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cert</em>&nbsp;</td><td>The X509 certificate </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:55 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>
