<!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: oxs_xml_key_processor.h Source File</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 class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_2ab6243317ac98a7842daf660931c511.html">include</a>
  </div>
</div>
</div>
<h1>oxs_xml_key_processor.h</h1><a href="oxs__xml__key__processor_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span>
<a name="l00003"></a>00003 <span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span>
<a name="l00004"></a>00004 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
<a name="l00005"></a>00005 <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span>
<a name="l00006"></a>00006 <span class="comment"> * (the "License"); you may not use this file except in compliance with</span>
<a name="l00007"></a>00007 <span class="comment"> * the License.  You may obtain a copy of the License at</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00012"></a>00012 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00013"></a>00013 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00014"></a>00014 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00015"></a>00015 <span class="comment"> * limitations under the License.</span>
<a name="l00016"></a>00016 <span class="comment"> */</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef OXS_XML_KEY_PROCESSOR_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define OXS_XML_KEY_PROCESSOR_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;axis2_defines.h&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="oxs__ctx_8h.html" title="Keeps configurations for the OMXMLSecurity.">oxs_ctx.h</a>&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;axutil_env.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;axiom_node.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;axiom_element.h&gt;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;axutil_qname.h&gt;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="oxs__x509__cert_8h.html" title="the OMXMLSecurity representation of an X509 certificate">oxs_x509_cert.h</a>&gt;</span>
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span>
<a name="l00043"></a>00043 {
<a name="l00044"></a>00044 <span class="preprocessor">#endif</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>    <span class="comment">/*Process a ds:X509SKI element and populate a certificate */</span>
<a name="l00046"></a>00046     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00047"></a>00047     oxs_xml_key_process_X509SKI(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00048"></a>00048                                 axiom_node_t *X509SKI_node,
<a name="l00049"></a>00049                                 oxs_x509_cert_t *cert);
<a name="l00050"></a>00050 
<a name="l00051"></a>00051     <span class="comment">/*Process a ds:X509SubjectName element and populate a  certificate*/</span>
<a name="l00052"></a>00052     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00053"></a>00053     oxs_xml_key_process_X509SubjectName(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00054"></a>00054                                         axiom_node_t *X509_subj_name_node,
<a name="l00055"></a>00055                                         oxs_x509_cert_t *cert);
<a name="l00056"></a>00056 
<a name="l00057"></a>00057     <span class="comment">/*Process a ds:X509IssuerSerial element and populate a certificate*/</span>
<a name="l00058"></a>00058     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00059"></a>00059     oxs_xml_key_process_X509IssuerSerial(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00060"></a>00060                                          axiom_node_t *X509_issuer_serial_node,
<a name="l00061"></a>00061                                          oxs_x509_cert_t *cert);
<a name="l00062"></a>00062 
<a name="l00063"></a>00063     <span class="comment">/*Process data in a ds:X509Certificate and returns a certificate*/</span>
<a name="l00064"></a>00064     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00065"></a>00065     oxs_xml_key_process_X509Certificate(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00066"></a>00066                                         axiom_node_t *X509_cert_node,
<a name="l00067"></a>00067                                         oxs_x509_cert_t *cert);
<a name="l00068"></a>00068 
<a name="l00069"></a>00069     <span class="comment">/*Higher level function ot process an ds:X509Data element*/</span>
<a name="l00070"></a>00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00071"></a>00071     oxs_xml_key_process_X509Data(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00072"></a>00072                                  axiom_node_t *X509_data_node,
<a name="l00073"></a>00073                                  oxs_x509_cert_t *cert);
<a name="l00074"></a>00074 
<a name="l00075"></a>00075 
<a name="l00077"></a>00077 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>}
<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span>
<a name="l00081"></a>00081 <span class="preprocessor">#endif                          </span><span class="comment">/* OXS_XML_KEY_PROCESSOR_H */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:53 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>
