Author: fadushin
Date: Thu May 1 07:08:41 2008
New Revision: 652527
URL: http://svn.apache.org/viewvc?rev=652527&view=rev
Log:
Preparation of release for RC3
* WSS-102 Allows AbstractCrypto extension to pass null properties
* WSS-116 Record QName of decrypted DOM element when decrypting
Modified:
webservices/wss4j/branches/1_5_4/build.xml
webservices/wss4j/branches/1_5_4/pom.xml
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/components/crypto/AbstractCrypto.java
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/processor/EncryptedKeyProcessor.java
webservices/wss4j/branches/1_5_4/test/components/TestMerlin.java
webservices/wss4j/branches/1_5_4/test/wssec/TestWSSecurityNew2.java
Modified: webservices/wss4j/branches/1_5_4/build.xml
URL:
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_4/build.xml?rev=652527&r1=652526&r2=652527&view=diff
==============================================================================
--- webservices/wss4j/branches/1_5_4/build.xml (original)
+++ webservices/wss4j/branches/1_5_4/build.xml Thu May 1 07:08:41 2008
@@ -27,7 +27,7 @@
<property name='product.version.major' value='1'/>
<property name='product.version.minor' value='5'/>
- <property name='product.version.level' value='4-RC2'/>
+ <property name='product.version.level' value='4-RC3'/>
<property name='product.version'
value='${product.version.major}.${product.version.minor}.${product.version.level}'/>
<property name="year" value="2008"/>
<property name="copyright" value="Copyright © ${year} Apache
WSS4J Project. All Rights Reserved."/>
Modified: webservices/wss4j/branches/1_5_4/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_4/pom.xml?rev=652527&r1=652526&r2=652527&view=diff
==============================================================================
--- webservices/wss4j/branches/1_5_4/pom.xml (original)
+++ webservices/wss4j/branches/1_5_4/pom.xml Thu May 1 07:08:41 2008
@@ -7,7 +7,7 @@
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<name>WSS4J</name>
- <version>1.5.4-RC2</version>
+ <version>1.5.4-RC3</version>
<description>
Apache WSS4J is an implementation of the Web Services Security
(WS-Security) being developed at
OASIS Web Services Security TC. WSS4J is a primarily a Java library that
can be used to sign and
Modified:
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/components/crypto/AbstractCrypto.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/components/crypto/AbstractCrypto.java?rev=652527&r1=652526&r2=652527&view=diff
==============================================================================
---
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/components/crypto/AbstractCrypto.java
(original)
+++
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/components/crypto/AbstractCrypto.java
Thu May 1 07:08:41 2008
@@ -58,6 +58,9 @@
*/
public AbstractCrypto(Properties properties, ClassLoader loader) throws
CredentialException, IOException {
this.properties = properties;
+ if (this.properties == null) {
+ return;
+ }
String location =
this.properties.getProperty("org.apache.ws.security.crypto.merlin.file");
Modified:
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/processor/EncryptedKeyProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/processor/EncryptedKeyProcessor.java?rev=652527&r1=652526&r2=652527&view=diff
==============================================================================
---
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/processor/EncryptedKeyProcessor.java
(original)
+++
webservices/wss4j/branches/1_5_4/src/org/apache/ws/security/processor/EncryptedKeyProcessor.java
Thu May 1 07:08:41 2008
@@ -339,7 +339,14 @@
if (tmpE.getLocalName().equals("DataReference")) {
dataRefURI = ((Element) tmpE).getAttribute("URI");
dataRef = new WSDataRef(dataRefURI.substring(1));
- decryptDataRef(doc, dataRefURI,dataRef, decryptedBytes);
+ Element elt =
+ decryptDataRef(doc, dataRefURI,dataRef,
decryptedBytes);
+ dataRef.setName(
+ new javax.xml.namespace.QName(
+ elt.getNamespaceURI(),
+ elt.getLocalName()
+ )
+ );
dataRefs.add(dataRef);
}
}
Modified: webservices/wss4j/branches/1_5_4/test/components/TestMerlin.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_4/test/components/TestMerlin.java?rev=652527&r1=652526&r2=652527&view=diff
==============================================================================
--- webservices/wss4j/branches/1_5_4/test/components/TestMerlin.java (original)
+++ webservices/wss4j/branches/1_5_4/test/components/TestMerlin.java Thu May 1
07:08:41 2008
@@ -3,8 +3,9 @@
import junit.framework.TestCase;
import junit.framework.Test;
import junit.framework.TestSuite;
-import org.apache.ws.security.components.crypto.CryptoFactory;
+import org.apache.ws.security.components.crypto.AbstractCrypto;
import org.apache.ws.security.components.crypto.Crypto;
+import org.apache.ws.security.components.crypto.CryptoFactory;
/**
* Created by IntelliJ IDEA.
@@ -38,4 +39,22 @@
Crypto crypto = CryptoFactory.getInstance();
assertTrue(crypto != null);
}
+
+ public void testAbstractCryptoWithNullProperties()
+ throws Exception {
+ Crypto crypto = new NullPropertiesCrypto();
+ assertTrue(crypto != null);
+ }
+
+ /**
+ * WSS-102 -- ensure AbstractCrypto will null properties
+ * can be instantiated
+ */
+ private static class NullPropertiesCrypto extends AbstractCrypto {
+
+ public NullPropertiesCrypto()
+ throws Exception {
+ super((java.util.Properties) null);
+ }
+ }
}
Modified: webservices/wss4j/branches/1_5_4/test/wssec/TestWSSecurityNew2.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_4/test/wssec/TestWSSecurityNew2.java?rev=652527&r1=652526&r2=652527&view=diff
==============================================================================
--- webservices/wss4j/branches/1_5_4/test/wssec/TestWSSecurityNew2.java
(original)
+++ webservices/wss4j/branches/1_5_4/test/wssec/TestWSSecurityNew2.java Thu May
1 07:08:41 2008
@@ -67,6 +67,11 @@
static final WSSecurityEngine secEngine = new WSSecurityEngine();
static final Crypto crypto =
CryptoFactory.getInstance("cryptoSKI.properties");
+ static final javax.xml.namespace.QName SOAP_BODY =
+ new javax.xml.namespace.QName(
+ WSConstants.URI_SOAP11_ENV,
+ "Body"
+ );
MessageContext msgContext;
Message message;
@@ -163,7 +168,7 @@
String encryptedString = encryptedMsg.getSOAPPartAsString();
assertTrue(encryptedString.indexOf("LogTestService2") == -1 ? true :
false);
encryptedDoc = encryptedMsg.getSOAPEnvelope().getAsDocument();
- verify(encryptedDoc);
+ verify(encryptedDoc, SOAP_BODY);
/*
* second run, same Junit set up, but change encryption method,
@@ -194,7 +199,13 @@
encryptedString = encryptedMsg.getSOAPPartAsString();
assertTrue(encryptedString.indexOf("LogTestService2") == -1 ? true :
false);
encryptedDoc = encryptedMsg.getSOAPEnvelope().getAsDocument();
- verify(encryptedDoc);
+ verify(
+ encryptedDoc,
+ new javax.xml.namespace.QName(
+ "uri:LogTestService2",
+ "testMethod"
+ )
+ );
}
/**
@@ -226,7 +237,7 @@
String encryptedString = encryptedMsg.getSOAPPartAsString();
assertTrue(encryptedString.indexOf("LogTestService2") == -1 ? true :
false);
encryptedDoc = encryptedMsg.getSOAPEnvelope().getAsDocument();
- verify(encryptedDoc);
+ verify(encryptedDoc, SOAP_BODY);
}
@@ -237,11 +248,19 @@
* @param envelope
* @throws Exception Thrown when there is a problem in verification
*/
- private void verify(Document doc) throws Exception {
+ private void verify(
+ Document doc,
+ javax.xml.namespace.QName expectedEncryptedElement
+ ) throws Exception {
final java.util.List results = secEngine.processSecurityHeader(doc,
null, this, crypto);
SOAPUtil.updateSOAPMessage(doc, message);
String decryptedString = message.getSOAPPartAsString();
assertTrue(decryptedString.indexOf("LogTestService2") > 0 ? true :
false);
+ //
+ // walk through the results, and make sure there is an encrytion [sic]
+ // action, together with a reference to the decrypted element
+ // (as a QName)
+ //
boolean encrypted = false;
for (java.util.Iterator ipos = results.iterator(); ipos.hasNext();) {
final java.util.Map result = (java.util.Map) ipos.next();
@@ -255,6 +274,11 @@
for (java.util.Iterator jpos = refs.iterator();
jpos.hasNext();) {
final WSDataRef ref = (WSDataRef) jpos.next();
assertNotNull(ref);
+ assertNotNull(ref.getName());
+ assertEquals(
+ expectedEncryptedElement,
+ ref.getName()
+ );
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]