# oxs_derivation.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_DERIVATION_H
    00019 #define OXS_DERIVATION_H
    00020
    00021
    00032 #include <axis2_defines.h>
    00033 #include <axutil_env.h>
    00034 #include <oxs_key.h>
    00035 #include <oxs_buffer.h>
    00036
    00037 #ifdef __cplusplus
    00038 extern "C"
    00039 {
    00040 #endif
    00041
    00042
    00056     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00057     oxs_derivation_derive_key(
    00058         const axutil_env_t *env,
    00059         oxs_key_t *secret,
    00060         oxs_key_t *derived_key,
    00061         axis2_bool_t build_fresh);
    00062
    00074     AXIS2_EXTERN axiom_node_t * AXIS2_CALL
    00075     oxs_derivation_build_derived_key_token(
    00076         const axutil_env_t *env,
    00077         oxs_key_t *derived_key,
    00078         axiom_node_t *parent,
    00079         axis2_char_t *stref_uri,
    00080         axis2_char_t *stref_val_type,
    00081         axis2_char_t *wsc_ns_uri);
    00082
    00093     AXIS2_EXTERN axiom_node_t * AXIS2_CALL
    00094     oxs_derivation_build_derived_key_token_with_stre(
    00095         const axutil_env_t *env,
    00096         oxs_key_t *derived_key,
    00097         axiom_node_t *parent,
    00098         axiom_node_t *stre,
    00099         axis2_char_t *wsc_ns_uri);
    00100
    00111     AXIS2_EXTERN oxs_key_t * AXIS2_CALL
    00112     oxs_derivation_extract_derived_key_from_token(
    00113         const axutil_env_t *env,
    00114         axiom_node_t *dk_token,
    00115         axiom_node_t *root_node,
    00116         oxs_key_t *session_key);
    00117
    00119 #ifdef __cplusplus
    00120 }
    00121 #endif
    00122
    00123 #endif                          /* OXS_DERIVATION_H */