00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef OXS_XML_KEY_INFO_BUILDER_H
00019 #define OXS_XML_KEY_INFO_BUILDER_H
00020 
00021 
00031 #include <axis2_defines.h>
00032 #include <oxs_ctx.h>
00033 #include <axutil_env.h>
00034 #include <axiom_node.h>
00035 #include <axiom_element.h>
00036 #include <axutil_qname.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00043     typedef enum{
00044         OXS_KIBP_UNKNOWN = 0,
00045         OXS_KIBP_X509DATA_X509CERTIFICATE,
00046         OXS_KIBP_X509DATA_ISSUER_SERIAL,
00047     }oxs_key_info_build_pattern_t;
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     oxs_xml_key_info_build(const axutil_env_t *env,
00051                            axiom_node_t *parent,
00052                            oxs_x509_cert_t *cert,
00053                            oxs_key_info_build_pattern_t pattern);
00054 
00055     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00056     oxs_xml_key_info_build_x509_data_x509_certificate(const axutil_env_t *env,
00057             axiom_node_t *parent,
00058             oxs_x509_cert_t *cert);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     oxs_xml_key_info_build_x509_data_issuer_serial(const axutil_env_t *env,
00062             axiom_node_t *parent,
00063             oxs_x509_cert_t *cert);
00064 
00066 #ifdef __cplusplus
00067 }
00068 #endif
00069 
00070 #endif