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 &#169; ${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]

Reply via email to