# Signature Context
[OMXMLSecurity]

## Typedefs
typedef struct oxs_sign_ctx_t | oxs_sign_ctx_t
## Enumerations
enum | oxs_sign_operation_t { OXS_SIGN_OPERATION_NONE = 0, OXS_SIGN_OPERATION_SIGN, OXS_SIGN_OPERATION_VERIFY }
## Functions
AXIS2_EXTERN oxs_sign_ctx_t * | oxs_sign_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_free (oxs_sign_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | oxs_sign_ctx_get_sign_mtd_algo (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | oxs_sign_ctx_get_c14n_mtd (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_char_t * | oxs_sign_ctx_get_sig_val (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN axutil_array_list_t * | oxs_sign_ctx_get_sign_parts (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN oxs_x509_cert_t * | oxs_sign_ctx_get_certificate (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN openssl_pkey_t * | oxs_sign_ctx_get_private_key (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN openssl_pkey_t * | oxs_sign_ctx_get_public_key (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN oxs_key_t * | oxs_sign_ctx_get_secret (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN oxs_sign_operation_t | oxs_sign_ctx_get_operation (const oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_sign_mtd_algo (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, axis2_char_t *sign_mtd_algo)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_c14n_mtd (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, axis2_char_t *c14n_mtd)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_sig_val (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, axis2_char_t *sig_val)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_sign_parts (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, axutil_array_list_t *sign_parts)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_certificate (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, oxs_x509_cert_t *certificate)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_private_key (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, openssl_pkey_t *prv_key)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_public_key (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, openssl_pkey_t *pub_key)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_secret (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, oxs_key_t *secret)
AXIS2_EXTERN axis2_status_t | oxs_sign_ctx_set_operation (oxs_sign_ctx_t *sign_ctx, const axutil_env_t *env, oxs_sign_operation_t operation)

## Function Documentation

AXIS2_EXTERN oxs_sign_ctx_t* oxs_sign_ctx_create | ( | const axutil_env_t * | env | ) |

Create a signature context the environemnt struct

Returns:
  created signature context

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_free | ( | oxs_sign_ctx_t * | ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Free a signature context. signature context the environemnt struct

Returns:
  AXIS2_SUCCESS on success or AXIS2_FAILURE on failure

AXIS2_EXTERN axis2_char_t* oxs_sign_ctx_get_c14n_mtd | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get cannocanicalization method of the signature context the signature context the environemnt struct

Returns:
  cannocanicalization method

AXIS2_EXTERN oxs_x509_cert_t* oxs_sign_ctx_get_certificate | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get x509 certificate of the signature context the signature context the environemnt struct

Returns:
  x509 certificate

AXIS2_EXTERN oxs_sign_operation_t oxs_sign_ctx_get_operation | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the operation of the signature context the signature context the environemnt struct

Returns:
  operation SIGN/VERIFY/NONE

AXIS2_EXTERN openssl_pkey_t* oxs_sign_ctx_get_private_key | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get private key of the signature context the signature context the environemnt struct

Returns:
  private key

AXIS2_EXTERN openssl_pkey_t* oxs_sign_ctx_get_public_key | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get public key of the signature context the signature context the environemnt struct

Returns:
  public key

AXIS2_EXTERN oxs_key_t* oxs_sign_ctx_get_secret | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get shared secret of the signature context the signature context the environemnt struct

Returns:
  the shared secret

AXIS2_EXTERN axis2_char_t* oxs_sign_ctx_get_sig_val | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get sginature valueof the signature context the signature context the environemnt struct

Returns:
  signature value

AXIS2_EXTERN axis2_char_t* oxs_sign_ctx_get_sign_mtd_algo | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get signature algorithm of the signature context the signature context the environemnt struct

Returns:
  signature algorithm

AXIS2_EXTERN axutil_array_list_t* oxs_sign_ctx_get_sign_parts | ( | const oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Get signature parts of the signature context the signature context the environemnt struct

Returns:
  sgnature parts as a list

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_c14n_mtd | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | c14n_mtd |
| ) |  |  |

Set Cannocanicalization method of the signature context the signature context the environemnt struct Cannocanicalization method

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_certificate | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | oxs_x509_cert_t * | certificate |
| ) |  |  |

Set the x509 certificate of the signature context the signature context the environemnt struct the x509 certificate

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_operation | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | oxs_sign_operation_t | operation |
| ) |  |  |

Set the operation of the signature context the signature context the environemnt struct the operation

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_private_key | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | openssl_pkey_t * | prv_key |
| ) |  |  |

Set private key of the signature context the signature context the environemnt struct private key

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_public_key | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | openssl_pkey_t * | pub_key |
| ) |  |  |

Set the public key of the signature context the signature context the environemnt struct the public key

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_secret | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | oxs_key_t * | secret |
| ) |  |  |

Set the shared secret of the signature context the signature context the environemnt struct the shared secret

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_sig_val | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | sig_val |
| ) |  |  |

Set signature value of the signature context the signature context the environemnt struct signature value

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_sign_mtd_algo | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | axis2_char_t * | sign_mtd_algo |
| ) |  |  |

Set Signature algorithm of the signature context the signature context the environemnt struct Signature algorithm

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t oxs_sign_ctx_set_sign_parts | ( | oxs_sign_ctx_t * | sign_ctx,
|  | const axutil_env_t * | env,
|  | axutil_array_list_t * | sign_parts |
| ) |  |  |

Set signature parts of the signature context the signature context the environemnt struct signature parts

Returns:
  AXIS2_SUCCESS on success, else AXIS2_FAILURE