Author: kaushalye
Date: Fri Jun 15 02:03:46 2007
New Revision: 547587
URL: http://svn.apache.org/viewvc?view=rev&rev=547587
Log:
1. EncryptSignature support
2. WSSE:SecTokenRef decryption problem fixed
Modified:
webservices/rampart/trunk/c/include/oxs_constants.h
webservices/rampart/trunk/c/samples/client/Makefile.am
webservices/rampart/trunk/c/samples/secpolicy/scenario5/client-policy.xml
webservices/rampart/trunk/c/samples/secpolicy/scenario5/services.xml
webservices/rampart/trunk/c/src/omxmlsec/tokens/token_security_token_reference.c
webservices/rampart/trunk/c/src/omxmlsec/xml_encryption.c
webservices/rampart/trunk/c/src/util/rampart_signature.c
Modified: webservices/rampart/trunk/c/include/oxs_constants.h
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_constants.h?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_constants.h (original)
+++ webservices/rampart/trunk/c/include/oxs_constants.h Fri Jun 15 02:03:46 2007
@@ -36,7 +36,9 @@
#define OXS_XENC "xenc"
#define OXS_DS "ds"
#define OXS_WSSE "wsse"
-#define OXS_WSSE_XMLNS
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+#define OXS_WSSE_11 "wsse11"
+#define OXS_WSSE_XMLNS
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+#define OXS_WSSE_11_XMLNS
"http://docs.oasis-open.org/wss/2005/xx/oasis-2005xx-wss-wssecurity-secext-1.1.xsd"
#define OXS_WSU "wsu"
/****************************************************************
ID Prefixes
@@ -67,6 +69,7 @@
#define OXS_NODE_OBJECT "Object"
#define OXS_NODE_MANIFEST "Manifest"
#define OXS_NODE_SIGNATUREPROPERTIES "SignatureProperties"
+#define OXS_NODE_SIGNATURE_CONFIRMATION "SignatureConfirmation" /*SOAP 11*/
/****************************************************************
Encryption Nodes
Modified: webservices/rampart/trunk/c/samples/client/Makefile.am
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/samples/client/Makefile.am?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
--- webservices/rampart/trunk/c/samples/client/Makefile.am (original)
+++ webservices/rampart/trunk/c/samples/client/Makefile.am Fri Jun 15 02:03:46
2007
@@ -1,3 +1,3 @@
TESTS =
-SUBDIRS = sec_echo
+SUBDIRS = sec_echo
Modified:
webservices/rampart/trunk/c/samples/secpolicy/scenario5/client-policy.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/samples/secpolicy/scenario5/client-policy.xml?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
--- webservices/rampart/trunk/c/samples/secpolicy/scenario5/client-policy.xml
(original)
+++ webservices/rampart/trunk/c/samples/secpolicy/scenario5/client-policy.xml
Fri Jun 15 02:03:46 2007
@@ -32,6 +32,7 @@
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
+ <sp:EncryptSignature/>
<!--sp:EncryptBeforeSigning/-->
</wsp:Policy>
</sp:AsymmetricBinding>
Modified: webservices/rampart/trunk/c/samples/secpolicy/scenario5/services.xml
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/samples/secpolicy/scenario5/services.xml?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
--- webservices/rampart/trunk/c/samples/secpolicy/scenario5/services.xml
(original)
+++ webservices/rampart/trunk/c/samples/secpolicy/scenario5/services.xml Fri
Jun 15 02:03:46 2007
@@ -48,6 +48,7 @@
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
+ <sp:EncryptSignature/>
<!--sp:EncryptBeforeSigning/-->
</wsp:Policy>
</sp:AsymmetricBinding>
Modified:
webservices/rampart/trunk/c/src/omxmlsec/tokens/token_security_token_reference.c
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/tokens/token_security_token_reference.c?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
---
webservices/rampart/trunk/c/src/omxmlsec/tokens/token_security_token_reference.c
(original)
+++
webservices/rampart/trunk/c/src/omxmlsec/tokens/token_security_token_reference.c
Fri Jun 15 02:03:46 2007
@@ -32,10 +32,14 @@
axiom_element_t *security_token_reference_ele = NULL;
axiom_namespace_t *ns_obj = NULL;
- ns_obj = axiom_namespace_create(env, OXS_WSSE_NS,
+ ns_obj = axiom_namespace_create(env, OXS_WSSE_XMLNS,
OXS_WSSE);
- security_token_reference_ele = axiom_element_create(env, parent,
OXS_NODE_SECURITY_TOKEN_REFRENCE, ns_obj, &security_token_reference_node);
+ /* We especially pass parent=NULL in order to add WSSE namespace to the
SECURITY_TOKEN_REFRENCE node.
+ * Otherwise if we encrypt the signature , the dercyption fails to build
the node as the namespace is not within the doc*/
+ security_token_reference_ele = axiom_element_create(env, NULL,
OXS_NODE_SECURITY_TOKEN_REFRENCE, ns_obj, &security_token_reference_node);
+ axiom_node_add_child(parent, env, security_token_reference_node);
+
if (!security_token_reference_ele)
{
oxs_error(env, ERROR_LOCATION,
Modified: webservices/rampart/trunk/c/src/omxmlsec/xml_encryption.c
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/xml_encryption.c?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/xml_encryption.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/xml_encryption.c Fri Jun 15
02:03:46 2007
@@ -187,7 +187,7 @@
axiom_node_t *cur_node = NULL;
axis2_char_t *node_name = NULL;
- st_ref_node = oxs_axiom_get_first_child_node_by_name(env, key_info_node,
OXS_NODE_SECURITY_TOKEN_REFRENCE,OXS_WSSE_XMLNS,OXS_WSSE);
+ st_ref_node = oxs_axiom_get_first_child_node_by_name(env, key_info_node,
OXS_NODE_SECURITY_TOKEN_REFRENCE, OXS_WSSE_XMLNS, OXS_WSSE);
if(!st_ref_node){
return AXIS2_FAILURE;
}
Modified: webservices/rampart/trunk/c/src/util/rampart_signature.c
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_signature.c?view=diff&rev=547587&r1=547586&r2=547587
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Fri Jun 15
02:03:46 2007
@@ -101,9 +101,9 @@
axis2_status_t status1 = AXIS2_SUCCESS;
axis2_status_t status2 = AXIS2_SUCCESS;
- status1 =
rampart_context_get_nodes_to_sign(rampart_context,env,soap_envelope,nodes_to_sign);
+ status1 = rampart_context_get_nodes_to_sign(rampart_context, env,
soap_envelope, nodes_to_sign);
- status2 =
rampart_context_get_elements_to_sign(rampart_context,env,soap_envelope,nodes_to_sign);
+ status2 = rampart_context_get_elements_to_sign(rampart_context, env,
soap_envelope, nodes_to_sign);
if(status1 == AXIS2_SUCCESS || status2 == AXIS2_SUCCESS){
return AXIS2_SUCCESS;
@@ -260,17 +260,17 @@
oxs_transform_t *tr = NULL;
axutil_array_list_t *tr_list = NULL;
- node_to_sign = (axiom_node_t
*)axutil_array_list_get(nodes_to_sign,env,i);
+ node_to_sign = (axiom_node_t *)axutil_array_list_get(nodes_to_sign,
env, i);
if(node_to_sign)
{
sign_part = oxs_sign_part_create(env);
- tr_list = axutil_array_list_create(env,0);
+ tr_list = axutil_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);
axutil_array_list_add(tr_list, env, tr);
oxs_sign_part_set_transforms(sign_part, env, tr_list);
oxs_axiom_add_attribute(env, node_to_sign,
OXS_WSU,RAMPART_WSU_XMLNS,OXS_ATTR_ID,id);
- oxs_sign_part_set_node(sign_part, env,node_to_sign);
+ oxs_sign_part_set_node(sign_part, env, node_to_sign);
oxs_sign_part_set_digest_mtd(sign_part, env, digest_method);
axutil_array_list_add(sign_parts, env, sign_part);
}