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;
 }