summaryrefslogtreecommitdiffstats
path: root/neethi/src/secpolicy/model/algorithmsuite.c
diff options
context:
space:
mode:
Diffstat (limited to 'neethi/src/secpolicy/model/algorithmsuite.c')
-rw-r--r--neethi/src/secpolicy/model/algorithmsuite.c627
1 files changed, 627 insertions, 0 deletions
diff --git a/neethi/src/secpolicy/model/algorithmsuite.c b/neethi/src/secpolicy/model/algorithmsuite.c
new file mode 100644
index 0000000..db3426c
--- /dev/null
+++ b/neethi/src/secpolicy/model/algorithmsuite.c
@@ -0,0 +1,627 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <rp_algorithmsuite.h>
+
+struct rp_algorithmsuite_t
+{
+ axis2_char_t *algosuite_string;
+ axis2_char_t *symmetric_signature;
+ axis2_char_t *asymmetric_signature;
+ axis2_char_t *computed_key;
+ int max_symmetric_keylength;
+ int min_asymmetric_keylength;
+ int max_asymmetric_keylength;
+ axis2_char_t *digest;
+ axis2_char_t *encryption;
+ axis2_char_t *symmetrickeywrap;
+ axis2_char_t *asymmetrickeywrap;
+ axis2_char_t *encryption_key_derivation;
+ axis2_char_t *signature_key_derivation;
+ int encryption_key_derivation_keylength;
+ int signature_key_derivation_keylength;
+ int min_symmetric_keylength;
+ axis2_char_t *c14n;
+ axis2_char_t *soap_normalization;
+ axis2_char_t *str_transformation;
+ axis2_char_t *xpath;
+ int ref;
+
+};
+
+AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL
+rp_algorithmsuite_create(
+ const axutil_env_t *env)
+{
+ rp_algorithmsuite_t *algorithmsuite = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+
+ algorithmsuite = (rp_algorithmsuite_t *)AXIS2_MALLOC(env->allocator,
+ sizeof(rp_algorithmsuite_t));
+
+ if(algorithmsuite == NULL)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory");
+ return NULL;
+ }
+ algorithmsuite->algosuite_string = NULL;
+ algorithmsuite->symmetric_signature = RP_HMAC_SHA1;
+ algorithmsuite->asymmetric_signature = RP_RSA_SHA1;
+ algorithmsuite->computed_key = RP_P_SHA1;
+ algorithmsuite->max_symmetric_keylength = 256;
+ algorithmsuite->min_asymmetric_keylength = 1024;
+ algorithmsuite->max_asymmetric_keylength = 4096;
+ algorithmsuite->digest = NULL;
+ algorithmsuite->encryption = NULL;
+ algorithmsuite->symmetrickeywrap = NULL;
+ algorithmsuite->asymmetrickeywrap = NULL;
+ algorithmsuite->encryption_key_derivation = NULL;
+ algorithmsuite->signature_key_derivation = NULL;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+ algorithmsuite->min_symmetric_keylength = 0;
+ ;
+ algorithmsuite->c14n = RP_EX_C14N;
+ algorithmsuite->soap_normalization = NULL;
+ algorithmsuite->str_transformation = NULL;
+ algorithmsuite->xpath = NULL;
+ algorithmsuite->ref = 0;
+ return algorithmsuite;
+}
+
+AXIS2_EXTERN void AXIS2_CALL
+rp_algorithmsuite_free(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ if(algorithmsuite)
+ {
+ if(--(algorithmsuite->ref) > 0)
+ {
+ return;
+ }
+
+ AXIS2_FREE(env->allocator, algorithmsuite);
+ algorithmsuite = NULL;
+ }
+ return;
+}
+
+/* Implementations */
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_algosuite_string(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ if(!algorithmsuite)
+ return NULL;
+ else
+ return algorithmsuite->algosuite_string;
+
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_algosuite(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *algosuite_string)
+{
+ AXIS2_PARAM_CHECK(env->error, algosuite_string, AXIS2_FAILURE);
+
+ algorithmsuite->algosuite_string = algosuite_string;
+
+ if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_AES256;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES256;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 256;
+ algorithmsuite->encryption_key_derivation_keylength = 256;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_AES192;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES192;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_AES128;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES128;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->min_symmetric_keylength = 128;
+ algorithmsuite->encryption_key_derivation_keylength = 128;
+ algorithmsuite->signature_key_derivation_keylength = 128;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_TRIPLE_DES;
+ algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_AES256;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES256;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 256;
+ algorithmsuite->encryption_key_derivation_keylength = 256;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_AES192;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES192;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_AES128;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES128;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->min_symmetric_keylength = 128;
+ algorithmsuite->encryption_key_derivation_keylength = 128;
+ algorithmsuite->signature_key_derivation_keylength = 128;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA1;
+ algorithmsuite->encryption = RP_TRIPLE_DES;
+ algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256_SHA256) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_AES256;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES256;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 256;
+ algorithmsuite->encryption_key_derivation_keylength = 256;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192_SHA256) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_AES192;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES192;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128_SHA256) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_AES128;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES128;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->min_symmetric_keylength = 128;
+ algorithmsuite->encryption_key_derivation_keylength = 128;
+ algorithmsuite->signature_key_derivation_keylength = 128;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES_SHA256) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_TRIPLE_DES;
+ algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256_SHA256_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_AES256;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES256;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 256;
+ algorithmsuite->encryption_key_derivation_keylength = 256;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192_SHA256_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_AES192;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES192;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128_SHA256_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_AES128;
+ algorithmsuite->symmetrickeywrap = RP_KW_AES128;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L128;
+ algorithmsuite->min_symmetric_keylength = 128;
+ algorithmsuite->encryption_key_derivation_keylength = 128;
+ algorithmsuite->signature_key_derivation_keylength = 128;
+
+ return AXIS2_SUCCESS;
+ }
+ else if(axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES_SHA256_RSA15) == 0)
+ {
+ algorithmsuite->digest = RP_SHA256;
+ algorithmsuite->encryption = RP_TRIPLE_DES;
+ algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES;
+ algorithmsuite->asymmetrickeywrap = RP_KW_RSA15;
+ algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->signature_key_derivation = RP_P_SHA1_L192;
+ algorithmsuite->min_symmetric_keylength = 192;
+ algorithmsuite->encryption_key_derivation_keylength = 192;
+ algorithmsuite->signature_key_derivation_keylength = 192;
+
+ return AXIS2_SUCCESS;
+ }
+ else
+ return AXIS2_FAILURE;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_symmetric_signature(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->symmetric_signature;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_symmetric_signature(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *symmetric_signature)
+{
+ AXIS2_PARAM_CHECK(env->error, symmetric_signature, AXIS2_FAILURE);
+
+ algorithmsuite->symmetric_signature = symmetric_signature;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_asymmetric_signature(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->asymmetric_signature;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_asymmetric_signature(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *asymmetric_signature)
+{
+ AXIS2_PARAM_CHECK(env->error, asymmetric_signature, AXIS2_FAILURE);
+
+ algorithmsuite->asymmetric_signature = asymmetric_signature;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_computed_key(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->computed_key;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_computed_key(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *computed_key)
+{
+ AXIS2_PARAM_CHECK(env->error, computed_key, AXIS2_FAILURE);
+
+ algorithmsuite->computed_key = computed_key;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_digest(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->digest;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_encryption(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->encryption;
+}
+
+AXIS2_EXTERN int AXIS2_CALL
+rp_algorithmsuite_get_max_symmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->max_symmetric_keylength;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_max_symmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ int max_symmetric_keylength)
+{
+ algorithmsuite->max_symmetric_keylength = max_symmetric_keylength;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN int AXIS2_CALL
+rp_algorithmsuite_get_min_symmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->min_symmetric_keylength;
+}
+
+AXIS2_EXTERN int AXIS2_CALL
+rp_algorithmsuite_get_encryption_derivation_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->encryption_key_derivation_keylength;
+}
+
+AXIS2_EXTERN int AXIS2_CALL
+rp_algorithmsuite_get_signature_derivation_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->signature_key_derivation_keylength;
+}
+
+AXIS2_EXTERN int AXIS2_CALL
+rp_algorithmsuite_get_max_asymmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->max_asymmetric_keylength;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_max_asymmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ int max_asymmetric_keylength)
+{
+ algorithmsuite->max_asymmetric_keylength = max_asymmetric_keylength;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN int AXIS2_CALL
+rp_algorithmsuite_get_min_asymmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->min_asymmetric_keylength;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_min_asymmetric_keylength(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ int min_asymmetric_keylength)
+{
+ algorithmsuite->min_asymmetric_keylength = min_asymmetric_keylength;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_symmetrickeywrap(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->symmetrickeywrap;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_asymmetrickeywrap(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->asymmetrickeywrap;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_signature_key_derivation(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->signature_key_derivation;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_encryption_key_derivation(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->encryption_key_derivation;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_soap_normalization(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->soap_normalization;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_soap_normalization(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *soap_normalization)
+{
+ AXIS2_PARAM_CHECK(env->error, soap_normalization, AXIS2_FAILURE);
+ algorithmsuite->soap_normalization = soap_normalization;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_str_transformation(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->str_transformation;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_str_transformation(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *str_transformation)
+{
+ AXIS2_PARAM_CHECK(env->error, str_transformation, AXIS2_FAILURE);
+ algorithmsuite->str_transformation = str_transformation;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_c14n(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->c14n;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_c14n(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *c14n)
+{
+ AXIS2_PARAM_CHECK(env->error, c14n, AXIS2_FAILURE);
+ algorithmsuite->c14n = c14n;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_algorithmsuite_get_xpath(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ return algorithmsuite->xpath;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_set_xpath(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env,
+ axis2_char_t *xpath)
+{
+ AXIS2_PARAM_CHECK(env->error, xpath, AXIS2_FAILURE);
+ algorithmsuite->xpath = xpath;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_algorithmsuite_increment_ref(
+ rp_algorithmsuite_t *algorithmsuite,
+ const axutil_env_t *env)
+{
+ algorithmsuite->ref++;
+ return AXIS2_SUCCESS;
+}