<!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: Rampart Context</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>Rampart Context<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>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc16cb030561dbcd96958191336fa02bd"></a><!-- doxytag: member="rampart_context::rampart_context_t" ref="gc16cb030561dbcd96958191336fa02bd" args="" -->
typedef struct rampart_context_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_t</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3b7aa40abb4d7f3535d238e60e29ac07"></a><!-- doxytag: member="rampart_context::password_callback_fn" ref="g3b7aa40abb4d7f3535d238e60e29ac07" args=")(const axutil_env_t *env, const axis2_char_t *username, void *user_params)" -->
typedef axis2_char_t *(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>password_callback_fn</b> )(const axutil_env_t *env, const axis2_char_t *username, void *user_params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g294a4fd50377cf1d9cd5c657a654f263"></a><!-- doxytag: member="rampart_context::rampart_is_replayed_fn" ref="g294a4fd50377cf1d9cd5c657a654f263" args=")(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, rampart_context_t *rampart_context, void *user_params)" -->
typedef axis2_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_is_replayed_fn</b> )(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, rampart_context_t *rampart_context, void *user_params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8843f002a175545175492c9ad48c48b9"></a><!-- doxytag: member="rampart_context::auth_password_func" ref="g8843f002a175545175492c9ad48c48b9" args=")(const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *password, void *ctx)" -->
typedef <br>
rampart_authn_provider_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>auth_password_func</b> )(const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *password, void *ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4d6979832df8aef1435ad6a1aef4a60b"></a><!-- doxytag: member="rampart_context::auth_digest_func" ref="g4d6979832df8aef1435ad6a1aef4a60b" args=")(const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest, void *ctx)" -->
typedef <br>
rampart_authn_provider_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>auth_digest_func</b> )(const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest, void *ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4ff66ce23f478f8c3d074aad9abdceb3"></a><!-- doxytag: member="rampart_context::store_security_context_token_fn" ref="g4ff66ce23f478f8c3d074aad9abdceb3" args=")(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_global_id, axis2_char_t *sct_local_id, void *sct, void *user_params)" -->
typedef axis2_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>store_security_context_token_fn</b> )(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_global_id, axis2_char_t *sct_local_id, void *sct, void *user_params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0ca2f3608454c1fc0bcd0ff745330431"></a><!-- doxytag: member="rampart_context::obtain_security_context_token_fn" ref="g0ca2f3608454c1fc0bcd0ff745330431" args=")(const axutil_env_t *env, axis2_bool_t is_encryption, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_id, int sct_id_type, void *user_params)" -->
typedef void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>obtain_security_context_token_fn</b> )(const axutil_env_t *env, axis2_bool_t is_encryption, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_id, int sct_id_type, void *user_params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbecebe7bf713697bcf6d48a1761defe5"></a><!-- doxytag: member="rampart_context::delete_security_context_token_fn" ref="gbecebe7bf713697bcf6d48a1761defe5" args=")(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_id, int sct_id_type, void *user_params)" -->
typedef axis2_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>delete_security_context_token_fn</b> )(const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_id, int sct_id_type, void *user_params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0b3c4dc3c1c69cb78f720e52614389e8"></a><!-- doxytag: member="rampart_context::validate_security_context_token_fn" ref="g0b3c4dc3c1c69cb78f720e52614389e8" args=")(const axutil_env_t *env, axiom_node_t *sct_node, axis2_msg_ctx_t *msg_ctx, void *user_params)" -->
typedef axis2_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>validate_security_context_token_fn</b> )(const axutil_env_t *env, axiom_node_t *sct_node, axis2_msg_ctx_t *msg_ctx, void *user_params)</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rampart_context_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g2462607446876c3721d774e10d63cdd2">rampart_context_create</a> (const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g75cf3dbf21a73de04fd31e0e349c446f">rampart_context_free</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g2057cd69b77b3ac388a4985facfb21d5">rampart_context_set_policy_node</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axiom_node_t *policy_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__rampart__context.html#g10029bb021215eec3d67a032df1b4c54">rampart_context_set_prv_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env, void *prv_key)</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__context.html#g817545570f5dd6b57d5e7f91943f1d62">rampart_context_set_prv_key_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_key_type_t type)</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__context.html#gf6cf50519fffb322040291da446f2dd8">rampart_context_set_certificate</a> (rampart_context_t *rampart_context, const axutil_env_t *env, void *certificate)</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__context.html#g2ba79b25add5c0a6bb7ee6119e5646d1">rampart_context_set_certificate_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_key_type_t type)</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__context.html#g0116b81f9b22e7f3a2e48491365f1eac">rampart_context_set_receiver_certificate</a> (rampart_context_t *rampart_context, const axutil_env_t *env, void *receiver_certificate)</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__context.html#g15f9f7b09ea72a9ade7fe4513e89be89">rampart_context_set_receiver_certificate_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_key_type_t type)</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__context.html#gc9444f392179d71d573442da4ea1cbd4">rampart_context_set_user</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *user)</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__context.html#g462e3b11fcc0b5de0ab6dacf6b81db4c">rampart_context_set_password</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *password)</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__context.html#g21da60827f3a50cb5d5a1134e25ebb84">rampart_context_set_prv_key_password</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *prv_key_password)</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__context.html#g5574d429808b3360b665a7e0e3e61a7f">rampart_context_set_pwcb_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env, password_callback_fn pwcb_function, void *user_params)</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__context.html#g070ab37a6f95b25a3930b973485e5386">rampart_context_set_replay_detect_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rampart_is_replayed_fn is_replayed_function, void *user_params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gfbf34c289a5fb5470e2407ab7b6553c4">rampart_context_get_rd_user_params</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g757b214da227a232b7dee66f1a0e526f">rampart_context_set_password_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *password_type)</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__context.html#gf5580e1e77f655e1a4c459c4253e9189">rampart_context_set_ttl</a> (rampart_context_t *rampart_context, const axutil_env_t *env, int ttl)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcda1431f022707854bc63be33d7640e4"></a><!-- doxytag: member="rampart_context::rampart_context_set_need_millisecond_precision" ref="gcda1431f022707854bc63be33d7640e4" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t need_millisecond_precision)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_set_need_millisecond_precision</b> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t need_millisecond_precision)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf3e094933ff585f770ef667029803a14"></a><!-- doxytag: member="rampart_context::rampart_context_set_clock_skew_buffer" ref="gf3e094933ff585f770ef667029803a14" args="(rampart_context_t *rampart_context, const axutil_env_t *env, int skew_buffer)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_set_clock_skew_buffer</b> (rampart_context_t *rampart_context, const axutil_env_t *env, int skew_buffer)</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__context.html#g75b8d72e9a09fd4c0738d4a73e039c5e">rampart_context_set_rd_val</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *rd_val)</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__context.html#g243a436740b7dc5464d97e450744d8db">rampart_context_set_private_key_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *private_key_file)</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__context.html#gfcc07622e1000d8d1b9fac3740a8da29">rampart_context_set_certificate_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *certificate_file)</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__context.html#g1fe02c10a0473988ac106250e290ea9d">rampart_context_add_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env, <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *key)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gd16e54466db4a6746e5006d69aef4313">rampart_context_get_policy_node</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g3caa32c34c336f4abf246a39183fa01f">rampart_context_get_prv_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_key_type_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g280546ed47763021fad38259d9b93e51">rampart_context_get_prv_key_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g78ebf8eeb5c5f553b343602c217ba0d1">rampart_context_get_certificate</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_key_type_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g693f3282d4ecc836fc28b5a10d6a83be">rampart_context_get_certificate_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g5c1b82ea435cf6286a8cfd471ba32a21">rampart_context_get_receiver_certificate</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_key_type_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gc24f17b6be9deeee0cd1c119c4094dc9">rampart_context_get_receiver_certificate_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#ga1f7c9ee4aad80c6d2c45ac7615e6f43">rampart_context_get_user</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1b7d7787bcee51cb426bdf54852f948f">rampart_context_get_password</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1d659bc83bb61eebcd0363b0ed28e6ac">rampart_context_get_prv_key_password</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN password_callback_fn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gd97b7f3803f5211251e4e776db8779ea">rampart_context_get_pwcb_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rampart_is_replayed_fn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gdbc99377cf694ce9fb4cda737e1509ff">rampart_context_get_replay_detect_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g733be014863423e55f936aea665328c0">rampart_context_get_pwcb_user_params</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__rampart__context.html#g1abbd430e43fd08090bdcbafea671d58">rampart_context_get_ttl</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdf5f79321fa1d0245a9739627cd3c295"></a><!-- doxytag: member="rampart_context::rampart_context_get_need_millisecond_precision" ref="gdf5f79321fa1d0245a9739627cd3c295" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_get_need_millisecond_precision</b> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5a454b2c6a04e9257d0a50e359e77642"></a><!-- doxytag: member="rampart_context::rampart_context_get_clock_skew_buffer" ref="g5a454b2c6a04e9257d0a50e359e77642" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
AXIS2_EXTERN int&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_get_clock_skew_buffer</b> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g4192142d0ccc6bfdead086c87fb2a108">rampart_context_get_rd_val</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g8a4460700ff623f73fa2a02afb8e8724">rampart_context_get_password_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axutil_array_list_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gc07dbb839a25553fb2d659aadc748d32">rampart_context_get_keys</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g2e8f11c5eafde1ef4632fc09cfcbd1ff">rampart_context_get_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *key_id)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gcac8e530dddc369bc3b5d0fab54bfee4">rampart_context_get_key_using_hash</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *hash)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rp_secpolicy_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g71cfb5040525987a25142ab02ea2e745">rampart_context_get_secpolicy</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#ge6e19b60729e0a16d56ca8b1765710ae">rampart_context_set_secpolicy</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rp_secpolicy_t *secpolicy)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rampart_callback_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g03dc7086fafd7e90e95467526673adb9">rampart_context_get_password_callback</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g027572e3ba116b8789f083a016656d6c">rampart_context_set_password_callback</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rampart_callback_t *password_callback_module)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN auth_password_func&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g72f540c2c028f6d8e0fd20ccdaf019bb">rampart_context_get_auth_password_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g8021b29fed3a4c325fee6767bfeea4da">rampart_context_set_auth_password_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env, auth_password_func authenticate_with_password)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN auth_digest_func&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1bb5844a42cc9a19097025e1462c18a1">rampart_context_get_auth_digest_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g3b5cf72d4e8fc73f36bcec8a27d0038e">rampart_context_set_auth_digest_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env, auth_digest_func authenticate_with_digest)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
rampart_authn_provider_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g6201b43033bc32d547a988ae91b3559a">rampart_context_get_authn_provider</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g13876d0b493c8aa80ae196e8f500808f">rampart_context_get_replay_detector</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gbd7d0a25b7c482c4ed0179faf6561d5c">rampart_context_get_sct_provider</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g443c87882615b460884a92690911c338">rampart_context_set_authn_provider</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rampart_authn_provider_t *authn_provider)</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__context.html#gce67d160beeb46b7f7fa11ef139cf50d">rampart_context_set_replay_detector</a> (rampart_context_t *rampart_context, const axutil_env_t *env, void *replay_detector)</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__context.html#gf159232aa507644a2c4ce728134bdb00">rampart_context_set_sct_provider</a> (rampart_context_t *rampart_context, const axutil_env_t *env, void *sct_module)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gb38c815dd4041552152e98ec1c7922b0">rampart_context_get_require_timestamp</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gb11f08e5b801fef4d47e6f63849a7e77">rampart_context_get_require_ut</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rp_property_type_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g7ef5791ed147cdb90dad6b2dcdc0b081">rampart_context_get_binding_type</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g575fc227d6bf5ab6d6aad9c169af4b0a">rampart_context_is_include_timestamp</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gf79bce28e1ba0404b4b2f61189b885e6">rampart_context_is_include_username_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gf15b1944b02d4e9c3a19a6ef312604fd">rampart_context_is_include_supporting_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t server_side, axis2_bool_t is_inpath, rp_property_type_t token_type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g47cc34f0c08bf363e65a1099302db4ea">rampart_context_is_include_protection_saml_token</a> (rampart_context_t *rampart_context, axis2_bool_t server_side, axis2_bool_t is_inpath, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rp_property_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g602193f93d169ee7e76a0336ce796488">rampart_context_get_supporting_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rp_property_type_t token_type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g5c5f221347bceffd361612a48c13f86f">rampart_context_get_password_callback_class</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g659900642345215ecfed3edcce352a37">rampart_context_get_authn_module_name</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g5439a9422201f6ce325a7c61ce0941f8">rampart_context_get_replay_detector_name</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gde71b27f4fd4a6733962fd9d3b5ac65b">rampart_context_get_sct_provider_name</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g5d80c077e9fd90b0edb10d6bab16f222">rampart_context_is_encrypt_before_sign</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g623448683daa9eb08823f3c8331a92eb">rampart_context_is_encrypt_signature</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g561f8808151ce597b93457c19b4c7277">rampart_context_get_nodes_to_encrypt</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_encrypt)</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__context.html#g2aa01e522b18ece05d396b0bf2af3fb8">rampart_context_get_nodes_to_sign</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_sign)</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__context.html#gca925f9ee6061525dd758c74dff9d2c4">rampart_context_get_elements_to_encrypt</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_encrypt)</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__context.html#gd4b09f3f19d5a5f7b4a70fab0b9b433d">rampart_context_get_elements_to_sign</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_sign)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rp_property_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1ee45a2fc97e83f1480646953231ce14">rampart_context_get_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t for_encryption, axis2_bool_t server_side, axis2_bool_t is_inpath)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rp_property_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gdfb786b1cb8e5e0c2c21ddbaf1640900">rampart_context_get_endorsing_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g4b1c48ec20ae7f3c7396a62a40fd3440">rampart_context_check_is_derived_keys</a> (const axutil_env_t *env, rp_property_t *token)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gd5768fe3cb1ec29cdf7ce02c4c53918c">rampart_context_get_derived_key_version</a> (const axutil_env_t *env, rp_property_t *token)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#ga40441c047fb1dc1eada28943d958fa3">rampart_context_get_enc_sym_algo</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gfb7cb83bf3bef3f5abae8126f9e15885">rampart_context_get_enc_asym_algo</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gdb65ad5c687e0f1028afdcc2535c130d">rampart_context_get_asym_sig_algo</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1749e7381c65c75a0ab152bd8cdfe000">rampart_context_get_digest_mtd</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g78d932ef5875e5d467749db8b05dc81d">rampart_context_get_encryption_user</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gdafe1738b31fda65730d97601a9fb4bb">rampart_context_is_token_include</a> (rampart_context_t *rampart_context, rp_property_t *token, rp_property_type_t token_type, axis2_bool_t server_side, axis2_bool_t is_inpath, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gb95e9973d6f1717c0eaef46bedc906a2">rampart_context_get_key_identifier</a> (rampart_context_t *rampart_context, rp_property_t *token, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g62c5a860cfdb0fdbfeabd612fead07f6">rampart_context_is_token_type_supported</a> (rp_property_type_t token_type, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g8c675afa73d408008f0d4a1d5dfb4e72">rampart_context_is_key_identifier_type_supported</a> (rampart_context_t *rampart_context, rp_property_t *token, axis2_char_t *identifier, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gecc698dc8759d5792120eaaa6302c6b0">rampart_context_get_layout</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g78aa0a3b24db6fead60c8620bc335410">rampart_context_check_whether_to_encrypt</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gaa344087dcd4318944dd3b620c681ef5">rampart_context_check_whether_to_sign</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#gd86fa93cb62d3237d0d0ac999436e891">rampart_context_set_user_from_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#gf8e41b75f954773fe17895577b50bd48">rampart_context_set_password_type_from_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g24060862593d4694467aa9f1ea567570">rampart_context_get_certificate_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1a308f14add52e5204087a06bf36bf1e">rampart_context_get_receiver_certificate_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g6a71077da3dfb24c8baabd8d1b3ead67">rampart_context_get_private_key_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g90a45840e90c6addd9f8ff13785e8251">rampart_context_set_ttl_from_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4c3f3fc4c46fcae43f3f2a79981a219d"></a><!-- doxytag: member="rampart_context::rampart_context_set_clock_skew_buffer_from_file" ref="g4c3f3fc4c46fcae43f3f2a79981a219d" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_set_clock_skew_buffer_from_file</b> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3b5fc6594da3f0add1b111f3e82b3d8f"></a><!-- doxytag: member="rampart_context::rampart_context_set_need_millisecond_precision_from_file" ref="g3b5fc6594da3f0add1b111f3e82b3d8f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_set_need_millisecond_precision_from_file</b> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#ga57ebcc4a8c2e4867cf7d51f31813f94">rampart_context_set_rd_val_from_file</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g55407fbc12f7e6afa249997fc73ec395">rampart_context_get_encryption_session_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g69755c8df772a133e2565f57e2e61892">rampart_context_set_encryption_session_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env, <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *session_key)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gaa1fc4d9d4a6a5bd68e318b8016630ce">rampart_context_get_signature_session_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g6aeaebfd30a81a16c959acc1959e2054">rampart_context_set_signature_session_key</a> (rampart_context_t *rampart_context, const axutil_env_t *env, <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *session_key)</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__context.html#g5269fb1da7fb82bb61209010deb2e5b7">rampart_context_increment_ref</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g48f61554c4c2feb080adce64b2442f01">rampart_context_is_sig_confirmation_reqd</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gcde31d533efe0acf5efa1f93b4d93115">rampart_context_get_encryption_token_id</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g51950fdbe7c50528d830f632ce0b9876">rampart_context_get_signature_token_id</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)</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__context.html#gf4527a42e8061105e87f8323ce2e00d1">rampart_context_set_encryption_token_id</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *sct_id, axis2_msg_ctx_t *msg_ctx)</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__context.html#ge4166596614087e21aeefd16325ba65e">rampart_context_set_signature_token_id</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *sct_id, axis2_msg_ctx_t *msg_ctx)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rampart_saml_token_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gf766184357cc4fc8c9b507d6083c03be">rampart_context_get_saml_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rampart_st_type_t token_type)</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__context.html#gc9214d53d4b4363a0a3f04a73d86f393">rampart_context_add_saml_token</a> (rampart_context_t *rampart_context, const axutil_env_t *env, rampart_saml_token_t *token)</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__context.html#gf40547dbf48b1c1d5e6d508562f18513">rampart_context_set_saml_tokens</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axutil_array_list_t *tokens)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
issued_token_callback_func&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gead0aa28d52f9419dfa719c40e9779db">rampart_context_get_issued_token_aquire_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#gf400d0d813fddab1af88e5ed4b677ff3">rampart_context_set_issued_token_aquire_function</a> (rampart_context_t *rampart_context, const axutil_env_t *env, issued_token_callback_func issued_token_aquire)</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__rampart__context.html#gd58de26e195800a1c9de7ae4f5b38af6">rampart_context_get_encryption_derived_key_len</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__rampart__context.html#g86e74fd0e3bf6131645b281a978c1958">rampart_context_get_signature_derived_key_len</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN rp_algorithmsuite_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gbc7000662db444dcea3cbf562ce6b893">rampart_context_get_algorithmsuite</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN oxs_key_mgr_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g3ebd8f6a77871017bf98a3be9a6348ac">rampart_context_get_key_mgr</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#gd8d5c42eae1cc33b8037d05f633683b9">rampart_context_set_key_mgr</a> (rampart_context_t *rampart_context, const axutil_env_t *env, oxs_key_mgr_t *key_mgr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#ga12ed3148b79cb69879da1aac7c4d174">rampart_context_get_pkcs12_file_name</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#g355f12f46d7d210f3b0cc5853fa645ac">rampart_context_set_custom_tokens</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axutil_array_list_t *tokens)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axutil_array_list_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gcaa4500344fa9c504ffb08b4b0c72d61">rampart_context_get_custom_tokens</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g1c33a4f6a80a6f433703db5b4a0f8a02">rampart_context_get_found_cert_in_shp</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#ge88c3f05b542d5a6d8a99ff5e9410f23">rampart_context_set_found_cert_in_shp</a> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t found_cert_in_shp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN oxs_x509_cert_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#ga56fe7d32ffc3beec3e3c6c693dec082">rampart_context_get_receiver_cert_found_in_shp</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</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__context.html#gf30e4600a7c678abd2e6bdd397e8afba">rampart_context_set_receiver_cert_found_in_shp</a> (rampart_context_t *rampart_context, const axutil_env_t *env, oxs_x509_cert_t *cert)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf041b9857b067e92c31a54ae80452b2d"></a><!-- doxytag: member="rampart_context::rampart_context_get_key_store_buff" ref="gf041b9857b067e92c31a54ae80452b2d" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_get_key_store_buff</b> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2aa1b3f2f4664e64fd54a24c6d9fa643"></a><!-- doxytag: member="rampart_context::rampart_context_set_key_store_buff" ref="g2aa1b3f2f4664e64fd54a24c6d9fa643" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *key_store_buf, int length)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_set_key_store_buff</b> (rampart_context_t *rampart_context, const axutil_env_t *env, void *key_store_buf, int length)</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__context.html#g25c163c656fc043b0df4f98a84cfa112">rampart_context_set_store_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env, store_security_context_token_fn store_fn)</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__context.html#g5f80757bccb30190fd6b2d01bfcbad25">rampart_context_set_obtain_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env, obtain_security_context_token_fn get_fn)</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__context.html#gfd70fa485d34b88e2024284c34bc6581">rampart_context_set_delete_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env, delete_security_context_token_fn delete_fn)</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__context.html#g9903b0334a61c72fdb0dd0ba92f8c936">rampart_context_set_security_context_token_user_params</a> (rampart_context_t *rampart_context, const axutil_env_t *env, void *user_params)</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__context.html#gf258373407d07550be551ca0d67135d5">rampart_context_set_validate_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env, validate_security_context_token_fn validate_fn)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
store_security_context_token_fn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g3680f159ce16eb9afe7ed0eee5d29389">rampart_context_get_store_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
obtain_security_context_token_fn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g64a67f0aac70e7e657e77764c4b0fb2b">rampart_context_get_obtain_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
delete_security_context_token_fn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g5397fb81d2a3560681293461089a5423">rampart_context_get_delete_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g97bb6f15b955ad7fcabf57851ef1364f">rampart_context_get_security_context_token_user_params</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN <br>
validate_security_context_token_fn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#gf6b7774a479253c0e3690ff33c6387d7">rampart_context_get_validate_security_context_token_fn</a> (rampart_context_t *rampart_context, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__context.html#g4a4812b7a64d5445f58a9b8b968faf75">rampart_context_is_different_session_key_for_enc_and_sign</a> (const axutil_env_t *env, rampart_context_t *rampart_context)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga747dba40d8b544e060541892bd823a1"></a><!-- doxytag: member="rampart_context::rampart_context_set_receiver_certificate_file" ref="ga747dba40d8b544e060541892bd823a1" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *receiver_certificate_file)" -->
AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_context_set_receiver_certificate_file</b> (rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *receiver_certificate_file)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g1fe02c10a0473988ac106250e290ea9d"></a><!-- doxytag: member="rampart_context.h::rampart_context_add_key" ref="g1fe02c10a0473988ac106250e290ea9d" args="(rampart_context_t *rampart_context, const axutil_env_t *env, oxs_key_t *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_add_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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__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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc9214d53d4b4363a0a3f04a73d86f393"></a><!-- doxytag: member="rampart_context.h::rampart_context_add_saml_token" ref="gc9214d53d4b4363a0a3f04a73d86f393" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rampart_saml_token_t *token)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_add_saml_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rampart_saml_token_t *&nbsp;</td>
          <td class="paramname"> <em>token</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4b1c48ec20ae7f3c7396a62a40fd3440"></a><!-- doxytag: member="rampart_context.h::rampart_context_check_is_derived_keys" ref="g4b1c48ec20ae7f3c7396a62a40fd3440" args="(const axutil_env_t *env, rp_property_t *token)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_check_is_derived_keys           </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">rp_property_t *&nbsp;</td>
          <td class="paramname"> <em>token</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>
<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,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>whether derived key needed or not </dd></dl>

</div>
</div><p>
<a class="anchor" name="g78aa0a3b24db6fead60c8620bc335410"></a><!-- doxytag: member="rampart_context.h::rampart_context_check_whether_to_encrypt" ref="g78aa0a3b24db6fead60c8620bc335410" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_check_whether_to_encrypt           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gaa344087dcd4318944dd3b620c681ef5"></a><!-- doxytag: member="rampart_context.h::rampart_context_check_whether_to_sign" ref="gaa344087dcd4318944dd3b620c681ef5" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_check_whether_to_sign           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2462607446876c3721d774e10d63cdd2"></a><!-- doxytag: member="rampart_context.h::rampart_context_create" ref="g2462607446876c3721d774e10d63cdd2" args="(const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_context_t* rampart_context_create           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a rampart_context.rampart_context is the wrapper of secpolicy and the main configuration for rampart. <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,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>ramaprt_context_t* on successful creation.Else NULL; </dd></dl>

</div>
</div><p>
<a class="anchor" name="g75cf3dbf21a73de04fd31e0e349c446f"></a><!-- doxytag: member="rampart_context.h::rampart_context_free" ref="g75cf3dbf21a73de04fd31e0e349c446f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void rampart_context_free           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Frees a rampart_context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>the rampart_context  pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gbc7000662db444dcea3cbf562ce6b893"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_algorithmsuite" ref="gbc7000662db444dcea3cbf562ce6b893" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rp_algorithmsuite_t* rampart_context_get_algorithmsuite           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdb65ad5c687e0f1028afdcc2535c130d"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_asym_sig_algo" ref="gdb65ad5c687e0f1028afdcc2535c130d" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_asym_sig_algo           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1bb5844a42cc9a19097025e1462c18a1"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_auth_digest_function" ref="g1bb5844a42cc9a19097025e1462c18a1" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN auth_digest_func rampart_context_get_auth_digest_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g72f540c2c028f6d8e0fd20ccdaf019bb"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_auth_password_function" ref="g72f540c2c028f6d8e0fd20ccdaf019bb" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN auth_password_func rampart_context_get_auth_password_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password_callback_module</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g659900642345215ecfed3edcce352a37"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_authn_module_name" ref="g659900642345215ecfed3edcce352a37" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_authn_module_name           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6201b43033bc32d547a988ae91b3559a"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_authn_provider" ref="g6201b43033bc32d547a988ae91b3559a" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_authn_provider_t* rampart_context_get_authn_provider           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g7ef5791ed147cdb90dad6b2dcdc0b081"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_binding_type" ref="g7ef5791ed147cdb90dad6b2dcdc0b081" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rp_property_type_t rampart_context_get_binding_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g78ebf8eeb5c5f553b343602c217ba0d1"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_certificate" ref="g78ebf8eeb5c5f553b343602c217ba0d1" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_certificate           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g24060862593d4694467aa9f1ea567570"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_certificate_file" ref="g24060862593d4694467aa9f1ea567570" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_certificate_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g693f3282d4ecc836fc28b5a10d6a83be"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_certificate_type" ref="g693f3282d4ecc836fc28b5a10d6a83be" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_key_type_t rampart_context_get_certificate_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcaa4500344fa9c504ffb08b4b0c72d61"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_custom_tokens" ref="gcaa4500344fa9c504ffb08b4b0c72d61" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axutil_array_list_t* rampart_context_get_custom_tokens           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the node or the token list as an array. If the size is 0 that means there are no custom tokens specified by the client <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the custom tokens list </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5397fb81d2a3560681293461089a5423"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_delete_security_context_token_fn" ref="g5397fb81d2a3560681293461089a5423" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN delete_security_context_token_fn rampart_context_get_delete_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the function used to delete security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>funtion pointer used to delete stored sct </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd5768fe3cb1ec29cdf7ce02c4c53918c"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_derived_key_version" ref="gd5768fe3cb1ec29cdf7ce02c4c53918c" args="(const axutil_env_t *env, rp_property_t *token)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_derived_key_version           </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">rp_property_t *&nbsp;</td>
          <td class="paramname"> <em>token</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>
<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,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>derived key version. NULL on error. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1749e7381c65c75a0ab152bd8cdfe000"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_digest_mtd" ref="g1749e7381c65c75a0ab152bd8cdfe000" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_digest_mtd           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gca925f9ee6061525dd758c74dff9d2c4"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_elements_to_encrypt" ref="gca925f9ee6061525dd758c74dff9d2c4" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_encrypt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_get_elements_to_encrypt           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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_soap_envelope_t *&nbsp;</td>
          <td class="paramname"> <em>soap_envelope</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axutil_array_list_t *&nbsp;</td>
          <td class="paramname"> <em>nodes_to_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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>soap_envelope</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nodes_to_encrypt</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd4b09f3f19d5a5f7b4a70fab0b9b433d"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_elements_to_sign" ref="gd4b09f3f19d5a5f7b4a70fab0b9b433d" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_sign)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_get_elements_to_sign           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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_soap_envelope_t *&nbsp;</td>
          <td class="paramname"> <em>soap_envelope</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axutil_array_list_t *&nbsp;</td>
          <td class="paramname"> <em>nodes_to_sign</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>soap_envelope</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nodes_to_sign</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfb7cb83bf3bef3f5abae8126f9e15885"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_enc_asym_algo" ref="gfb7cb83bf3bef3f5abae8126f9e15885" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_enc_asym_algo           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga40441c047fb1dc1eada28943d958fa3"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_enc_sym_algo" ref="ga40441c047fb1dc1eada28943d958fa3" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_enc_sym_algo           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd58de26e195800a1c9de7ae4f5b38af6"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_encryption_derived_key_len" ref="gd58de26e195800a1c9de7ae4f5b38af6" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int rampart_context_get_encryption_derived_key_len           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g55407fbc12f7e6afa249997fc73ec395"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_encryption_session_key" ref="g55407fbc12f7e6afa249997fc73ec395" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a>* rampart_context_get_encryption_session_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcde31d533efe0acf5efa1f93b4d93115"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_encryption_token_id" ref="gcde31d533efe0acf5efa1f93b4d93115" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_encryption_token_id           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g78d932ef5875e5d467749db8b05dc81d"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_encryption_user" ref="g78d932ef5875e5d467749db8b05dc81d" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_encryption_user           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdfb786b1cb8e5e0c2c21ddbaf1640900"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_endorsing_token" ref="gdfb786b1cb8e5e0c2c21ddbaf1640900" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rp_property_t* rampart_context_get_endorsing_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1c33a4f6a80a6f433703db5b4a0f8a02"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_found_cert_in_shp" ref="g1c33a4f6a80a6f433703db5b4a0f8a02" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_get_found_cert_in_shp           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the found_cert_in_shp from rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>axis2_bool_t </dd></dl>

