You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ru...@apache.org on 2006/10/08 10:47:20 UTC

svn commit: r454102 - in /webservices/wss4j/trunk/src/org/apache/ws/security: message/ processor/ util/

Author: ruchithf
Date: Sun Oct  8 01:47:19 2006
New Revision: 454102

URL: http://svn.apache.org/viewvc?view=rev&rev=454102
Log:
- Allow extracting the SignatureConfirmation element from WSSecSignatureConfirmation after prepare.
- Handler derived key sizes properly - allow setting the sizes externally


Modified:
    webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKEncrypt.java
    webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKSign.java
    webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java
    webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignatureConfirmation.java
    webservices/wss4j/trunk/src/org/apache/ws/security/processor/SignatureProcessor.java
    webservices/wss4j/trunk/src/org/apache/ws/security/util/WSSecurityUtil.java

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKEncrypt.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKEncrypt.java?view=diff&rev=454102&r1=454101&r2=454102
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKEncrypt.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKEncrypt.java Sun Oct  8 01:47:19 2006
@@ -237,7 +237,8 @@
      * @see org.apache.ws.security.message.WSSecDerivedKeyBase#getDerivedKeyLength()
      */
     protected int getDerivedKeyLength() throws WSSecurityException{
-        return WSSecurityUtil.getKeyLength(this.symEncAlgo);
+        return (this.derivedKeyLength > 0) ? this.derivedKeyLength : 
+            WSSecurityUtil.getKeyLength(this.symEncAlgo);
     }
     
 }

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKSign.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKSign.java?view=diff&rev=454102&r1=454101&r2=454102
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKSign.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDKSign.java Sun Oct  8 01:47:19 2006
@@ -80,6 +80,7 @@
     
     private WSDocInfo wsDocInfo;
 
+
     public Document build(Document doc, WSSecHeader secHeader)
             throws WSSecurityException, ConversationException {
         
@@ -432,13 +433,12 @@
 
     }
     
-    
-    
     /**
      * @see org.apache.ws.security.message.WSSecDerivedKeyBase#getDerivedKeyLength()
      */
     protected int getDerivedKeyLength() throws WSSecurityException {
-        return WSSecurityUtil.getKeyLength(this.sigAlgo);
+        return (this.derivedKeyLength > 0) ? this.derivedKeyLength : 
+            WSSecurityUtil.getKeyLength(this.sigAlgo);
     }
     
     

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java?view=diff&rev=454102&r1=454101&r2=454102
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecDerivedKeyBase.java Sun Oct  8 01:47:19 2006
@@ -100,6 +100,8 @@
     
     private int wscVersion = ConversationConstants.DEFAULT_VERSION;
     
+    protected int derivedKeyLength = -1;
+    
     /**
      * @param ephemeralKey The ephemeralKey to set.
      */
@@ -251,4 +253,7 @@
         return this.dkt.getElement();
     }
 
+    public void setDerivedKeyLength(int keyLength) {
+        this.derivedKeyLength = keyLength;
+    }
 }

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignatureConfirmation.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignatureConfirmation.java?view=diff&rev=454102&r1=454101&r2=454102
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignatureConfirmation.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignatureConfirmation.java Sun Oct  8 01:47:19 2006
@@ -22,6 +22,7 @@
 import org.apache.ws.security.message.token.SignatureConfirmation;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 /**
  * Builds a WS SignatureConfirmation and inserts it into the SOAP Envelope.
@@ -128,5 +129,16 @@
     		return null;
     	}
         return sc.getID();
+    }
+    
+    /**
+     * Get the SignatureConfirmation element generated during 
+     * <code>prepare()</code>.
+     * 
+     * @return Return the SignatureConfirmation element or null if <code>prepare()</code>
+     * was not called before.
+     */
+    public Element getSignatureConfirmationElement() {
+        return (this.sc != null) ? this.sc.getElement() : null;
     }
 }

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/processor/SignatureProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/processor/SignatureProcessor.java?view=diff&rev=454102&r1=454101&r2=454102
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/processor/SignatureProcessor.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/processor/SignatureProcessor.java Sun Oct  8 01:47:19 2006
@@ -201,7 +201,9 @@
                     DerivedKeyTokenProcessor dktProcessor = (DerivedKeyTokenProcessor) wsDocInfo
                             .getProcessor(id);
                     String signatureMethodURI = sig.getSignedInfo().getSignatureMethodURI();
-                    int keyLength = WSSecurityUtil.getKeyLength(signatureMethodURI);
+                    int keyLength = (dkt.getLength() > 0) ? dkt.getLength() : 
+                        WSSecurityUtil.getKeyLength(signatureMethodURI);
+                    
                     secretKey = dktProcessor.getKeyBytes(keyLength);
                 } else {
                     if (crypto == null) {

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/util/WSSecurityUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/util/WSSecurityUtil.java?view=diff&rev=454102&r1=454101&r2=454102
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/util/WSSecurityUtil.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/util/WSSecurityUtil.java Sun Oct  8 01:47:19 2006
@@ -18,10 +18,6 @@
 
 package org.apache.ws.security.util;
 
-import java.util.Set;
-import org.apache.ws.security.handler.WSHandlerResult;
-import java.util.Iterator;
-import java.security.cert.X509Certificate;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.security.SOAP11Constants;
@@ -31,11 +27,11 @@
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.handler.WSHandlerConstants;
+import org.apache.ws.security.handler.WSHandlerResult;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.X509Security;
 import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.signature.XMLSignature;
-import org.apache.ws.security.util.Base64;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -49,9 +45,12 @@
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 import javax.xml.namespace.QName;
+
 import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
 import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
+import java.util.Iterator;
+import java.util.Set;
 import java.util.Vector;
 
 /**



---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org