You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by na...@apache.org on 2009/08/28 23:25:34 UTC

svn commit: r809034 - in /webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder: BindingBuilder.java SymmetricBindingBuilder.java

Author: nandana
Date: Fri Aug 28 21:25:30 2009
New Revision: 809034

URL: http://svn.apache.org/viewvc?rev=809034&view=rev
Log:
RAMPART-250 Applying the patch. Thanks Prabath

Modified:
    webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
    webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java

Modified: webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?rev=809034&r1=809033&r2=809034&view=diff
==============================================================================
--- webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java (original)
+++ webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java Fri Aug 28 21:25:30 2009
@@ -634,26 +634,27 @@
                 
                 // If a EncryptedKeyToken is used, set the correct value type to
                 // be used in the wsse:Reference in ds:KeyInfo
-                if(policyToken instanceof X509Token) {
-                	if (rmd.isInitiator()) {
-	                    sig.setCustomTokenValueType(WSConstants.WSS_SAML_NS
-	                                          + WSConstants.ENC_KEY_VALUE_TYPE);
-	                    sig.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
-                	} else {
-                	    //the tok has to be an EncryptedKey token
-                	    sig.setEncrKeySha1value(((EncryptedKeyToken)tok).getSHA1());
-                		sig.setKeyIdentifierType(WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER);
-                	}
-                    
-                } else {
-				    sig.setCustomTokenValueType(WSConstants.WSS_SAML_NS
-                                          + WSConstants.SAML_ASSERTION_ID);
-	                sig.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
+                if (policyToken instanceof X509Token) {
+                    if (rmd.isInitiator()) {
+                        sig.setCustomTokenValueType(WSConstants.SOAPMESSAGE_NS11 + "#"
+                                + WSConstants.ENC_KEY_VALUE_TYPE);
+                        sig.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
+                    } else {
+                        // the tok has to be an EncryptedKey token
+                        sig.setEncrKeySha1value(((EncryptedKeyToken) tok).getSHA1());
+                        sig.setKeyIdentifierType(WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER);
+                    }
+
+                } else if (policyToken instanceof IssuedToken) {
+                    sig.setCustomTokenValueType(WSConstants.WSS_SAML_NS
+                            + WSConstants.SAML_ASSERTION_ID);
+                    sig.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
                 }
                 
                 String sigTokId; 
                 
                 if ( policyToken instanceof SecureConversationToken) {
+                    sig.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
                     OMElement ref = tok.getAttachedReference();
                     if(ref == null) {
                         ref = tok.getUnattachedReference();

Modified: webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java?rev=809034&r1=809033&r2=809034&view=diff
==============================================================================
--- webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java (original)
+++ webservices/rampart/branches/java/1_5/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java Fri Aug 28 21:25:30 2009
@@ -444,8 +444,9 @@
             sigTokElem = RampartUtil.appendChildToSecHeader(rmd, 
                                                             sigTok.getToken());
             this.setInsertionLocation(sigTokElem);
-        } else if ( rmd.isInitiator() && sigToken instanceof X509Token) {
-        	sigTokElem = RampartUtil.appendChildToSecHeader(rmd, sigTok.getToken());
+        } else if ((rmd.isInitiator() && sigToken instanceof X509Token)
+                || sigToken instanceof SecureConversationToken) {
+            sigTokElem = RampartUtil.appendChildToSecHeader(rmd, sigTok.getToken());
             
             //Set the insertion location
             this.setInsertionLocation(sigTokElem);