</div>
</div><p>
<a class="anchor" name="gead0aa28d52f9419dfa719c40e9779db"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_issued_token_aquire_function" ref="gead0aa28d52f9419dfa719c40e9779db" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN issued_token_callback_func rampart_context_get_issued_token_aquire_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2e8f11c5eafde1ef4632fc09cfcbd1ff"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_key" ref="g2e8f11c5eafde1ef4632fc09cfcbd1ff" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *key_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a>* rampart_context_get_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>key_id</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key_id</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb95e9973d6f1717c0eaef46bedc906a2"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_key_identifier" ref="gb95e9973d6f1717c0eaef46bedc906a2" args="(rampart_context_t *rampart_context, rp_property_t *token, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_key_identifier           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rp_property_t *&nbsp;</td>
          <td class="paramname"> <em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3ebd8f6a77871017bf98a3be9a6348ac"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_key_mgr" ref="g3ebd8f6a77871017bf98a3be9a6348ac" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN oxs_key_mgr_t* rampart_context_get_key_mgr           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the key manager from rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Pointer</em>&nbsp;</td><td>to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer Key manager struct </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcac8e530dddc369bc3b5d0fab54bfee4"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_key_using_hash" ref="gcac8e530dddc369bc3b5d0fab54bfee4" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *hash)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a>* rampart_context_get_key_using_hash           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>hash</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hash</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc07dbb839a25553fb2d659aadc748d32"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_keys" ref="gc07dbb839a25553fb2d659aadc748d32" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axutil_array_list_t* rampart_context_get_keys           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gecc698dc8759d5792120eaaa6302c6b0"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_layout" ref="gecc698dc8759d5792120eaaa6302c6b0" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_layout           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g561f8808151ce597b93457c19b4c7277"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_nodes_to_encrypt" ref="g561f8808151ce597b93457c19b4c7277" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_encrypt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_get_nodes_to_encrypt           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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_soap_envelope_t *&nbsp;</td>
          <td class="paramname"> <em>soap_envelope</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axutil_array_list_t *&nbsp;</td>
          <td class="paramname"> <em>nodes_to_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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>soap_envelope</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nodes_to_encrypt</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2aa01e522b18ece05d396b0bf2af3fb8"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_nodes_to_sign" ref="g2aa01e522b18ece05d396b0bf2af3fb8" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axiom_soap_envelope_t *soap_envelope, axutil_array_list_t *nodes_to_sign)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_get_nodes_to_sign           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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_soap_envelope_t *&nbsp;</td>
          <td class="paramname"> <em>soap_envelope</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axutil_array_list_t *&nbsp;</td>
          <td class="paramname"> <em>nodes_to_sign</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>soap_envelope</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nodes_to_sign</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g64a67f0aac70e7e657e77764c4b0fb2b"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_obtain_security_context_token_fn" ref="g64a67f0aac70e7e657e77764c4b0fb2b" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN obtain_security_context_token_fn rampart_context_get_obtain_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the function used to get security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>funtion pointer used to get stored sct </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1b7d7787bcee51cb426bdf54852f948f"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_password" ref="g1b7d7787bcee51cb426bdf54852f948f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_password           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g03dc7086fafd7e90e95467526673adb9"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_password_callback" ref="g03dc7086fafd7e90e95467526673adb9" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_callback_t* rampart_context_get_password_callback           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5c5f221347bceffd361612a48c13f86f"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_password_callback_class" ref="g5c5f221347bceffd361612a48c13f86f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_password_callback_class           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8a4460700ff623f73fa2a02afb8e8724"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_password_type" ref="g8a4460700ff623f73fa2a02afb8e8724" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_password_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga12ed3148b79cb69879da1aac7c4d174"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_pkcs12_file_name" ref="ga12ed3148b79cb69879da1aac7c4d174" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_pkcs12_file_name           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the pkcs12 file name from rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Pointer</em>&nbsp;</td><td>to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>PKCS12 file name </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd16e54466db4a6746e5006d69aef4313"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_policy_node" ref="gd16e54466db4a6746e5006d69aef4313" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* rampart_context_get_policy_node           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6a71077da3dfb24c8baabd8d1b3ead67"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_private_key_file" ref="g6a71077da3dfb24c8baabd8d1b3ead67" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_private_key_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3caa32c34c336f4abf246a39183fa01f"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_prv_key" ref="g3caa32c34c336f4abf246a39183fa01f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_prv_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1d659bc83bb61eebcd0363b0ed28e6ac"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_prv_key_password" ref="g1d659bc83bb61eebcd0363b0ed28e6ac" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_prv_key_password           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g280546ed47763021fad38259d9b93e51"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_prv_key_type" ref="g280546ed47763021fad38259d9b93e51" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_key_type_t rampart_context_get_prv_key_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd97b7f3803f5211251e4e776db8779ea"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_pwcb_function" ref="gd97b7f3803f5211251e4e776db8779ea" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN password_callback_fn rampart_context_get_pwcb_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g733be014863423e55f936aea665328c0"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_pwcb_user_params" ref="g733be014863423e55f936aea665328c0" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_pwcb_user_params           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfbf34c289a5fb5470e2407ab7b6553c4"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_rd_user_params" ref="gfbf34c289a5fb5470e2407ab7b6553c4" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_rd_user_params           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>user parameters for replay detector function or NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4192142d0ccc6bfdead086c87fb2a108"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_rd_val" ref="g4192142d0ccc6bfdead086c87fb2a108" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_rd_val           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga56fe7d32ffc3beec3e3c6c693dec082"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_receiver_cert_found_in_shp" ref="ga56fe7d32ffc3beec3e3c6c693dec082" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN oxs_x509_cert_t* rampart_context_get_receiver_cert_found_in_shp           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the certificate found in shp from rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>oxs_x509_cert_t Client certificate found when processing sec header, otherwise NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5c1b82ea435cf6286a8cfd471ba32a21"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_receiver_certificate" ref="g5c1b82ea435cf6286a8cfd471ba32a21" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_receiver_certificate           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1a308f14add52e5204087a06bf36bf1e"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_receiver_certificate_file" ref="g1a308f14add52e5204087a06bf36bf1e" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t * rampart_context_get_receiver_certificate_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error</dd></dl>
