You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2015/07/10 13:03:37 UTC

svn commit: r1690243 - in /santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test: KeySelectors.java dsig/Baltimore18Test.java dsig/Baltimore23Test.java dsig/LocalHttpCacheURIDereferencer.java

Author: coheigea
Date: Fri Jul 10 11:03:36 2015
New Revision: 1690243

URL: http://svn.apache.org/r1690243
Log:
Fix some failing tests with BouncyCastle

Modified:
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/KeySelectors.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/KeySelectors.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/KeySelectors.java?rev=1690243&r1=1690242&r2=1690243&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/KeySelectors.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/KeySelectors.java Fri Jul 10 11:03:36 2015
@@ -25,6 +25,7 @@ import java.io.*;
 import java.security.*;
 import java.security.cert.*;
 import java.util.*;
+
 import javax.xml.crypto.*;
 import javax.xml.crypto.dsig.keyinfo.*;
 import javax.crypto.SecretKey;
@@ -170,31 +171,38 @@ public class KeySelectors {
      * matching public key.
      */
     public static class CollectionKeySelector extends KeySelector {
-        private CertificateFactory certFac;
-        private File certDir;
-        private List<X509Certificate> certs;
+        private final CertificateFactory certFac;
+        private final File certDir;
+        private final List<X509Certificate> certs = new ArrayList<X509Certificate>();
         private static final int MATCH_SUBJECT = 0;
         private static final int MATCH_ISSUER = 1;
         private static final int MATCH_SERIAL = 2;
         private static final int MATCH_SUBJECT_KEY_ID = 3;
         private static final int MATCH_CERTIFICATE = 4;
         
-        public CollectionKeySelector(File dir) {
+        public CollectionKeySelector(File dir) throws CertificateException {
             certDir = dir;
-            try {
-                certFac = CertificateFactory.getInstance("X509");
-            } catch (CertificateException ex) {
-                // not going to happen
-            }
-            certs = new Vector<X509Certificate>();
+            certFac = CertificateFactory.getInstance("X509");
             File[] files = new File(certDir, "certs").listFiles();
             if (files != null) {
                 for (File file : files) {
+                    FileInputStream fis = null;
                     try {
-                        certs.add((X509Certificate)certFac.generateCertificate
-                                  (new FileInputStream(file)));
+                        fis = new FileInputStream(file);
+                        X509Certificate cert = (X509Certificate)certFac.generateCertificate(fis);
+                        if (cert != null) {
+                            certs.add(cert);
+                        }
                     } catch (Exception ex) {
                         // ignore non-cert files
+                    } finally {
+                        if (fis != null) {
+                            try {
+                                fis.close();
+                            } catch (IOException e) {
+                                // ignore
+                            }
+                        }
                     }
                 }
             }
@@ -203,7 +211,7 @@ public class KeySelectors {
         public List<X509Certificate> match(
             int matchType, Object value, List<X509Certificate> pool
         ) {
-            List<X509Certificate> matchResult = new Vector<X509Certificate>();
+            List<X509Certificate> matchResult = new ArrayList<X509Certificate>();
             
             for (X509Certificate c : pool) {
                 

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java?rev=1690243&r1=1690242&r2=1690243&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java Fri Jul 10 11:03:36 2015
@@ -23,9 +23,10 @@ package javax.xml.crypto.test.dsig;
 
 import java.io.File;
 import java.security.Security;
+import java.security.cert.CertificateException;
+
 import javax.xml.crypto.KeySelector;
 import javax.xml.crypto.URIDereferencer;
-
 import javax.xml.crypto.test.KeySelectors;
 
 /**
@@ -36,7 +37,6 @@ import javax.xml.crypto.test.KeySelector
  */
 public class Baltimore18Test extends org.junit.Assert {
 
-    private SignatureValidator validator;
     private File dir;
     private KeySelector cks;
     private URIDereferencer ud;
@@ -46,14 +46,13 @@ public class Baltimore18Test extends org
             (new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI(), 1);
     }
 
-    public Baltimore18Test() {
+    public Baltimore18Test() throws CertificateException {
         String base = System.getProperty("basedir") == null ? "./": System.getProperty("basedir");
         
         String fs = System.getProperty("file.separator");
         dir = new File(base + fs + "src/test/resources" + fs + "ie" +
             fs + "baltimore" + fs + "merlin-examples",
             "merlin-xmldsig-eighteen");
-        validator = new SignatureValidator(dir);
         cks = new KeySelectors.CollectionKeySelector(dir);
         ud = new LocalHttpCacheURIDereferencer();
     }
@@ -62,6 +61,7 @@ public class Baltimore18Test extends org
     public void testSignatureKeyname() throws Exception {
         String file = "signature-keyname.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -70,6 +70,7 @@ public class Baltimore18Test extends org
     public void testSignatureRetrievalmethodRawx509crt() throws Exception {
         String file = "signature-retrievalmethod-rawx509crt.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -78,6 +79,7 @@ public class Baltimore18Test extends org
     public void testSignatureX509CrtCrl() throws Exception {
         String file = "signature-x509-crt-crl.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -86,6 +88,7 @@ public class Baltimore18Test extends org
     public void testSignatureX509Crt() throws Exception {
         String file = "signature-x509-crt.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -94,6 +97,7 @@ public class Baltimore18Test extends org
     public void testSignatureX509Is() throws Exception {
         String file = "signature-x509-is.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -102,6 +106,7 @@ public class Baltimore18Test extends org
     public void testSignatureX509Ski() throws Exception {
         String file = "signature-x509-ski.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -110,6 +115,7 @@ public class Baltimore18Test extends org
     public void testSignatureX509Sn() throws Exception {
         String file = "signature-x509-sn.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, cks, ud);
         assertTrue("Signature failed core validation", coreValidity);
     }

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java?rev=1690243&r1=1690242&r2=1690243&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java Fri Jul 10 11:03:36 2015
@@ -39,7 +39,6 @@ import javax.xml.crypto.test.KeySelector
  */
 public class Baltimore23Test extends org.junit.Assert {
 
-    private SignatureValidator validator;
     private File dir;
     private final URIDereferencer ud;
 
@@ -55,7 +54,6 @@ public class Baltimore23Test extends org
         dir = new File(base + fs + "src/test/resources" + fs 
             + "ie" + fs + "baltimore" + fs + "merlin-examples",
             "merlin-xmldsig-twenty-three");
-        validator = new SignatureValidator(dir);
         ud = new LocalHttpCacheURIDereferencer();
     }
 
@@ -63,6 +61,7 @@ public class Baltimore23Test extends org
     public void test_signature_enveloped_dsa() throws Exception {
         String file = "signature-enveloped-dsa.xml";
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.KeyValueKeySelector());
         assertTrue("Signature failed core validation", coreValidity);
@@ -72,6 +71,7 @@ public class Baltimore23Test extends org
     public void test_signature_enveloping_b64_dsa() throws Exception {
         String file = "signature-enveloping-b64-dsa.xml";
      
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.KeyValueKeySelector());
         assertTrue("Signature failed core validation", coreValidity);
@@ -81,6 +81,7 @@ public class Baltimore23Test extends org
     public void test_signature_enveloping_dsa() throws Exception {
         String file = "signature-enveloping-dsa.xml";
        
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.KeyValueKeySelector());
         assertTrue("Signature failed core validation", coreValidity);
@@ -90,6 +91,7 @@ public class Baltimore23Test extends org
     public void test_signature_external_b64_dsa() throws Exception {
         String file = "signature-external-b64-dsa.xml";
        
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.KeyValueKeySelector(), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -99,6 +101,7 @@ public class Baltimore23Test extends org
     public void test_signature_external_dsa() throws Exception {
         String file = "signature-external-dsa.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.KeyValueKeySelector(), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -108,6 +111,7 @@ public class Baltimore23Test extends org
     public void test_signature_enveloping_rsa() throws Exception {
         String file = "signature-enveloping-rsa.xml";
        
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.KeyValueKeySelector());
         assertTrue("Signature failed core validation", coreValidity);
@@ -119,6 +123,7 @@ public class Baltimore23Test extends org
         
         KeySelector ks = new KeySelectors.SecretKeySelector
             ("secret".getBytes("ASCII") );
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate(file, ks);
         assertTrue("Signature failed core validation", coreValidity);
     }
@@ -130,6 +135,7 @@ public class Baltimore23Test extends org
         KeySelector ks = new KeySelectors.SecretKeySelector
             ("secret".getBytes("ASCII") );
         try {
+            SignatureValidator validator = new SignatureValidator(dir);
             validator.validate(file, ks);
             fail("Expected HMACOutputLength exception");
         } catch (XMLSignatureException xse) {
@@ -142,6 +148,7 @@ public class Baltimore23Test extends org
     public void test_signature_keyname() throws Exception {
         String file = "signature-keyname.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.CollectionKeySelector(dir), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -151,6 +158,7 @@ public class Baltimore23Test extends org
     public void test_signature_retrievalmethod_rawx509crt() throws Exception {
         String file = "signature-retrievalmethod-rawx509crt.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.CollectionKeySelector(dir), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -160,6 +168,7 @@ public class Baltimore23Test extends org
     public void test_signature_x509_crt_crl() throws Exception {
         String file = "signature-x509-crt-crl.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.RawX509KeySelector(), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -169,6 +178,7 @@ public class Baltimore23Test extends org
     public void test_signature_x509_crt() throws Exception {
         String file = "signature-x509-crt.xml";
        
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.RawX509KeySelector(), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -178,6 +188,7 @@ public class Baltimore23Test extends org
     public void test_signature_x509_is() throws Exception {
         String file = "signature-x509-is.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.CollectionKeySelector(dir), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -187,6 +198,7 @@ public class Baltimore23Test extends org
     public void test_signature_x509_ski() throws Exception {
         String file = "signature-x509-ski.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.CollectionKeySelector(dir), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -196,6 +208,7 @@ public class Baltimore23Test extends org
     public void test_signature_x509_sn() throws Exception {
         String file = "signature-x509-sn.xml";
         
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean coreValidity = validator.validate
             (file, new KeySelectors.CollectionKeySelector(dir), ud);
         assertTrue("Signature failed core validation", coreValidity);
@@ -213,6 +226,7 @@ public class Baltimore23Test extends org
         KeyStore ks = KeyStore.getInstance("JKS");
         ks.load(new FileInputStream(keystore), "changeit".toCharArray());
 
+        SignatureValidator validator = new SignatureValidator(dir);
         boolean cv = validator.validate(file, new X509KeySelector(ks, false), ud);
         assertTrue("Signature failed core validation", cv);
     }

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java?rev=1690243&r1=1690242&r2=1690243&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java Fri Jul 10 11:03:36 2015
@@ -42,7 +42,9 @@ public class LocalHttpCacheURIDereferenc
     private final Map<String, File> uriMap;
 
     public LocalHttpCacheURIDereferencer() {
-        ud = XMLSignatureFactory.getInstance().getURIDereferencer();
+        XMLSignatureFactory xmlSignatureFactory = 
+            XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
+        ud = xmlSignatureFactory.getURIDereferencer();
         String base = BASEDIR == null ? "./": BASEDIR;
         File dir = new File(base + FS + "src/test/resources" + FS + "javax" +
             FS + "xml" + FS + "crypto" + FS + "dsig");