You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ka...@apache.org on 2007/10/12 06:34:19 UTC
svn commit: r584043 - in /webservices/rampart/trunk/c: include/oxs_buffer.h
src/omxmlsec/buffer.c src/util/rampart_encryption.c
Author: kaushalye
Date: Thu Oct 11 21:34:15 2007
New Revision: 584043
URL: http://svn.apache.org/viewvc?rev=584043&view=rev
Log:
Expose more functions in OMXMLSecurity DLL
Modified:
webservices/rampart/trunk/c/include/oxs_buffer.h
webservices/rampart/trunk/c/src/omxmlsec/buffer.c
webservices/rampart/trunk/c/src/util/rampart_encryption.c
Modified: webservices/rampart/trunk/c/include/oxs_buffer.h
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_buffer.h?rev=584043&r1=584042&r2=584043&view=diff
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_buffer.h (original)
+++ webservices/rampart/trunk/c/include/oxs_buffer.h Thu Oct 11 21:34:15 2007
@@ -64,7 +64,7 @@
*@param env pointer to environment struct
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_free(
oxs_buffer_t *buffer,
const axutil_env_t *env
@@ -76,7 +76,7 @@
*@param size number of characters to be removed
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_remove_head(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -89,7 +89,7 @@
*@param size number of characters to be removed
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_remove_tail(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -103,7 +103,7 @@
*@size the effective length of data
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_populate(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -118,7 +118,7 @@
*@size the effective length of data
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_append(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -133,7 +133,7 @@
*@size the effective length of data
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_prepend(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -147,7 +147,7 @@
*@filename The name of the file
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_read_file(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -160,7 +160,7 @@
*@size the value of the size
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_set_size(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -173,7 +173,7 @@
*@size the maximum size of the buffer
*@return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- axis2_status_t AXIS2_CALL
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_set_max_size(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -185,7 +185,7 @@
*@env pointer to environment struct
*@return data in the buffer
*/
- unsigned char* AXIS2_CALL
+ AXIS2_EXTERN unsigned char* AXIS2_CALL
oxs_buffer_get_data(
oxs_buffer_t *buffer,
const axutil_env_t *env
@@ -196,7 +196,7 @@
*@env pointer to environment struct
*@return the effective length of the buffer as int
*/
- int AXIS2_CALL
+ AXIS2_EXTERN int AXIS2_CALL
oxs_buffer_get_size(
oxs_buffer_t *buffer,
const axutil_env_t *env
@@ -207,13 +207,13 @@
*@env pointer to environment struct
*@return the maximum size of the buffer
*/
- int AXIS2_CALL
+ AXIS2_EXTERN int AXIS2_CALL
oxs_buffer_get_max_size(
oxs_buffer_t *buffer,
const axutil_env_t *env
);
- oxs_buffer_t *AXIS2_CALL
+ AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
oxs_buffer_dup(oxs_buffer_t *buffer, const axutil_env_t *env);
AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
Modified: webservices/rampart/trunk/c/src/omxmlsec/buffer.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/buffer.c?rev=584043&r1=584042&r2=584043&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/buffer.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/buffer.c Thu Oct 11 21:34:15 2007
@@ -68,7 +68,7 @@
}
-oxs_buffer_t *AXIS2_CALL
+AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
oxs_buffer_dup(oxs_buffer_t *buffer, const axutil_env_t *env)
{
oxs_buffer_t *buf = NULL;
@@ -80,7 +80,7 @@
return buf;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_free(
oxs_buffer_t *buffer,
const axutil_env_t *env
@@ -100,7 +100,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_remove_head(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -141,7 +141,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_remove_tail(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -173,7 +173,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_populate(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -200,7 +200,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_append(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -227,7 +227,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_prepend(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -256,7 +256,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_read_file(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -307,7 +307,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_set_size(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -332,7 +332,7 @@
return AXIS2_SUCCESS;
}
-axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
oxs_buffer_set_max_size(
oxs_buffer_t *buffer,
const axutil_env_t *env,
@@ -410,7 +410,7 @@
return AXIS2_SUCCESS;
}
-unsigned char* AXIS2_CALL
+AXIS2_EXTERN unsigned char* AXIS2_CALL
oxs_buffer_get_data(
oxs_buffer_t *buffer,
const axutil_env_t *env
@@ -421,7 +421,7 @@
return buffer->data;
}
-int AXIS2_CALL
+AXIS2_EXTERN int AXIS2_CALL
oxs_buffer_get_size(
oxs_buffer_t *buffer,
const axutil_env_t *env
@@ -432,7 +432,7 @@
return buffer->size;
}
-int AXIS2_CALL
+AXIS2_EXTERN int AXIS2_CALL
oxs_buffer_get_max_size(
oxs_buffer_t *buffer,
const axutil_env_t *env
Modified: webservices/rampart/trunk/c/src/util/rampart_encryption.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_encryption.c?rev=584043&r1=584042&r2=584043&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_encryption.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_encryption.c Thu Oct 11 21:34:15 2007
@@ -73,8 +73,10 @@
oxs_key_t *session_key = NULL;
axutil_array_list_t *nodes_to_encrypt = NULL;
axutil_array_list_t *id_list = NULL;
+ axutil_array_list_t *dk_list = NULL;
axis2_char_t *enc_sym_algo = NULL;
int i = 0;
+ int j = 0;
/*Get nodes to be encrypted*/
nodes_to_encrypt = axutil_array_list_create(env, 0);
@@ -112,6 +114,7 @@
}
id_list = axutil_array_list_create(env, 5);
+ dk_list = axutil_array_list_create(env, 5);
/* For each and every encryption part.
1. Derive a new key
2. Encrypt using that key
@@ -169,9 +172,22 @@
oxs_ctx_free(enc_ctx, env);
enc_ctx = NULL;
- /*Free derived key*/
- oxs_key_free(derived_key, env);
- }/*End of for loop. Interating nodes_to_encrypt list*/
+ }/*End of for loop. Iterating nodes_to_encrypt list*/
+
+ /*Free node list*/
+ axutil_array_list_free(nodes_to_encrypt, env);
+ nodes_to_encrypt = NULL;
+
+ /*TODO Encrypt the session key using the Public Key of the recipient*/
+
+ /*Add used <wsc:DerivedKeyToken> elements to the header*/
+ for(j=0 ; j < axutil_array_list_size(dk_list, env); j++){
+ oxs_key_t *dk = NULL;
+
+ dk = (oxs_key_t *)axutil_array_list_get(dk_list, env, j);
+ /*TODO build the <wsc:DerivedKeyToken> element*/
+
+ }/*End of For loop of dk_list iteration*/
return status;
}