Get the receiver certificate file name from rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Receiver certificate file name </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc24f17b6be9deeee0cd1c119c4094dc9"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_receiver_certificate_type" ref="gc24f17b6be9deeee0cd1c119c4094dc9" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_key_type_t rampart_context_get_receiver_certificate_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdbc99377cf694ce9fb4cda737e1509ff"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_replay_detect_function" ref="gdbc99377cf694ce9fb4cda737e1509ff" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_is_replayed_fn rampart_context_get_replay_detect_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g13876d0b493c8aa80ae196e8f500808f"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_replay_detector" ref="g13876d0b493c8aa80ae196e8f500808f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_replay_detector           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<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,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5439a9422201f6ce325a7c61ce0941f8"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_replay_detector_name" ref="g5439a9422201f6ce325a7c61ce0941f8" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_replay_detector_name           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb38c815dd4041552152e98ec1c7922b0"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_require_timestamp" ref="gb38c815dd4041552152e98ec1c7922b0" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_get_require_timestamp           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb11f08e5b801fef4d47e6f63849a7e77"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_require_ut" ref="gb11f08e5b801fef4d47e6f63849a7e77" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_get_require_ut           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf766184357cc4fc8c9b507d6083c03be"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_saml_token" ref="gf766184357cc4fc8c9b507d6083c03be" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rampart_st_type_t token_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rampart_saml_token_t* rampart_context_get_saml_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rampart_st_type_t&nbsp;</td>
          <td class="paramname"> <em>token_type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token_type</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gbd7d0a25b7c482c4ed0179faf6561d5c"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_sct_provider" ref="gbd7d0a25b7c482c4ed0179faf6561d5c" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_sct_provider           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gde71b27f4fd4a6733962fd9d3b5ac65b"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_sct_provider_name" ref="gde71b27f4fd4a6733962fd9d3b5ac65b" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_sct_provider_name           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g71cfb5040525987a25142ab02ea2e745"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_secpolicy" ref="g71cfb5040525987a25142ab02ea2e745" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rp_secpolicy_t* rampart_context_get_secpolicy           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g97bb6f15b955ad7fcabf57851ef1364f"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_security_context_token_user_params" ref="g97bb6f15b955ad7fcabf57851ef1364f" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN void* rampart_context_get_security_context_token_user_params           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the user parameters used to invoke security context token related funtions <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>user_params</em>&nbsp;</td><td>pointer to user params </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to user parameter. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g86e74fd0e3bf6131645b281a978c1958"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_signature_derived_key_len" ref="g86e74fd0e3bf6131645b281a978c1958" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int rampart_context_get_signature_derived_key_len           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gaa1fc4d9d4a6a5bd68e318b8016630ce"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_signature_session_key" ref="gaa1fc4d9d4a6a5bd68e318b8016630ce" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN <a class="el" href="group__oxs__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a>* rampart_context_get_signature_session_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g51950fdbe7c50528d830f632ce0b9876"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_signature_token_id" ref="g51950fdbe7c50528d830f632ce0b9876" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_signature_token_id           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3680f159ce16eb9afe7ed0eee5d29389"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_store_security_context_token_fn" ref="g3680f159ce16eb9afe7ed0eee5d29389" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN store_security_context_token_fn rampart_context_get_store_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the function used to store security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>untion pointer used to store sct </dd></dl>

