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