00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_DIGEST_CALC_H
00019 #define AXUTIL_DIGEST_CALC_H
00020
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00048 #define AXIS2_DIGEST_HASH_LEN 16
00049 #define AXIS2_DIGEST_HASH_HEX_LEN 32
00050
00051 typedef unsigned char axutil_digest_hash_t[AXIS2_DIGEST_HASH_LEN];
00052 typedef unsigned char axutil_digest_hash_hex_t[AXIS2_DIGEST_HASH_HEX_LEN + 1];
00053
00066 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067 axutil_digest_calc_get_h_a1(
00068 const axutil_env_t * env,
00069 char * algorithm,
00070 char * user_name,
00071 char * realm,
00072 char * password,
00073 char * nonce,
00074 char * cnonce,
00075 axutil_digest_hash_hex_t session_key);
00076
00090 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091 axutil_digest_calc_get_response(
00092 const axutil_env_t * env,
00093 axutil_digest_hash_hex_t h_a1,
00094 char * nonce,
00095 char * nonce_count,
00096 char * cnonce,
00097 char * qop,
00098 char * method,
00099 char * digest_uri,
00100 axutil_digest_hash_hex_t h_entity,
00101 axutil_digest_hash_hex_t response);
00102
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108
00109 #endif