</div>
</div><p>
<a class="anchor" name="g602193f93d169ee7e76a0336ce796488"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_supporting_token" ref="g602193f93d169ee7e76a0336ce796488" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rp_property_type_t token_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rp_property_t* rampart_context_get_supporting_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rp_property_type_t&nbsp;</td>
          <td class="paramname"> <em>token_type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token_type</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1ee45a2fc97e83f1480646953231ce14"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_token" ref="g1ee45a2fc97e83f1480646953231ce14" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t for_encryption, axis2_bool_t server_side, axis2_bool_t is_inpath)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN rp_property_t* rampart_context_get_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>for_encryption</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>server_side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>is_inpath</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>for_encryption</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sever_side</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>is_inpath</em>&nbsp;</td><td>AXIS2_SUCCESS on success and AXIS2_FAILURE on error </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g1abbd430e43fd08090bdcbafea671d58"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_ttl" ref="g1abbd430e43fd08090bdcbafea671d58" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int rampart_context_get_ttl           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga1f7c9ee4aad80c6d2c45ac7615e6f43"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_user" ref="ga1f7c9ee4aad80c6d2c45ac7615e6f43" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* rampart_context_get_user           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf6b7774a479253c0e3690ff33c6387d7"></a><!-- doxytag: member="rampart_context.h::rampart_context_get_validate_security_context_token_fn" ref="gf6b7774a479253c0e3690ff33c6387d7" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN validate_security_context_token_fn rampart_context_get_validate_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
