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 2007/02/16 08:34:07 UTC
svn commit: r508332 - in /webservices/axis2/trunk/c/rampart:
include/oxs_c14n.h src/omxmlsec/Makefile.am src/omxmlsec/c14n/Makefile.am
src/omxmlsec/openssl/sign.c src/omxmlsec/signature.c
src/omxmlsec/xml_signature.c test/Makefile.am test/c14n/Makefile.am
Author: kaushalye
Date: Thu Feb 15 23:34:06 2007
New Revision: 508332
URL: http://svn.apache.org/viewvc?view=rev&rev=508332
Log:
C14N in OMXMLSecurity
Modified:
webservices/axis2/trunk/c/rampart/include/oxs_c14n.h
webservices/axis2/trunk/c/rampart/src/omxmlsec/Makefile.am
webservices/axis2/trunk/c/rampart/src/omxmlsec/c14n/Makefile.am
webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/sign.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/signature.c
webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_signature.c
webservices/axis2/trunk/c/rampart/test/Makefile.am
webservices/axis2/trunk/c/rampart/test/c14n/Makefile.am
Modified: webservices/axis2/trunk/c/rampart/include/oxs_c14n.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/include/oxs_c14n.h?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/include/oxs_c14n.h (original)
+++ webservices/axis2/trunk/c/rampart/include/oxs_c14n.h Thu Feb 15 23:34:06 2007
@@ -14,17 +14,17 @@
* limitations under the License.
*/
-#ifndef AXIS2_C14N_H
-#define AXIS2_C14N_H
+#ifndef OXS_C14N_H
+#define OXS_C14N_H
-/** @defgroup axis2c_c14n c14n
- * @ingroup axis2_c14n
+/** @defgroup oxs_c14n c14n
+ * @ingroup oxs_c14n
* XML Canonicalization (XML-C14N).
* @{
*/
/**
- * @file axis2_c14n.h
+ * @file oxs_c14n.h
* @brief
*/
@@ -68,4 +68,4 @@
#ifdef __cplusplus
}
#endif
-#endif /* AXIS2_C14N_H */
+#endif /* OXS_C14N_H */
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/Makefile.am?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/Makefile.am (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/Makefile.am Thu Feb 15 23:34:06 2007
@@ -10,6 +10,7 @@
libomxmlsec_la_LIBADD = -lssl\
../../../util/src/libaxis2_util.la \
../../../axiom/src/om/libaxis2_axiom.la \
+ c14n/liboxsc14n.la \
-lcrypto
INCLUDES = -I$(top_builddir)/include \
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/c14n/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/c14n/Makefile.am?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/c14n/Makefile.am (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/c14n/Makefile.am Thu Feb 15 23:34:06 2007
@@ -1,11 +1,11 @@
-noinst_LTLIBRARIES=libaxis2_c14n.la
+lib_LTLIBRARIES = liboxsc14n.la
-noinst_HEADERS=c14n_sorted_list.h
+noinst_HEADERS = c14n_sorted_list.h
-libaxis2_c14n_la_SOURCES=c14n.c \
+liboxsc14n_la_SOURCES = c14n.c \
sorted_list.c
-libaxis2_c14n_la_LIBADD=../../../../util/src/libaxis2_util.la \
+liboxsc14n_la_LIBADD = ../../../../util/src/libaxis2_util.la \
../../../../axiom/src/om/libaxis2_axiom.la
../../../../axiom/src/parser/libxml2/libaxis2_parser.la
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/sign.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/sign.c?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/sign.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/openssl/sign.c Thu Feb 15 23:34:06 2007
@@ -64,7 +64,6 @@
ERR_print_errors_fp (stderr);
}
/*Fill the output buffer*/
- output_buf = oxs_buffer_create(env);
OXS_BUFFER_POPULATE(output_buf, env, sig_buf, sig_len);
return sig_len;
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/signature.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/signature.c?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/signature.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/signature.c Thu Feb 15 23:34:06 2007
@@ -33,32 +33,16 @@
oxs_buffer_t *input,
oxs_buffer_t *output)
{
- axis2_char_t *to_be_signed_content = NULL;
axis2_char_t *encoded_str = NULL;
axis2_status_t status = AXIS2_FAILURE;
- oxs_buffer_t *digested_buf = NULL;
oxs_buffer_t *signed_result_buf = NULL;
- openssl_pkey_t *prv_key = NULL;
- openssl_rsa_t *rsa = NULL;
int signedlen = -1, encodedlen = -1, ret = -1;
- /*Make sha-1 digest. Do we really need to do this OR is it part of OpenSSL operation????*/
- to_be_signed_content = openssl_sha1(env, (axis2_char_t*)OXS_BUFFER_GET_DATA(input, env), OXS_BUFFER_GET_SIZE(input, env));
-
- /*Create and populate the new input buffer*/
- digested_buf = oxs_buffer_create(env);
- OXS_BUFFER_POPULATE(digested_buf, env, (unsigned char*)to_be_signed_content, axis2_strlen(to_be_signed_content));
-
-
- /*Get the key*/
- prv_key = oxs_sign_ctx_get_private_key(sign_ctx, env);
-
/*Create output buffer to store signed data*/
signed_result_buf = oxs_buffer_create(env);
/*Sign */
- rsa = openssl_rsa_create(env);
- signedlen = OPENSSL_RSA_PRV_ENCRYPT(rsa, env, prv_key, OPENSSL_RSA_PKCS1_PADDING, digested_buf, signed_result_buf);
+ signedlen = openssl_sign(env, sign_ctx, input, signed_result_buf);
if(signedlen < 0){
/*Error*/
}
@@ -69,10 +53,8 @@
ret = axis2_base64_encode(encoded_str, (const char *)OXS_BUFFER_GET_DATA(signed_result_buf, env), signedlen);
status = OXS_BUFFER_POPULATE(output, env, (unsigned char*)AXIS2_STRDUP(encoded_str, env), encodedlen);
- /*Free digested_buf*/
/*Free signed_result_buf*/
- /*Free rsa*/
-
+
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_signature.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_signature.c?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_signature.c (original)
+++ webservices/axis2/trunk/c/rampart/src/omxmlsec/xml_signature.c Thu Feb 15 23:34:06 2007
@@ -21,6 +21,7 @@
#include <oxs_error.h>
#include <oxs_buffer.h>
#include <oxs_cipher.h>
+#include <oxs_c14n.h>
#include <openssl_rsa.h>
#include <openssl_digest.h>
#include <oxs_sign_ctx.h>
@@ -101,16 +102,20 @@
axis2_char_t *signature_val = "FAKE_SIG_VAL(734dwe93721fd8y2==";
axis2_char_t *serialized_signed_info = NULL;
axis2_char_t *c14n_algo = NULL;
+ axis2_char_t *c14nized = NULL;
axiom_node_t *signature_val_node = NULL;
+ axiom_document_t *doc = NULL;
oxs_buffer_t *input_buf = NULL;
oxs_buffer_t *output_buf = NULL;
axis2_status_t status = AXIS2_FAILURE;
/*TODO : Cannonicalize <SignedInfo>*/
c14n_algo = oxs_sign_ctx_get_c14n_mtd(sign_ctx, env);
-
+ doc = axiom_node_get_document(signed_info_node, env);
+ oxs_c14n_apply(env, doc, AXIS2_FALSE, &c14nized, AXIS2_TRUE, NULL, signed_info_node);
+
/*Then serialize <SignedInfo>*/
- serialized_signed_info = AXIOM_NODE_TO_STRING(signed_info_node, env);
+ serialized_signed_info = c14nized; /*AXIOM_NODE_TO_STRING(signed_info_node, env);*/
printf("serialized_signed_info %s\n",serialized_signed_info);
/*Make the input and out put buffers*/
@@ -121,8 +126,7 @@
/*Then sign... NOTE: The signature process includes making the digest. e.g. rsa-sha1 => RSA(SHA-1(contents))*/
status = oxs_sig_sign(env, sign_ctx, input_buf, output_buf);
- /*Sign the data using the private key*/
- signature_val = "MC0CFFrVLtRlk=";
+ signature_val = (axis2_char_t*)OXS_BUFFER_GET_DATA(output_buf, env);
/*Construct <SignatureValue>*/
signature_val_node = oxs_token_build_signature_value_element(env, signature_node, signature_val);
Modified: webservices/axis2/trunk/c/rampart/test/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/test/Makefile.am?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/test/Makefile.am (original)
+++ webservices/axis2/trunk/c/rampart/test/Makefile.am Thu Feb 15 23:34:06 2007
@@ -1,2 +1,2 @@
-SUBDIRS = openssl c14n omxmlsec
+SUBDIRS = openssl omxmlsec
Modified: webservices/axis2/trunk/c/rampart/test/c14n/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/rampart/test/c14n/Makefile.am?view=diff&rev=508332&r1=508331&r2=508332
==============================================================================
--- webservices/axis2/trunk/c/rampart/test/c14n/Makefile.am (original)
+++ webservices/axis2/trunk/c/rampart/test/c14n/Makefile.am Thu Feb 15 23:34:06 2007
@@ -13,4 +13,4 @@
test_c14n_LDADD = ../../../util/src/libaxis2_util.la \
../../../axiom/src/om/libaxis2_axiom.la \
../../../axiom/src/parser/libxml2/libaxis2_libxml2.la \
- ../../../rampart/src/omxmlsec/c14n/libaxis2_c14n.la
+ ../../../rampart/src/omxmlsec/c14n/liboxsc14n.la
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org