00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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
00054 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00055 oxs_derivation_derive_key(const axutil_env_t *env,
00056 oxs_key_t *secret,
00057 oxs_key_t *derived_key,
00058 axis2_bool_t build_fresh
00059 );
00070 AXIS2_EXTERN axiom_node_t * AXIS2_CALL
00071 oxs_derivation_build_derived_key_token(const axutil_env_t *env,
00072 oxs_key_t *derived_key,
00073 axiom_node_t *parent,
00074 axis2_char_t *stref_uri,
00075 axis2_char_t *stref_val_type);
00076
00086 AXIS2_EXTERN axiom_node_t * AXIS2_CALL
00087 oxs_derivation_build_derived_key_token_with_stre(const axutil_env_t *env,
00088 oxs_key_t *derived_key,
00089 axiom_node_t *parent,
00090 axiom_node_t *stre);
00101 AXIS2_EXTERN oxs_key_t * AXIS2_CALL
00102 oxs_derivation_extract_derived_key_from_token(const axutil_env_t *env,
00103 axiom_node_t *dk_token,
00104 axiom_node_t *root_node,
00105 oxs_key_t *session_key);
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110
00111 #endif