Get the function used to validate security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>funtion pointer used to validate sct </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5269fb1da7fb82bb61209010deb2e5b7"></a><!-- doxytag: member="rampart_context.h::rampart_context_increment_ref" ref="g5269fb1da7fb82bb61209010deb2e5b7" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_increment_ref           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4a4812b7a64d5445f58a9b8b968faf75"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_different_session_key_for_enc_and_sign" ref="g4a4812b7a64d5445f58a9b8b968faf75" args="(const axutil_env_t *env, rampart_context_t *rampart_context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_different_session_key_for_enc_and_sign           </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">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</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>
check whether different keys are needed for encryption and signature <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>rampart_context</em>&nbsp;</td><td>rampart context </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_TRUE if different keys are needed. AXIS2_FALSE otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5d80c077e9fd90b0edb10d6bab16f222"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_encrypt_before_sign" ref="g5d80c077e9fd90b0edb10d6bab16f222" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_encrypt_before_sign           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g623448683daa9eb08823f3c8331a92eb"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_encrypt_signature" ref="g623448683daa9eb08823f3c8331a92eb" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_encrypt_signature           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g47cc34f0c08bf363e65a1099302db4ea"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_include_protection_saml_token" ref="g47cc34f0c08bf363e65a1099302db4ea" args="(rampart_context_t *rampart_context, axis2_bool_t server_side, axis2_bool_t is_inpath, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_include_protection_saml_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>server_side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>is_inpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>server_side</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>is_inpath</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf15b1944b02d4e9c3a19a6ef312604fd"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_include_supporting_token" ref="gf15b1944b02d4e9c3a19a6ef312604fd" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t server_side, axis2_bool_t is_inpath, rp_property_type_t token_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_include_supporting_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>server_side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>is_inpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rp_property_type_t&nbsp;</td>
          <td class="paramname"> <em>token_type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>server_side</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>is_inpath</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token_type</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g575fc227d6bf5ab6d6aad9c169af4b0a"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_include_timestamp" ref="g575fc227d6bf5ab6d6aad9c169af4b0a" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_include_timestamp           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf79bce28e1ba0404b4b2f61189b885e6"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_include_username_token" ref="gf79bce28e1ba0404b4b2f61189b885e6" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_include_username_token           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8c675afa73d408008f0d4a1d5dfb4e72"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_key_identifier_type_supported" ref="g8c675afa73d408008f0d4a1d5dfb4e72" args="(rampart_context_t *rampart_context, rp_property_t *token, axis2_char_t *identifier, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_key_identifier_type_supported           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rp_property_t *&nbsp;</td>
          <td class="paramname"> <em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>identifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>identifier</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g48f61554c4c2feb080adce64b2442f01"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_sig_confirmation_reqd" ref="g48f61554c4c2feb080adce64b2442f01" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_sig_confirmation_reqd           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdafe1738b31fda65730d97601a9fb4bb"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_token_include" ref="gdafe1738b31fda65730d97601a9fb4bb" args="(rampart_context_t *rampart_context, rp_property_t *token, rp_property_type_t token_type, axis2_bool_t server_side, axis2_bool_t is_inpath, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_token_include           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rp_property_t *&nbsp;</td>
          <td class="paramname"> <em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rp_property_type_t&nbsp;</td>
          <td class="paramname"> <em>token_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>server_side</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>is_inpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>token_type</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>server_side</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>is_inpath</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g62c5a860cfdb0fdbfeabd612fead07f6"></a><!-- doxytag: member="rampart_context.h::rampart_context_is_token_type_supported" ref="g62c5a860cfdb0fdbfeabd612fead07f6" args="(rp_property_type_t token_type, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t rampart_context_is_token_type_supported           </td>
          <td>(</td>
          <td class="paramtype">rp_property_type_t&nbsp;</td>
          <td class="paramname"> <em>token_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>token_type</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3b5cf72d4e8fc73f36bcec8a27d0038e"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_auth_digest_function" ref="g3b5cf72d4e8fc73f36bcec8a27d0038e" args="(rampart_context_t *rampart_context, const axutil_env_t *env, auth_digest_func authenticate_with_digest)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_auth_digest_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">auth_digest_func&nbsp;</td>
          <td class="paramname"> <em>authenticate_with_digest</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>authentication_with_digest</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8021b29fed3a4c325fee6767bfeea4da"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_auth_password_function" ref="g8021b29fed3a4c325fee6767bfeea4da" args="(rampart_context_t *rampart_context, const axutil_env_t *env, auth_password_func authenticate_with_password)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_auth_password_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">auth_password_func&nbsp;</td>
          <td class="paramname"> <em>authenticate_with_password</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>authentication_with_password</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g443c87882615b460884a92690911c338"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_authn_provider" ref="g443c87882615b460884a92690911c338" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rampart_authn_provider_t *authn_provider)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_authn_provider           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rampart_authn_provider_t *&nbsp;</td>
          <td class="paramname"> <em>authn_provider</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>authn_provider</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf6cf50519fffb322040291da446f2dd8"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_certificate" ref="gf6cf50519fffb322040291da446f2dd8" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *certificate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_certificate           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">void *&nbsp;</td>
          <td class="paramname"> <em>certificate</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>certificate</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfcc07622e1000d8d1b9fac3740a8da29"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_certificate_file" ref="gfcc07622e1000d8d1b9fac3740a8da29" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *certificate_file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_certificate_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>certificate_file</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cerficate_file</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2ba79b25add5c0a6bb7ee6119e5646d1"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_certificate_type" ref="g2ba79b25add5c0a6bb7ee6119e5646d1" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_key_type_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_certificate_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_key_type_t&nbsp;</td>
          <td class="paramname"> <em>type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g355f12f46d7d210f3b0cc5853fa645ac"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_custom_tokens" ref="g355f12f46d7d210f3b0cc5853fa645ac" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axutil_array_list_t *tokens)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_custom_tokens           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axutil_array_list_t *&nbsp;</td>
          <td class="paramname"> <em>tokens</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>
Set the a node list to the context. These nodes will be append to the Security header <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tokens</em>&nbsp;</td><td>the token list as an array </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfd70fa485d34b88e2024284c34bc6581"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_delete_security_context_token_fn" ref="gfd70fa485d34b88e2024284c34bc6581" args="(rampart_context_t *rampart_context, const axutil_env_t *env, delete_security_context_token_fn delete_fn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_delete_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">delete_security_context_token_fn&nbsp;</td>
          <td class="paramname"> <em>delete_fn</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>
Set the function used to delete security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>delete_fn</em>&nbsp;</td><td>funtion pointer used to delete stored sct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g69755c8df772a133e2565f57e2e61892"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_encryption_session_key" ref="g69755c8df772a133e2565f57e2e61892" args="(rampart_context_t *rampart_context, const axutil_env_t *env, oxs_key_t *session_key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_encryption_session_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>session_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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>session_key</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf4527a42e8061105e87f8323ce2e00d1"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_encryption_token_id" ref="gf4527a42e8061105e87f8323ce2e00d1" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *sct_id, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_encryption_token_id           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>sct_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sct_id</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge88c3f05b542d5a6d8a99ff5e9410f23"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_found_cert_in_shp" ref="ge88c3f05b542d5a6d8a99ff5e9410f23" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_bool_t found_cert_in_shp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_found_cert_in_shp           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_bool_t&nbsp;</td>
          <td class="paramname"> <em>found_cert_in_shp</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>
Set the certificate found status to rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>found_cert_in_shp</em>&nbsp;</td><td>boolean value which specify the certificate found status </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf400d0d813fddab1af88e5ed4b677ff3"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_issued_token_aquire_function" ref="gf400d0d813fddab1af88e5ed4b677ff3" args="(rampart_context_t *rampart_context, const axutil_env_t *env, issued_token_callback_func issued_token_aquire)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_issued_token_aquire_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">issued_token_callback_func&nbsp;</td>
          <td class="paramname"> <em>issued_token_aquire</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>issued_token_aquire</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd8d5c42eae1cc33b8037d05f633683b9"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_key_mgr" ref="gd8d5c42eae1cc33b8037d05f633683b9" args="(rampart_context_t *rampart_context, const axutil_env_t *env, oxs_key_mgr_t *key_mgr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_key_mgr           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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_key_mgr_t *&nbsp;</td>
          <td class="paramname"> <em>key_mgr</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>
Set the key manager to rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Pointer</em>&nbsp;</td><td>to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key_mgr</em>&nbsp;</td><td>Pointer to key manager struct. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation. AXIS2_SUCCESS on success AXIS2_FAILURE otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5f80757bccb30190fd6b2d01bfcbad25"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_obtain_security_context_token_fn" ref="g5f80757bccb30190fd6b2d01bfcbad25" args="(rampart_context_t *rampart_context, const axutil_env_t *env, obtain_security_context_token_fn get_fn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_obtain_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">obtain_security_context_token_fn&nbsp;</td>
          <td class="paramname"> <em>get_fn</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>
Set the function used to get security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>get_fn</em>&nbsp;</td><td>funtion pointer used to get stored sct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g462e3b11fcc0b5de0ab6dacf6b81db4c"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_password" ref="g462e3b11fcc0b5de0ab6dacf6b81db4c" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *password)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_password           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>password</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g027572e3ba116b8789f083a016656d6c"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_password_callback" ref="g027572e3ba116b8789f083a016656d6c" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rampart_callback_t *password_callback_module)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_password_callback           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rampart_callback_t *&nbsp;</td>
          <td class="paramname"> <em>password_callback_module</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g757b214da227a232b7dee66f1a0e526f"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_password_type" ref="g757b214da227a232b7dee66f1a0e526f" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *password_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_password_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>password_type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>password_type</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf8e41b75f954773fe17895577b50bd48"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_password_type_from_file" ref="gf8e41b75f954773fe17895577b50bd48" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_password_type_from_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2057cd69b77b3ac388a4985facfb21d5"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_policy_node" ref="g2057cd69b77b3ac388a4985facfb21d5" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axiom_node_t *policy_node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_policy_node           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>policy_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>
