Security Context Token provider
[Rampart Utilities]


Classes

struct  rampart_sct_provider_ops
struct  rampart_sct_provider

Defines

#define RAMPART_SCT_PROVIDER_FREE(sct_provider, env)   ((sct_provider)->ops->free(sct_provider, env))

Typedefs

typedef struct
rampart_sct_provider_ops 
rampart_sct_provider_ops_t
typedef struct rampart_sct_provider rampart_sct_provider_t

Functions

AXIS2_EXTERN oxs_buffer_tsct_provider_get_secret (const axutil_env_t *env, rp_property_t *token, axis2_bool_t is_encryption, rampart_context_t *rampart_context, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN oxs_buffer_tsct_provider_get_secret_using_id (const axutil_env_t *env, axis2_char_t *sct_id, rampart_context_t *rampart_context, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN axiom_node_t * sct_provider_get_token (const axutil_env_t *env, rp_property_t *token, axis2_bool_t is_encryption, rampart_context_t *rampart_context, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN axiom_node_t * sct_provider_get_attached_reference (const axutil_env_t *env, rp_property_t *token, axis2_bool_t is_encryption, rampart_context_t *rampart_context, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN axiom_node_t * sct_provider_get_unattached_reference (const axutil_env_t *env, rp_property_t *token, axis2_bool_t is_encryption, rampart_context_t *rampart_context, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN axis2_status_t sct_provider_validate_security_context_token (const axutil_env_t *env, axiom_node_t *sct_node, rampart_context_t *rampart_context, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN void * sct_provider_obtain_sct_default (const axutil_env_t *env, axis2_bool_t is_encryption, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_id, int sct_id_type, void *user_params)
AXIS2_EXTERN axis2_status_t sct_provider_store_sct_default (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_global_id, axis2_char_t *sct_local_id, void *sct, void *user_params)
AXIS2_EXTERN axis2_status_t sct_provider_delete_sct_default (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_char_t *sct_id, int sct_id_type, void *user_params)
AXIS2_EXTERN axis2_status_t sct_provider_validate_sct_default (const axutil_env_t *env, axiom_node_t *sct_node, axis2_msg_ctx_t *msg_ctx, void *user_params)

Function Documentation

AXIS2_EXTERN axis2_status_t sct_provider_delete_sct_default ( const axutil_env_t *  env,
axis2_msg_ctx_t *  msg_ctx,
axis2_char_t *  sct_id,
int  sct_id_type,
void *  user_params 
)

Default implementation of delete sct function. If neither sct_provider nor user defined store function is given, this function will be used. (delete_security_context_token_fn)

Parameters:
env pointer to environment struct
msg_ctx pointer to message context structure
sct_id identifier of security context token. Should not be NULL.
sct_id_type type of sct id. can be global or local.
user_params parameter provided by user (not used in this method)
Returns:
AXIS2_SUCCESS if deleted. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axiom_node_t* sct_provider_get_attached_reference ( const axutil_env_t *  env,
rp_property_t *  token,
axis2_bool_t  is_encryption,
rampart_context_t *  rampart_context,
axis2_msg_ctx_t *  msg_ctx 
)

Finds security context token and gets the xml representation of key reference. This reference is used when security context token is included in the message

Parameters:
env Pointer to environment struct
token rampart policy property of the token
is_encryption boolean showing whether the token is needed for encryption or signature
rampart_context pointer to rampart context structure
msg_ctx pointer to message context structure
Returns:
shared secret of the security context token. returned buffer should NOT be freed

AXIS2_EXTERN oxs_buffer_t* sct_provider_get_secret ( const axutil_env_t *  env,
rp_property_t *  token,
axis2_bool_t  is_encryption,
rampart_context_t *  rampart_context,
axis2_msg_ctx_t *  msg_ctx 
)

Finds security context token and gets shared secret. returned buffer should NOT be cleared by the caller

Parameters:
env Pointer to environment struct
token rampart policy property of the token
is_encryption boolean showing whether the token is needed for encryption or signature
rampart_context pointer to rampart context structure
msg_ctx pointer to message context structure
Returns:
shared secret of the security context token. returned buffer should NOT be freed

AXIS2_EXTERN oxs_buffer_t* sct_provider_get_secret_using_id ( const axutil_env_t *  env,
axis2_char_t *  sct_id,
rampart_context_t *  rampart_context,
axis2_msg_ctx_t *  msg_ctx 
)

Finds security context token and gets shared secret. returned buffer should NOT be cleared by the caller

Parameters:
env Pointer to environment struct
sct_id id of security context token
rampart_context pointer to rampart context structure
msg_ctx pointer to message context structure
Returns:
shared secret of the security context token. returned buffer should NOT be freed

AXIS2_EXTERN axiom_node_t* sct_provider_get_token ( const axutil_env_t *  env,
rp_property_t *  token,
axis2_bool_t  is_encryption,
rampart_context_t *  rampart_context,
axis2_msg_ctx_t *  msg_ctx 
)

Finds security context token and gets the xml representation of token

Parameters:
env Pointer to environment struct
token rampart policy property of the token
is_encryption boolean showing whether the token is needed for encryption or signature
rampart_context pointer to rampart context structure
msg_ctx pointer to message context structure
Returns:
shared secret of the security context token. returned buffer should NOT be freed

AXIS2_EXTERN axiom_node_t* sct_provider_get_unattached_reference ( const axutil_env_t *  env,
rp_property_t *  token,
axis2_bool_t  is_encryption,
rampart_context_t *  rampart_context,
axis2_msg_ctx_t *  msg_ctx 
)

Finds security context token and gets the xml representation of key reference. This reference is used when security context token is NOT included in the message

Parameters:
env Pointer to environment struct
token rampart policy property of the token
is_encryption boolean showing whether the token is needed for encryption or signature
rampart_context pointer to rampart context structure
msg_ctx pointer to message context structure
Returns:
shared secret of the security context token. returned buffer should NOT be freed

AXIS2_EXTERN void* sct_provider_obtain_sct_default ( const axutil_env_t *  env,
axis2_bool_t  is_encryption,
axis2_msg_ctx_t *  msg_ctx,
axis2_char_t *  sct_id,
int  sct_id_type,
void *  user_params 
)

Default implementation of obtain sct function. If neither sct_provider nor user defined obtain function is given, this function will be used. (obtain_security_context_token_fn)

Parameters:
env pointer to environment struct
is_encryption boolean denotes sct is needed for encryption or signature
msg_ctx pointer to message context structure
sct_id identifier of security context token. Can be NULL
sct_id_type type of sct id. can be global, local or unknown
user_params parameter provided by user (not used in this method) return security context token if found. NULL otherwise.

AXIS2_EXTERN axis2_status_t sct_provider_store_sct_default ( const axutil_env_t *  env,
axis2_msg_ctx_t *  msg_ctx,
axis2_char_t *  sct_global_id,
axis2_char_t *  sct_local_id,
void *  sct,
void *  user_params 
)

Default implementation of store sct function. If neither sct_provider nor user defined store function is given, this function will be used. (store_security_context_token_fn)

Parameters:
env pointer to environment struct
msg_ctx pointer to message context structure
sct_global_id global identifier of security context token. Can be NULL
sct_local_id local identifier of security context token. Can be NULL
sct security context token to be stored
user_params parameter provided by user (not used in this method) return AXIS2_SUCCESS if stored. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t sct_provider_validate_sct_default ( const axutil_env_t *  env,
axiom_node_t *  sct_node,
axis2_msg_ctx_t *  msg_ctx,
void *  user_params 
)

Default implementation of validate sct function. If neither sct_provider nor user defined store function is given, this function will be used. (validate_security_context_token_fn)

Parameters:
env pointer to environment struct
sct_node axiom representation of security context token
user_params parameter provided by user (not used in this method)
Returns:
AXIS2_SUCCESS if valid. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t sct_provider_validate_security_context_token ( const axutil_env_t *  env,
axiom_node_t *  sct_node,
rampart_context_t *  rampart_context,
axis2_msg_ctx_t *  msg_ctx 
)

Validates whether security context token is valid or not. Normally, we can directly send true as response. But if syntax of security context token is altered/added by using extensible mechanism (e.g having sessions, etc.) then user can implement this method. Axiom representation of the sct will be given as the parameter, because if sct is extended, we don't know the syntax. Method writer can implement whatever needed.

Parameters:
env Pointer to environment struct
sct_node axiom node representation of security context token.
rampart_context pointer to rampart context structure
msg_ctx pointer to message context structure
Returns:
AXIS2_TRUE is sct is valid. AXIS2_FALSE otherwise.


Generated on Wed Oct 14 01:02:17 2009 for Rampart/C by  doxygen 1.5.7.1