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


Reply via email to