Sets the policy node which is an om_node containing policy.This om_node can be build outside rampart. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>the rampart_context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>policy_node</em>&nbsp;</td><td>is an axiom_node. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g243a436740b7dc5464d97e450744d8db"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_private_key_file" ref="g243a436740b7dc5464d97e450744d8db" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *private_key_file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_private_key_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>private_key_file</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>private_key_file</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g10029bb021215eec3d67a032df1b4c54"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_prv_key" ref="g10029bb021215eec3d67a032df1b4c54" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *prv_key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_prv_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">void *&nbsp;</td>
          <td class="paramname"> <em>prv_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>
Sets private key of sender as a buffer.This can be set from outside rampart. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>the rampart_context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prv_key</em>&nbsp;</td><td>is a void buffer. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g21da60827f3a50cb5d5a1134e25ebb84"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_prv_key_password" ref="g21da60827f3a50cb5d5a1134e25ebb84" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *prv_key_password)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_prv_key_password           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>prv_key_password</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prv_key_password</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g817545570f5dd6b57d5e7f91943f1d62"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_prv_key_type" ref="g817545570f5dd6b57d5e7f91943f1d62" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_key_type_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_prv_key_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_key_type_t&nbsp;</td>
          <td class="paramname"> <em>type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL.  </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5574d429808b3360b665a7e0e3e61a7f"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_pwcb_function" ref="g5574d429808b3360b665a7e0e3e61a7f" args="(rampart_context_t *rampart_context, const axutil_env_t *env, password_callback_fn pwcb_function, void *user_params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_pwcb_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">password_callback_fn&nbsp;</td>
          <td class="paramname"> <em>pwcb_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>user_params</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pwcb_function</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g75b8d72e9a09fd4c0738d4a73e039c5e"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_rd_val" ref="g75b8d72e9a09fd4c0738d4a73e039c5e" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *rd_val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_rd_val           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>rd_val</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rd_val</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga57ebcc4a8c2e4867cf7d51f31813f94"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_rd_val_from_file" ref="ga57ebcc4a8c2e4867cf7d51f31813f94" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_rd_val_from_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf30e4600a7c678abd2e6bdd397e8afba"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_receiver_cert_found_in_shp" ref="gf30e4600a7c678abd2e6bdd397e8afba" args="(rampart_context_t *rampart_context, const axutil_env_t *env, oxs_x509_cert_t *cert)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_receiver_cert_found_in_shp           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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_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>
