You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ka...@apache.org on 2006/11/20 06:38:44 UTC
svn commit: r477054 - in /webservices/axis2/trunk/c/rampart: include/
src/handlers/ src/omxmlsec/ src/util/ test/omxmlsec/
Author: kaushalye
Date: Sun Nov 19 21:38:36 2006
New Revision: 477054
URL: http://svn.apache.org/viewvc?view=rev&rev=477054
Log:
This commit includes following modifications + improvements.
1. EncryptedKey processing in security header processor.
2. Use of a oxs_buffer inside oxs_key class.
3. Building SecurityTokenReferences.
4. Parsing Security Token references
5. Decrypting a session key using the recievers private key(right now we have limitation of supporting only one key)
Modified:
webservices/axis2/trunk/c/rampart/include/oxs_key.h
webservices/axis2/trunk/c/rampart/include/oxs_token_cipher_data.h
webservices/axis2/trunk/c/rampart/include/oxs_token_reference_list.h
webservices/axis2/trunk/c/rampart/include/oxs_xml_encryption.h
webservices/axis2/trunk/c/rampart/src/handlers/rampart_in_handler.c
webservices/axis2/trunk/c/rampart/src/handlers/rampart_out_handler.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/encryption.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/key.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/token_cipher_data.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/token_reference_list.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/utility.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_encryption.c
webservices/axis2/trunk/c/rampart/src/util/Makefile.am
webservices/axis2/trunk/c/rampart/src/util/rampart_encryption.c
webservices/axis2/trunk/c/rampart/test/omxmlsec/test.c
Modified: webservices/axis2/trunk/c/rampart/include/oxs_key.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/include/oxs_key.h?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/include/oxs_key.h (original)
+++ webservices/axis2/trunk/c/rampart/include/oxs_key.h Sun Nov 19 21:38:36 2006
@@ -95,18 +95,6 @@
const oxs_key_t *key,
const axis2_env_t *env);
- /**
- * Sets data of the key.
- * @param key oxs_key ptr to key
- * @param env pointer to environment struct
- * @param data data of the key
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_data)(
- oxs_key_t *key,
- const axis2_env_t *env,
- unsigned char *data);
/**
* Sets the name of the key.
@@ -121,18 +109,6 @@
const axis2_env_t *env,
axis2_char_t *name);
- /**
- * Sets the size of the key.
- * @param key oxs_key ptr to key
- * @param env pointer to environment struct
- * @param size size of the key
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_size)(
- oxs_key_t *key,
- const axis2_env_t *env,
- int size);
/**
* Set the usage of the key.
@@ -212,7 +188,7 @@
};
AXIS2_EXTERN oxs_key_t *AXIS2_CALL
-oxs_key_create_key(const axis2_env_t *env);
+oxs_key_create(const axis2_env_t *env);
/*Macros*/
@@ -229,14 +205,8 @@
#define OXS_KEY_GET_USAGE(key,env)\
((key)->ops->get_usage(key,env))
-#define OXS_KEY_SET_DATA(key,env, data)\
- ((key)->ops->set_data(key, env, data))
-
#define OXS_KEY_SET_NAME(key,env, name)\
((key)->ops->set_name(key, env, name))
-
-#define OXS_KEY_SET_SIZE(key,env, size)\
- ((key)->ops->set_size(key, env, size))
#define OXS_KEY_SET_USAGE(key,env, usage)\
((key)->ops->set_usage(key, env, usage))
Modified: webservices/axis2/trunk/c/rampart/include/oxs_token_cipher_data.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/include/oxs_token_cipher_data.h?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/include/oxs_token_cipher_data.h (original)
+++ webservices/axis2/trunk/c/rampart/include/oxs_token_cipher_data.h Sun Nov 19 21:38:36 2006
@@ -41,9 +41,11 @@
axiom_node_t *parent
);
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+oxs_token_get_cipher_value_from_cipher_data(const axis2_env_t *env,
+ axiom_node_t *cd_node);
-/*TODO write free method*/
/** @} */
#ifdef __cplusplus
}
Modified: webservices/axis2/trunk/c/rampart/include/oxs_token_reference_list.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/include/oxs_token_reference_list.h?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/include/oxs_token_reference_list.h (original)
+++ webservices/axis2/trunk/c/rampart/include/oxs_token_reference_list.h Sun Nov 19 21:38:36 2006
@@ -42,6 +42,9 @@
axiom_node_t *parent
);
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+oxs_token_build_data_reference_list(const axis2_env_t *env, axiom_node_t *parent, axis2_array_list_t *id_list);
+
AXIS2_EXTERN axis2_array_list_t *AXIS2_CALL
oxs_token_get_reference_list_data(const axis2_env_t *env, axiom_node_t *ref_list_node);
Modified: webservices/axis2/trunk/c/rampart/include/oxs_xml_encryption.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/include/oxs_xml_encryption.h?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/include/oxs_xml_encryption.h (original)
+++ webservices/axis2/trunk/c/rampart/include/oxs_xml_encryption.h Sun Nov 19 21:38:36 2006
@@ -63,7 +63,14 @@
oxs_xml_enc_encrypt_key(const axis2_env_t *env,
oxs_asym_ctx_t * asym_ctx,
axiom_node_t *parent,
- oxs_key_t *sym_key);
+ oxs_key_t *sym_key,
+ axis2_array_list_t *id_list);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+oxs_xml_enc_decrypt_key(const axis2_env_t *env,
+ oxs_asym_ctx_t * asym_ctx,
+ axiom_node_t *encrypted_key_node,
+ oxs_key_t *key);
/** @} */
#ifdef __cplusplus
}
Modified: webservices/axis2/trunk/c/rampart/src/handlers/rampart_in_handler.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/handlers/rampart_in_handler.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/handlers/rampart_in_handler.c (original)
+++ webservices/axis2/trunk/c/rampart/src/handlers/rampart_in_handler.c Sun Nov 19 21:38:36 2006
@@ -178,9 +178,11 @@
rampart_create_fault_envelope(env, "wsse:Security", "Security header element is not valid", sub_codes, msg_ctx);
return AXIS2_FAILURE;
}
-
+ /*NEW CODE*/
+ /*status = rampart_shp_process_message(env, msg_ctx, actions, soap_envelope, sec_node);*/
+
sec_ele = AXIOM_NODE_GET_DATA_ELEMENT(sec_node, env);
-
+
/*UsernameToken*/
if (0 == AXIS2_STRCMP(RAMPART_ACTION_ITEMS_USERNAMETOKEN, AXIS2_STRTRIM(env, item, NULL)))
{
Modified: webservices/axis2/trunk/c/rampart/src/handlers/rampart_out_handler.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/handlers/rampart_out_handler.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/handlers/rampart_out_handler.c (original)
+++ webservices/axis2/trunk/c/rampart/src/handlers/rampart_out_handler.c Sun Nov 19 21:38:36 2006
@@ -269,7 +269,7 @@
{
AXIS2_LOG_INFO(env->log, "[rampart][rampart_out_handler] Encrypting we do not support yet");
-
+ status = rampart_enc_encrypt_message(env, msg_ctx, actions, soap_envelope, sec_node);
/*Signature*/
}
else if (0 == AXIS2_STRCMP(RAMPART_ACTION_ITEMS_SIGNATURE,
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/encryption.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/encryption.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/encryption.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/encryption.c Sun Nov 19 21:38:36 2006
@@ -164,7 +164,9 @@
axis2_status_t status = AXIS2_FAILURE;
/*TODO We support RSA encryption only. If any other algorithm is specified, reject*/
- /*Create and Load the PKEY*/
+ /*1. Try to get th epkey from the asy_ctx*/
+
+ /*2. If not try to load the key from the dec_prop_file*/
file_name = oxs_asym_ctx_get_file_name(ctx, env);
pkey = openssl_pkey_create(env);
status = OPENSSL_PKEY_LOAD(pkey, env, file_name, "");/*TODO password*/
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/key.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/key.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/key.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/key.c Sun Nov 19 21:38:36 2006
@@ -27,10 +27,12 @@
{
oxs_key_t key;
- unsigned char *data;
+
+ oxs_buffer_t *buf;
axis2_char_t *name;
- int size;
int usage;
+ /*int size;
+ unsigned char *data;*/
}
oxs_key_impl_t;
@@ -126,7 +128,7 @@
AXIS2_ENV_CHECK(env, NULL);
key_impl = AXIS2_INTF_TO_IMPL(key);
- return key_impl->data;
+ return OXS_BUFFER_GET_DATA(key_impl->buf, env);
}
@@ -151,8 +153,8 @@
oxs_key_impl_t *key_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
key_impl = AXIS2_INTF_TO_IMPL(key);
-
- return key_impl->size;
+
+ return OXS_BUFFER_GET_SIZE(key_impl->buf, env);
}
@@ -170,27 +172,6 @@
}
-axis2_status_t AXIS2_CALL
-oxs_key_set_data(
- oxs_key_t *key,
- const axis2_env_t *env,
- unsigned char *data)
-{
- oxs_key_impl_t *oxs_key_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, data, AXIS2_FAILURE);
- oxs_key_impl = AXIS2_INTF_TO_IMPL(key);
-
- if (oxs_key_impl->data)
- {
- AXIS2_FREE(env->allocator, oxs_key_impl->data);
- oxs_key_impl->data = NULL;
- }
- oxs_key_impl->data = (unsigned char *)strdup(data);
- return AXIS2_SUCCESS;
-
-}
axis2_status_t AXIS2_CALL
oxs_key_set_name(
@@ -214,21 +195,6 @@
}
-axis2_status_t AXIS2_CALL
-oxs_key_set_size(
- oxs_key_t *key,
- const axis2_env_t *env,
- int size)
-{
- oxs_key_impl_t *oxs_key_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- oxs_key_impl = AXIS2_INTF_TO_IMPL(key);
-
- oxs_key_impl->size = size;
- return AXIS2_SUCCESS;
-
-}
axis2_status_t AXIS2_CALL
oxs_key_set_usage(
@@ -256,9 +222,7 @@
key->ops->get_name = oxs_key_get_name;
key->ops->get_size = oxs_key_get_size;
key->ops->get_usage = oxs_key_get_usage;
- key->ops->set_data = oxs_key_set_data ;
key->ops->set_name = oxs_key_set_name;
- key->ops->set_size = oxs_key_set_size;
key->ops->set_usage = oxs_key_set_usage;
key->ops->free = oxs_key_free;
key->ops->populate = oxs_key_populate;
@@ -268,7 +232,7 @@
AXIS2_EXTERN oxs_key_t *AXIS2_CALL
-oxs_key_create_key(const axis2_env_t *env)
+oxs_key_create(const axis2_env_t *env)
{
oxs_key_impl_t *key_impl = NULL;
@@ -281,10 +245,12 @@
return NULL;
}
- key_impl->data = NULL;
+ key_impl->buf = NULL;
key_impl->name = NULL;
- key_impl->size = -1;
key_impl->usage = -1;
+
+ /*additionally we need to create a buffer to keep data*/
+ key_impl->buf = oxs_buffer_create(env);
key_impl->key.ops = AXIS2_MALLOC(env->allocator, sizeof(oxs_key_ops_t));
if (!key_impl->key.ops)
@@ -295,7 +261,6 @@
}
oxs_key_init_ops(&(key_impl->key));
-
return &(key_impl->key);
}
@@ -311,7 +276,9 @@
key_impl = AXIS2_INTF_TO_IMPL(key);
- key_impl->data = NULL;
+ OXS_BUFFER_FREE(key_impl->buf, env);
+ key_impl->buf = NULL;
+ AXIS2_FREE(env->allocator, key_impl->name);
key_impl->name = NULL;
AXIS2_FREE(env->allocator, key_impl);
@@ -328,12 +295,17 @@
int size,
int usage)
{
+ oxs_key_impl_t *key_impl = NULL;
int ret;
- ret = OXS_KEY_SET_DATA(key, env, data);
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ key_impl = AXIS2_INTF_TO_IMPL(key);
+
ret = OXS_KEY_SET_NAME(key, env, name);
- ret = OXS_KEY_SET_SIZE(key, env, size);
ret = OXS_KEY_SET_USAGE(key, env, usage);
+
+ ret = OXS_BUFFER_POPULATE(key_impl->buf, env, data, size);
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/token_cipher_data.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/token_cipher_data.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/token_cipher_data.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/token_cipher_data.c Sun Nov 19 21:38:36 2006
@@ -15,10 +15,12 @@
*/
#include <stdio.h>
+#include <axiom_element.h>
#include <oxs_constants.h>
#include <oxs_error.h>
#include <oxs_token_cipher_data.h>
-#include <axiom_element.h>
+#include <oxs_token_cipher_value.h>
+#include <oxs_axiom.h>
AXIS2_EXTERN axiom_node_t* AXIS2_CALL
@@ -44,3 +46,20 @@
return cipher_data_node;
}
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+oxs_token_get_cipher_value_from_cipher_data(const axis2_env_t *env,
+ axiom_node_t *cd_node)
+{
+ axiom_node_t *cv_node = NULL;
+ axis2_char_t *value = NULL;
+ /*First check direct <CipherValue>*/
+ cv_node = oxs_axiom_get_first_child_node_by_name(env, cd_node, OXS_NODE_CIPHER_VALUE, NULL, NULL);
+ if(cv_node){
+ value = oxs_token_get_cipher_value(env, cv_node);
+ }else{
+ /*If not then check for <CipherReference URI?>*/
+ /*TODO*/
+ }
+
+ return value;
+}
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/token_reference_list.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/token_reference_list.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/token_reference_list.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/token_reference_list.c Sun Nov 19 21:38:36 2006
@@ -24,8 +24,7 @@
AXIS2_EXTERN axiom_node_t* AXIS2_CALL
oxs_token_build_reference_list_element(const axis2_env_t *env,
- axiom_node_t *parent
- )
+ axiom_node_t *parent )
{
axiom_node_t *reference_list_node = NULL;
axiom_element_t *reference_list_ele = NULL;
@@ -46,6 +45,33 @@
return reference_list_node;
}
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+oxs_token_build_data_reference_list(const axis2_env_t *env, axiom_node_t *parent, axis2_array_list_t *id_list)
+{
+ axiom_node_t *ref_list_node = NULL;
+ int i=0;
+
+ if(!id_list){
+ return AXIS2_SUCCESS;
+ }
+ /*Build the ReferenceList element*/
+ ref_list_node = oxs_token_build_reference_list_element(env, parent);
+ if(!ref_list_node) {return AXIS2_FAILURE;}
+
+ /*Build the list*/
+ for(i=0 ; i < AXIS2_ARRAY_LIST_SIZE(id_list, env); i++){
+ axiom_node_t *data_ref_node = NULL;
+ axis2_char_t *id = NULL;
+
+ /*We need to prepend # to the id in the list to create the reference*/
+ id = AXIS2_STRACAT("#",(axis2_char_t*)AXIS2_ARRAY_LIST_GET(id_list, env, i), env);
+ data_ref_node = oxs_token_build_data_reference_element(env, ref_list_node, id);
+
+ if(!data_ref_node) {return AXIS2_FAILURE;}
+ }
+ return AXIS2_SUCCESS;
+}
+
AXIS2_EXTERN axis2_array_list_t *AXIS2_CALL
oxs_token_get_reference_list_data(const axis2_env_t *env, axiom_node_t *ref_list_node)
{
@@ -70,6 +96,7 @@
list = axis2_array_list_create(env, 0);
+ /*Insert UIDs of nodes to the list*/
while (AXIS2_TRUE == AXIOM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(iter, env))
{
axiom_node_t *dref_node = NULL;
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/utility.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/utility.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/utility.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/utility.c Sun Nov 19 21:38:36 2006
@@ -32,7 +32,7 @@
random = AXIS2_STRNDUP(axis2_uuid_gen(env),18, env);
sprintf(_id, "%s-%s",prefix,random);
- id = (axis2_char_t*)strdup(_id);
+ id = (axis2_char_t*)AXIS2_STRDUP(_id, env);
return id;
}
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_encryption.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_encryption.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_encryption.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_encryption.c Sun Nov 19 21:38:36 2006
@@ -188,7 +188,8 @@
oxs_xml_enc_encrypt_key(const axis2_env_t *env,
oxs_asym_ctx_t * asym_ctx,
axiom_node_t *parent,
- oxs_key_t *sym_key)
+ oxs_key_t *sym_key,
+ axis2_array_list_t *id_list)
{
axis2_char_t *algorithm = NULL;
axis2_char_t *encrypted_key_data = NULL;
@@ -219,11 +220,60 @@
algorithm = oxs_asym_ctx_get_algorithm(asym_ctx, env);
enc_mtd_node = oxs_token_build_encryption_method_element(env, encrypted_key_node, algorithm);
/*key_info_node = oxs_token_build_key_info_element(env, encrypted_key_node);*/
- /*TODO SecurityTokenReference*/
cd_node = oxs_token_build_cipher_data_element(env, encrypted_key_node);
cv_node = oxs_token_build_cipher_value_element(env, cd_node, encrypted_key_data);
+ /*TODO SecurityTokenReference*/
+ oxs_token_build_data_reference_list(env, encrypted_key_node, id_list);
return AXIS2_SUCCESS;
}
+/**
+* Inspect the key node. Then populate the sym_key
+*/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+oxs_xml_enc_decrypt_key(const axis2_env_t *env,
+ oxs_asym_ctx_t * asym_ctx,
+ axiom_node_t *encrypted_key_node,
+ oxs_key_t *key)
+{
+ axiom_node_t *enc_mtd_node = NULL;
+ axiom_node_t *cd_node = NULL;
+ axis2_char_t *enc_mtd_algo = NULL;
+ axis2_char_t *cipher_val = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
+ oxs_buffer_t *input_buf = NULL;
+ oxs_buffer_t *result_buf = NULL;
+
+ /*Get encryption method algorithm*/
+ enc_mtd_node = oxs_axiom_get_first_child_node_by_name(env, encrypted_key_node, OXS_NODE_ENCRYPTION_METHOD, NULL, NULL);
+ enc_mtd_algo = oxs_token_get_encryption_method(env, enc_mtd_node);
+
+ /*Get cipher data*/
+ cd_node = oxs_axiom_get_first_child_node_by_name(env, encrypted_key_node, OXS_NODE_CIPHER_DATA, NULL, NULL);
+ cipher_val = oxs_token_get_cipher_value_from_cipher_data(env, cd_node);
+
+ /*Get key used to encrypt*/
+ /*Right now we support KeyInfo -> SecurityTokenReference -> Reference
+ KeyInfo -> SecurityTokenReference -> X509IssuerSerial */
+
+ /*Get the pkey used to decrypt the session key. If found set it to the asym_ctx*/
+ /*TODO This can be achieved well thru a Keys Mgr*/
+ /*Create the input buffer*/
+ input_buf = oxs_buffer_create(env);
+ OXS_BUFFER_POPULATE(input_buf, env, (unsigned char*)cipher_val, AXIS2_STRLEN(cipher_val));
+ /*Create a results buffer*/
+ result_buf = oxs_buffer_create(env);
+ /*Call decryption*/
+ status = oxs_encryption_asymmetric_crypt(env, asym_ctx, input_buf, result_buf);
+
+ /*Populate the key with the data in the result buffer*/
+ OXS_KEY_POPULATE(key, env,
+ OXS_BUFFER_GET_DATA(result_buf, env),
+ "decrypted_session_key",
+ OXS_BUFFER_GET_SIZE(result_buf, env),
+ OXS_KEY_USAGE_DECRYPT );
+
+ return AXIS2_SUCCESS;
+}
Modified: webservices/axis2/trunk/c/rampart/src/util/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/util/Makefile.am?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/util/Makefile.am (original)
+++ webservices/axis2/trunk/c/rampart/src/util/Makefile.am Sun Nov 19 21:38:36 2006
@@ -4,7 +4,8 @@
librampart_util_la_SOURCES = rampart_action.c rampart_crypto_util.c \
rampart_util.c rampart_handler_util.c username_token.c timestamp_token.c \
- rampart_encryption.c
+ rampart_encryption.c rampart_sec_header_processor.c
+
librampart_util_la_LIBADD = -lssl \
-lcrypto \
Modified: webservices/axis2/trunk/c/rampart/src/util/rampart_encryption.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/util/rampart_encryption.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/util/rampart_encryption.c (original)
+++ webservices/axis2/trunk/c/rampart/src/util/rampart_encryption.c Sun Nov 19 21:38:36 2006
@@ -76,7 +76,7 @@
enc_sym_algo = RAMPART_ACTIONS_GET_ENC_SYM_ALGO(actions, env);
/*Generate the session key*/
- session_key = oxs_key_create_key(env);
+ session_key = oxs_key_create(env);
status = OXS_KEY_FOR_ALGO(session_key, env, enc_sym_algo);
/*Create a list to store EncDataIds. This will be used in building the ReferenceList*/
@@ -119,7 +119,7 @@
oxs_asym_ctx_set_file_name(asym_ctx, env, certificate_file);
oxs_asym_ctx_set_operation(asym_ctx, env, OXS_ASYM_CTX_OPERATION_PUB_ENCRYPT);
/*Encrypt the session key*/
- oxs_xml_enc_encrypt_key(env, asym_ctx, sec_node,session_key);
+ oxs_xml_enc_encrypt_key(env, asym_ctx, sec_node,session_key, id_list);
return AXIS2_SUCCESS;
Modified: webservices/axis2/trunk/c/rampart/test/omxmlsec/test.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/test/omxmlsec/test.c?view=diff&rev=477054&r1=477053&r2=477054
==============================================================================
--- webservices/axis2/trunk/c/rampart/test/omxmlsec/test.c (original)
+++ webservices/axis2/trunk/c/rampart/test/omxmlsec/test.c Sun Nov 19 21:38:36 2006
@@ -66,7 +66,7 @@
oxs_key_t *create_key(axis2_env_t *env)
{
oxs_key_t *key = NULL;
- key = oxs_key_create_key(env);
+ key = oxs_key_create(env);
OXS_KEY_POPULATE(key, env, (unsigned char*)"12345678123456781234567812345678", "session_key", 32, OXS_KEY_USAGE_DECRYPT);
return key;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org