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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to