Set the found_cert_in_shp to rampart context. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>cert</em>&nbsp;</td><td>pointer to the certficate </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0116b81f9b22e7f3a2e48491365f1eac"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_receiver_certificate" ref="g0116b81f9b22e7f3a2e48491365f1eac" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *receiver_certificate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_receiver_certificate           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">void *&nbsp;</td>
          <td class="paramname"> <em>receiver_certificate</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>receiver_certificate</em>&nbsp;</td><td>returns status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g15f9f7b09ea72a9ade7fe4513e89be89"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_receiver_certificate_type" ref="g15f9f7b09ea72a9ade7fe4513e89be89" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_key_type_t type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_receiver_certificate_type           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_key_type_t&nbsp;</td>
          <td class="paramname"> <em>type</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g070ab37a6f95b25a3930b973485e5386"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_replay_detect_function" ref="g070ab37a6f95b25a3930b973485e5386" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rampart_is_replayed_fn is_replayed_function, void *user_params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_replay_detect_function           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rampart_is_replayed_fn&nbsp;</td>
          <td class="paramname"> <em>is_replayed_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>user_params</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>is_replayed_function</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gce67d160beeb46b7f7fa11ef139cf50d"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_replay_detector" ref="gce67d160beeb46b7f7fa11ef139cf50d" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *replay_detector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_replay_detector           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">void *&nbsp;</td>
          <td class="paramname"> <em>replay_detector</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>replay_detector</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf40547dbf48b1c1d5e6d508562f18513"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_saml_tokens" ref="gf40547dbf48b1c1d5e6d508562f18513" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axutil_array_list_t *tokens)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_saml_tokens           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axutil_array_list_t *&nbsp;</td>
          <td class="paramname"> <em>tokens</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tokens</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf159232aa507644a2c4ce728134bdb00"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_sct_provider" ref="gf159232aa507644a2c4ce728134bdb00" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *sct_module)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_sct_provider           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">void *&nbsp;</td>
          <td class="paramname"> <em>sct_module</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sct_module</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge6e19b60729e0a16d56ca8b1765710ae"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_secpolicy" ref="ge6e19b60729e0a16d56ca8b1765710ae" args="(rampart_context_t *rampart_context, const axutil_env_t *env, rp_secpolicy_t *secpolicy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_secpolicy           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">rp_secpolicy_t *&nbsp;</td>
          <td class="paramname"> <em>secpolicy</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>secpolicy</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g9903b0334a61c72fdb0dd0ba92f8c936"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_security_context_token_user_params" ref="g9903b0334a61c72fdb0dd0ba92f8c936" args="(rampart_context_t *rampart_context, const axutil_env_t *env, void *user_params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_security_context_token_user_params           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">void *&nbsp;</td>
          <td class="paramname"> <em>user_params</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>
