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 ma...@apache.org on 2007/03/21 04:58:19 UTC

svn commit: r520738 - in /webservices/axis2/trunk/c/rampart/src: omxmlsec/openssl/x509.c util/rampart_signature.c

Author: manjula
Date: Tue Mar 20 20:58:18 2007
New Revision: 520738

URL: http://svn.apache.org/viewvc?view=rev&rev=520738
Log:
Adding Timestamp and username token to be signed.

Modified:
    webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/x509.c
    webservices/axis2/trunk/c/rampart/src/util/rampart_signature.c

Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/x509.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/x509.c?view=diff&rev=520738&r1=520737&r2=520738
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/x509.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/x509.c Tue Mar 20 20:58:18 2007
@@ -38,20 +38,36 @@
     unsigned char *buff = NULL;
     BIO *mem = NULL;
     int ilen = 0;
+    axis2_char_t *formatted_buf = NULL;
+    axis2_char_t *buf_to_format = NULL;
+    int decode_len = 0;
+    int decoded_len = -1;
 
+    /*We should remove new lines here.*/
+    buf_to_format = (axis2_char_t*)axis2_strdup(b64_encoded_buf,env);
+    if(buf_to_format)
+    {
+        formatted_buf = oxs_util_get_newline_removed_string(env,buf_to_format);
+        AXIS2_FREE(env->allocator,buf_to_format);
+        buf_to_format = NULL;
+    }
+    else
+    {
+        oxs_error(env, ERROR_LOCATION, OXS_ERROR_DECRYPT_FAILED,
+                    "New line removed buffer creation failed.");
+            return AXIS2_FAILURE;
+    }
     /*First we need to base64 decode*/
 /*  EVP_ENCODE_CTX ctx;*/
 /*  int len = 0;*/
 /*  int ret = 0;*/
-    int decode_len = 0;
-    int decoded_len = -1;
 
-    decode_len = axis2_base64_decode_len(b64_encoded_buf);
+    decode_len = axis2_base64_decode_len(formatted_buf );
     buff = AXIS2_MALLOC(env->allocator, decode_len);
 
-    ilen = axis2_strlen(b64_encoded_buf);
+    ilen = axis2_strlen(formatted_buf);
 
-    decoded_len = axis2_base64_decode_binary(buff,b64_encoded_buf);
+    decoded_len = axis2_base64_decode_binary(buff,formatted_buf);
     if (decoded_len < 0)
     {
         oxs_error(env, ERROR_LOCATION, OXS_ERROR_DECRYPT_FAILED,

Modified: webservices/axis2/trunk/c/rampart/src/util/rampart_signature.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/util/rampart_signature.c?view=diff&rev=520738&r1=520737&r2=520738
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/util/rampart_signature.c (original)
+++ webservices/axis2/trunk/c/rampart/src/util/rampart_signature.c Tue Mar 20 20:58:18 2007
@@ -103,7 +103,7 @@
     axis2_char_t *digest_method = NULL;
     oxs_sign_ctx_t *sign_ctx = NULL;
     axis2_array_list_t *sign_parts = NULL;
-    axis2_array_list_t *tr_list = NULL;
+    /*axis2_array_list_t *tr_list = NULL;*/
     axis2_char_t *prv_key_file = NULL;
     axis2_char_t *password = NULL;
     axis2_bool_t server_side = AXIS2_FALSE;
@@ -137,7 +137,7 @@
     }
     /*If Timestamp and usernametoken are in the message we should sign them.*/
 
-/*  if(rampart_context_get_require_timestamp(rampart_context,env))
+    if(rampart_context_get_require_timestamp(rampart_context,env))
     {
         axiom_node_t *ts_node = NULL;
         ts_node = oxs_axiom_get_node_by_local_name(env,sec_node,RAMPART_SECURITY_TIMESTAMP);
@@ -159,7 +159,7 @@
         }            
         axis2_array_list_add(nodes_to_sign,env,ut_node);    
     }        
-*/    /*Now we have to check whether a token is specified.*/
+    /*Now we have to check whether a token is specified.*/
     token = rampart_context_get_token(rampart_context,env,AXIS2_FALSE,server_side);
     if(!token)
     {
@@ -222,7 +222,7 @@
     digest_method = rampart_context_get_digest_mtd(rampart_context,env);
     
     sign_parts = axis2_array_list_create(env,0);   
-    tr_list = axis2_array_list_create(env,0);
+    /*tr_list = axis2_array_list_create(env,0);*/
 
     /*Now we should create sign part for each node in the arraylist.*/
     
@@ -232,11 +232,13 @@
         axis2_char_t *id = NULL;
         oxs_sign_part_t *sign_part = NULL;                
         oxs_transform_t *tr = NULL;
+        axis2_array_list_t *tr_list = NULL;
 
         node_to_sign = (axiom_node_t *)axis2_array_list_get(nodes_to_sign,env,i);
         if(node_to_sign)
         {
             sign_part = oxs_sign_part_create(env);
+            tr_list = axis2_array_list_create(env,0);
             id = oxs_util_generate_id(env,(axis2_char_t*)OXS_SIG_ID);
             tr = oxs_transforms_factory_produce_transform(env, OXS_HREF_TRANSFORM_XML_EXC_C14N);
             axis2_array_list_add(tr_list, env, tr);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org