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]