You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2013/04/17 15:20:17 UTC

svn commit: r1468902 - in /webservices/wss4j/trunk: ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/ ws-security-dom/src/main/java/org/apache/wss4j/dom/message/ ws-security-dom/src/test/java/org/apache/wss4j/dom/message/

Author: coheigea
Date: Wed Apr 17 13:20:16 2013
New Revision: 1468902

URL: http://svn.apache.org/r1468902
Log:
[WSS-434] - Add ValueType attribute to a Signature/Encryption Reference to a DerivedKeyToken


Conflicts:
	ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKEncrypt.java
	ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKSign.java

Modified:
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/ConversationConstants.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKEncrypt.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKSign.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/DerivedKeyTest.java

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/ConversationConstants.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/ConversationConstants.java?rev=1468902&r1=1468901&r2=1468902&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/ConversationConstants.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/derivedKey/ConversationConstants.java Wed Apr 17 13:20:16 2013
@@ -175,23 +175,19 @@ public final class ConversationConstants
             "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk/p_sha1";
     }
     
-    public static String getWSCNs(int version) throws ConversationException {
+    public static String getWSCNs(int version) {
         if (VERSION_05_02 == version) {
             return WSC_NS_05_02;
-        } else if (VERSION_05_12 == version) {
-            return WSC_NS_05_12;
         } else {
-            throw new ConversationException("unsupportedSecConvVersion");
+            return WSC_NS_05_12;
         }
     }
     
-    public static int getWSTVersion(String ns) throws ConversationException {
+    public static int getWSTVersion(String ns) {
         if (WSC_NS_05_02.equals(ns)) {
             return VERSION_05_02;
-        } else if (WSC_NS_05_12.equals(ns)) {
-            return VERSION_05_12;
         } else {
-            throw new ConversationException("unsupportedSecConvVersion");
+            return VERSION_05_12;
         }
     }
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKEncrypt.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKEncrypt.java?rev=1468902&r1=1468901&r2=1468902&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKEncrypt.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKEncrypt.java Wed Apr 17 13:20:16 2013
@@ -23,10 +23,12 @@ import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSEncryptionPart;
 import org.apache.wss4j.dom.WSSConfig;
 import org.apache.wss4j.common.ext.WSSecurityException;
+import org.apache.wss4j.common.derivedKey.ConversationConstants;
 import org.apache.wss4j.common.derivedKey.ConversationException;
 import org.apache.wss4j.dom.message.token.Reference;
 import org.apache.wss4j.dom.message.token.SecurityTokenReference;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
+
 import org.apache.xml.security.keys.KeyInfo;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -108,6 +110,7 @@ public class WSSecDKEncrypt extends WSSe
         throws WSSecurityException {
         
         KeyInfo keyInfo = createKeyInfo();
+
         SecretKey key = WSSecurityUtil.prepareSecretKey(symEncAlgo, derivedKeyBytes);
 
         List<String> encDataRefs = 
@@ -125,6 +128,7 @@ public class WSSecDKEncrypt extends WSSe
     
     /**
      * Create a KeyInfo object
+     * @throws ConversationException 
      */
     private KeyInfo createKeyInfo() throws WSSecurityException {
         KeyInfo keyInfo = new KeyInfo(document);
@@ -132,6 +136,10 @@ public class WSSecDKEncrypt extends WSSe
         secToken.addWSSENamespace();
         Reference ref = new Reference(document);
         ref.setURI("#" + dktId);
+        String ns = 
+            ConversationConstants.getWSCNs(getWscVersion()) 
+                + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN;
+        ref.setValueType(ns);
         secToken.setReference(ref);
 
         keyInfo.addUnknownElement(secToken.getElement());

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKSign.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKSign.java?rev=1468902&r1=1468901&r2=1468902&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKSign.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDKSign.java Wed Apr 17 13:20:16 2013
@@ -24,6 +24,7 @@ import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.WSEncryptionPart;
 import org.apache.wss4j.dom.WSSConfig;
 import org.apache.wss4j.common.ext.WSSecurityException;
+import org.apache.wss4j.common.derivedKey.ConversationConstants;
 import org.apache.wss4j.common.derivedKey.ConversationException;
 import org.apache.wss4j.dom.message.token.Reference;
 import org.apache.wss4j.dom.message.token.SecurityTokenReference;
@@ -165,9 +166,13 @@ public class WSSecDKSign extends WSSecDe
         strUri = getWsConfig().getIdAllocator().createSecureId("STR-", secRef);
         secRef.setID(strUri);
         
-        Reference refUt = new Reference(document);
-        refUt.setURI("#" + dktId);
-        secRef.setReference(refUt);
+        Reference ref = new Reference(document);
+        ref.setURI("#" + dktId);
+        String ns = 
+            ConversationConstants.getWSCNs(getWscVersion()) 
+            + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN;
+        ref.setValueType(ns);
+        secRef.setReference(ref);
         
         XMLStructure structure = new DOMStructure(secRef.getElement());
         wsDocInfo.addTokenElement(secRef.getElement(), false);

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java?rev=1468902&r1=1468901&r2=1468902&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java Wed Apr 17 13:20:16 2013
@@ -301,6 +301,10 @@ public abstract class WSSecDerivedKeyBas
         this.wscVersion = wscVersion;
     }
     
+    public int getWscVersion() {
+        return wscVersion;
+    }
+    
     public Element getdktElement() {
         return dkt.getElement();
     }

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/DerivedKeyTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/DerivedKeyTest.java?rev=1468902&r1=1468901&r2=1468902&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/DerivedKeyTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/DerivedKeyTest.java Wed Apr 17 13:20:16 2013
@@ -155,7 +155,7 @@ public class DerivedKeyTest extends org.
         encrKeyBuilder.prependBSTElementToHeader(secHeader);
 
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Encrypted message: 3DES  + DerivedKeys");
+            LOG.debug("Signed message: 3DES  + DerivedKeys");
             String outputString = 
                 XMLUtils.PrettyDocumentToString(doc);
             LOG.debug(outputString);