# secconv_security_context_token.h File Reference

security context token More...

`#include <stdio.h>`
`#include <stdlib.h>`
`#include <axutil_utils.h>`
`#include <axutil_string.h>`
`#include <oxs_buffer.h>`

Go to the source code of this file.

## Typedefs
typedef struct security_context_token_t | security_context_token_t
## Functions
AXIS2_EXTERN security_context_token_t * | security_context_token_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | security_context_token_free (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN oxs_buffer_t * | security_context_token_get_secret (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | security_context_token_get_global_identifier (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | security_context_token_get_local_identifier (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | security_context_token_set_secret (security_context_token_t *sct, const axutil_env_t *env, oxs_buffer_t *buffer)
AXIS2_EXTERN axis2_status_t | security_context_token_set_global_identifier (security_context_token_t *sct, const axutil_env_t *env, axis2_char_t *global_id)
AXIS2_EXTERN axis2_status_t | security_context_token_set_local_identifier (security_context_token_t *sct, const axutil_env_t *env, axis2_char_t *local_id)
AXIS2_EXTERN axis2_status_t | security_context_token_set_is_sc10 (security_context_token_t *sct, const axutil_env_t *env, axis2_bool_t is_sc10)
AXIS2_EXTERN axiom_node_t * | security_context_token_get_requested_proof_token (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axiom_node_t * | security_context_token_get_attached_reference (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axiom_node_t * | security_context_token_get_unattached_reference (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axiom_node_t * | security_context_token_get_token (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | security_context_token_set_requested_proof_token (security_context_token_t *sct, const axutil_env_t *env, axiom_node_t *node)
AXIS2_EXTERN axis2_status_t | security_context_token_set_attached_reference (security_context_token_t *sct, const axutil_env_t *env, axiom_node_t *node)
AXIS2_EXTERN axis2_status_t | security_context_token_set_unattached_reference (security_context_token_t *sct, const axutil_env_t *env, axiom_node_t *node)
AXIS2_EXTERN axis2_status_t | security_context_token_set_token (security_context_token_t *sct, const axutil_env_t *env, axiom_node_t *node)
AXIS2_EXTERN axis2_status_t | security_context_token_increment_ref (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | security_context_token_serialize (security_context_token_t *sct, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | security_context_token_deserialize (security_context_token_t *sct, const axutil_env_t *env, axis2_char_t *serialised_node)

## Detailed Description

security context token

## Function Documentation

AXIS2_EXTERN security_context_token_t* security_context_token_create | ( | const axutil_env_t * | env | ) |

Creates security context token

Parameters:

  | env | Pointer to environment struct

Returns:
  Security context token if success. NULL otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_deserialize | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | serialised_node |
| ) |  |  |

Deserializes the security context token.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | serialised_node | serialised string representation of security context token

Returns:
  serialized security context token if success. NULL otherwise

AXIS2_EXTERN axis2_status_t security_context_token_free | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Free security context token

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axiom_node_t* security_context_token_get_attached_reference | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get local id of security context token as axiom node. This id will be used when token is included in the message

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  valid axiom node if success. NULL otherwise.

AXIS2_EXTERN axis2_char_t* security_context_token_get_global_identifier | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get global id of security context token. This id will be used when token is not included in the message

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  global id if success. NULL otherwise.

AXIS2_EXTERN axis2_char_t* security_context_token_get_local_identifier | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get local id of security context token. This id will be used when token is included in the message

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  local id if success. NULL otherwise.

AXIS2_EXTERN axiom_node_t* security_context_token_get_requested_proof_token | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get shared secret as axiom_node. Shared secret will be included inside 'RequestedProofToken' node. This is acording to WS-Trust specification

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  valid axiom_node if success. NULL otherwise.

AXIS2_EXTERN oxs_buffer_t* security_context_token_get_secret | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get shared secret from security context token. Callers should not free returned buffer

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  shared secret if success. NULL otherwise.

AXIS2_EXTERN axiom_node_t* security_context_token_get_token | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get axiom node representation of security context token. This will be included in the message if the token needs to be sent in the message

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  valid axiom node if success. NULL otherwise.

AXIS2_EXTERN axiom_node_t* security_context_token_get_unattached_reference | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Get global id of security context token as axiom node. This id will be used when token is not included in the message

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  valid axiom node if success. NULL otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_increment_ref | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Increment the reference of security context token

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_char_t* security_context_token_serialize | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env |
| ) |  |  |

Serializes the security context token. Caller should take the ownership of returned value

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct

Returns:
  serialized security context token if success. NULL otherwise

AXIS2_EXTERN axis2_status_t security_context_token_set_attached_reference | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axiom_node_t * | node |
| ) |  |  |

Set local identifier of security context token from attached reference node.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | node | Pointer to attached reference axiom node

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_global_identifier | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | global_id |
| ) |  |  |

Set global identifier of security context token. After this method is called, ownership of global_id will be with security context token. Users should not free it.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | global_id | Global identifier of security context token

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_is_sc10 | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axis2_bool_t | is_sc10 |
| ) |  |  |

Set WS-SecureConversation version

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | is_sc10 | Boolean denoting whether we need security context token as in WS-SecConv 1.0

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_local_identifier | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | local_id |
| ) |  |  |

Set local identifier of security context token. After this method is called, ownership of local_id will be with security context token. Users should not free it.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | local_id | Local identifier of security context token

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_requested_proof_token | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axiom_node_t * | node |
| ) |  |  |

Set shared secret of security context token from proof token. This proof token will be given by STS.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | node | Pointer to proof token axiom node

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_secret | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | oxs_buffer_t * | buffer |
| ) |  |  |

Set shared secret of security context token. After this method is called, ownership of the buffer will be with security context token. Users should not free it.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | buffer | Pointer to shared secret

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_token | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axiom_node_t * | node |
| ) |  |  |

Set axiom representation of security context token

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | node | Pointer to security context token axiom node

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.

AXIS2_EXTERN axis2_status_t security_context_token_set_unattached_reference | ( | security_context_token_t * | sct,
|  | const axutil_env_t * | env,
|  | axiom_node_t * | node |
| ) |  |  |

Set global identifier of security context token from unattached reference node.

Parameters:

  | sct | Pointer to secuirty context token struct
  | env | Pointer to environment struct
  | node | Pointer to unattached reference axiom node

Returns:
  AXIS2_SUCCESS if success. AXIS2_FAILURE otherwise.