# oxs_xml_signature.h

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 #ifndef OXS_XML_SIGNATURE_H
    00019 #define OXS_XML_SIGNATURE_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 #include <oxs_sign_ctx.h>
    00038 #include <oxs_sign_part.h>
    00039
    00040 #ifdef __cplusplus
    00041 extern "C"
    00042 {
    00043 #endif
    00044
    00052     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00053     oxs_xml_sig_sign(const axutil_env_t *env,
    00054                      oxs_sign_ctx_t *sign_ctx,
    00055                      axiom_node_t *parent,
    00056                      axiom_node_t **sig_node);
    00057
    00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00067     oxs_xml_sig_verify(const axutil_env_t *env,
    00068                        oxs_sign_ctx_t *sign_ctx,
    00069                        axiom_node_t *signature_node,
    00070                        axiom_node_t *scope_node);
    00071
    00079     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00080     oxs_xml_sig_verify_sign_part(const axutil_env_t *env,
    00081                                  oxs_sign_part_t *sign_part);
    00082
    00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00090     oxs_xml_sig_verify_digests(const axutil_env_t *env,
    00091                                oxs_sign_ctx_t *sign_ctx);
    00092
    00093
    00102     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00103     oxs_xml_sig_process_ref_node(const axutil_env_t *env,
    00104                                  oxs_sign_part_t *sign_part,
    00105                                  axiom_node_t *ref_node,
    00106                                  axiom_node_t *scope_node);
    00107
    00116     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00117     oxs_xml_sig_process_signature_node(const axutil_env_t *env,
    00118                                        oxs_sign_ctx_t *sign_ctx,
    00119                                        axiom_node_t *signature_node,
    00120                                        axiom_node_t *scope_node);
    00122 #ifdef __cplusplus
    00123 }
    00124 #endif
    00125
    00126 #endif                          /* OXS_XML_SIGNATURE_H */