Set the user parameters used to invoke security context token related funtions <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>user_params</em>&nbsp;</td><td>pointer to user params </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6aeaebfd30a81a16c959acc1959e2054"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_signature_session_key" ref="g6aeaebfd30a81a16c959acc1959e2054" args="(rampart_context_t *rampart_context, const axutil_env_t *env, oxs_key_t *session_key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_signature_session_key           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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__key.html#g6336c79b9592fb630903079b14a99206">oxs_key_t</a> *&nbsp;</td>
          <td class="paramname"> <em>session_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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>session_key</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="ge4166596614087e21aeefd16325ba65e"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_signature_token_id" ref="ge4166596614087e21aeefd16325ba65e" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *sct_id, axis2_msg_ctx_t *msg_ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_signature_token_id           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>sct_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_msg_ctx_t *&nbsp;</td>
          <td class="paramname"> <em>msg_ctx</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sct_id</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g25c163c656fc043b0df4f98a84cfa112"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_store_security_context_token_fn" ref="g25c163c656fc043b0df4f98a84cfa112" args="(rampart_context_t *rampart_context, const axutil_env_t *env, store_security_context_token_fn store_fn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_store_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">store_security_context_token_fn&nbsp;</td>
          <td class="paramname"> <em>store_fn</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>
Set the function used to store security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>store_fn</em>&nbsp;</td><td>funtion pointer used to store sct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf5580e1e77f655e1a4c459c4253e9189"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_ttl" ref="gf5580e1e77f655e1a4c459c4253e9189" args="(rampart_context_t *rampart_context, const axutil_env_t *env, int ttl)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_ttl           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">int&nbsp;</td>
          <td class="paramname"> <em>ttl</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ttl</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="g90a45840e90c6addd9f8ff13785e8251"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_ttl_from_file" ref="g90a45840e90c6addd9f8ff13785e8251" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_ttl_from_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc9444f392179d71d573442da4ea1cbd4"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_user" ref="gc9444f392179d71d573442da4ea1cbd4" args="(rampart_context_t *rampart_context, const axutil_env_t *env, axis2_char_t *user)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_user           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>user</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd86fa93cb62d3237d0d0ac999436e891"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_user_from_file" ref="gd86fa93cb62d3237d0d0ac999436e891" args="(rampart_context_t *rampart_context, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_user_from_file           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct,Must not be NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf258373407d07550be551ca0d67135d5"></a><!-- doxytag: member="rampart_context.h::rampart_context_set_validate_security_context_token_fn" ref="gf258373407d07550be551ca0d67135d5" args="(rampart_context_t *rampart_context, const axutil_env_t *env, validate_security_context_token_fn validate_fn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t rampart_context_set_validate_security_context_token_fn           </td>
          <td>(</td>
          <td class="paramtype">rampart_context_t *&nbsp;</td>
          <td class="paramname"> <em>rampart_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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">validate_security_context_token_fn&nbsp;</td>
          <td class="paramname"> <em>validate_fn</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>
Set the function used to validate security context token <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rampart_context</em>&nbsp;</td><td>Pointer to rampart context struct. </td></tr>
    <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>validate_fn</em>&nbsp;</td><td>funtion pointer used to validate sct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </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>
