[maven-release-plugin] copy for tag xmlsec-2.0.5

git-svn-id: https://svn.apache.org/repos/asf/santuario/xml-security-java/tags/xmlsec-2.0.5@1690260 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 93a0afc..e107a6a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -117,7 +117,7 @@
                     <sourceEncoding>utf-8</sourceEncoding>
                     <failOnViolation>true</failOnViolation>
                     <verbose>true</verbose>
-                    <targetJdk>1.6</targetJdk>
+                    <targetJdk>${targetJdk}</targetJdk>
                 </configuration>
                 <executions>
                     <execution>
@@ -135,8 +135,8 @@
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.3</version>
                 <configuration>
-                    <source>1.6</source>
-                    <target>1.6</target>
+                    <source>${targetJdk}</source>
+                    <target>${targetJdk}</target>
                 </configuration>
             </plugin>
             
@@ -270,6 +270,54 @@
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <version>2.10.3</version>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>animal-sniffer-maven-plugin</artifactId>
+                <version>1.13</version>
+                <configuration>
+                    <signature>
+                        <groupId>org.codehaus.mojo.signature</groupId>
+                        <artifactId>java16</artifactId>
+                        <version>1.0</version>
+                   </signature>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>check-java-compatibility</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>enforce-bytecode-version</id>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <enforceBytecodeVersion>
+                                    <maxJdkVersion>${targetJdk}</maxJdkVersion>
+                                </enforceBytecodeVersion>
+                            </rules>
+                            <fail>true</fail>
+                        </configuration>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>extra-enforcer-rules</artifactId>
+                        <version>1.0-beta-3</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
 
         </plugins>
 
@@ -298,7 +346,6 @@
                     <configuration>
                         <reportFormat>brief</reportFormat>
                         <useFile>false</useFile>
-                        <forkMode>pertest</forkMode>
                         <childDelegation>false</childDelegation>
                         <includes>
                             <include>**/*Test.java</include>
@@ -403,6 +450,8 @@
         <woodstox.core.asl.version>4.4.1</woodstox.core.asl.version>
         <jetty.version>8.1.17.v20150415</jetty.version>
         <xmlsec.jaxb.context.class />
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <targetJdk>1.6</targetJdk>
     </properties>
     
     <dependencies>
diff --git a/src/test/java/javax/xml/crypto/test/KeySelectors.java b/src/test/java/javax/xml/crypto/test/KeySelectors.java
index b300626..f81e978 100644
--- a/src/test/java/javax/xml/crypto/test/KeySelectors.java
+++ b/src/test/java/javax/xml/crypto/test/KeySelectors.java
@@ -25,6 +25,7 @@
 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 @@
      * 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 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) {
                 
diff --git a/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java b/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java
index 8303dcb..ed65ada 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/Baltimore18Test.java
@@ -23,9 +23,10 @@
 
 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 @@
  */
 public class Baltimore18Test extends org.junit.Assert {
 
-    private SignatureValidator validator;
     private File dir;
     private KeySelector cks;
     private URIDereferencer ud;
@@ -46,14 +46,13 @@
             (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 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 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 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 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 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 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 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);
     }
diff --git a/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java b/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java
index 5f2b38d..11dad72 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/Baltimore23Test.java
@@ -39,7 +39,6 @@
  */
 public class Baltimore23Test extends org.junit.Assert {
 
-    private SignatureValidator validator;
     private File dir;
     private final URIDereferencer ud;
 
@@ -55,7 +54,6 @@
         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 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 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 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 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 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 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 @@
         
         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 @@
         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 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 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 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 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 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 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 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 @@
         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);
     }
diff --git a/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java b/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java
index 9c6417e..f88c47b 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java
@@ -104,6 +104,11 @@
         sks = new KeySelectors.SecretKeySelector("testkey".getBytes("ASCII"));
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @org.junit.Test
     public void testHMACSHA1() throws Exception {
         test_create_signature_enveloping(hmacSha1, sha1, null,
diff --git a/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java b/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java
index a18a3bd..3607305 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/LocalHttpCacheURIDereferencer.java
@@ -42,7 +42,9 @@
     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");
diff --git a/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java b/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java
index 23a7efd..58a30fc 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java
@@ -147,6 +147,11 @@
                                 (kifac.newKeyValue(ecKeyPair.getPublic())));
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @org.junit.Test
     public void testRSA_SHA1() throws Exception {
         test_create_signature_enveloping(rsaSha1, sha1, rsaki,
diff --git a/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java b/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java
index 55896e4..4b202c1 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java
@@ -118,6 +118,11 @@
         kvks = new KeySelectors.KeyValueKeySelector();
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @org.junit.Test
     public void testSHA1() throws Exception {
         test_create_signature_enveloping(rsaSha1, sha1, rsaki,
diff --git a/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java b/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java
index 480f6d2..372e28f 100644
--- a/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java
@@ -60,6 +60,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @org.junit.Test
     public void testSHA1() throws Exception {
         Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
diff --git a/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java b/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java
index 5c59091..8609187 100644
--- a/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java
@@ -74,6 +74,11 @@
             }
         }
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @org.junit.Test
     public void testHMACSHA1() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/dom/algorithms/KeyWrapEncryptionAlgorithmTest.java b/src/test/java/org/apache/xml/security/test/dom/algorithms/KeyWrapEncryptionAlgorithmTest.java
index 7b02fec..f489087 100644
--- a/src/test/java/org/apache/xml/security/test/dom/algorithms/KeyWrapEncryptionAlgorithmTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/algorithms/KeyWrapEncryptionAlgorithmTest.java
@@ -82,6 +82,11 @@
         
         rsaKeyPair = KeyPairGenerator.getInstance("RSA").genKeyPair();
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @org.junit.Test
     public void testAES128KW() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/dom/algorithms/PKSignatureAlgorithmTest.java b/src/test/java/org/apache/xml/security/test/dom/algorithms/PKSignatureAlgorithmTest.java
index 7b4f4f8..7d755f9 100644
--- a/src/test/java/org/apache/xml/security/test/dom/algorithms/PKSignatureAlgorithmTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/algorithms/PKSignatureAlgorithmTest.java
@@ -82,6 +82,11 @@
         
         ecKeyPair = KeyPairGenerator.getInstance("EC").genKeyPair();
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @org.junit.Test
     public void testRSA_MD5() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/dom/algorithms/SymmetricEncryptionAlgorithmTest.java b/src/test/java/org/apache/xml/security/test/dom/algorithms/SymmetricEncryptionAlgorithmTest.java
index d45e497..d6cbad0 100644
--- a/src/test/java/org/apache/xml/security/test/dom/algorithms/SymmetricEncryptionAlgorithmTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/algorithms/SymmetricEncryptionAlgorithmTest.java
@@ -73,6 +73,11 @@
             }
         }
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @org.junit.Test
     public void testAES128() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/dom/encryption/XMLCipherTest.java b/src/test/java/org/apache/xml/security/test/dom/encryption/XMLCipherTest.java
index 40b57fc..301efe3 100644
--- a/src/test/java/org/apache/xml/security/test/dom/encryption/XMLCipherTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/encryption/XMLCipherTest.java
@@ -136,6 +136,11 @@
         
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     /**
      * Test encryption using a generated AES 128 bit key that is
      * encrypted using a AES 192 bit key.  Then reverse using the KEK
diff --git a/src/test/java/org/apache/xml/security/test/dom/encryption/XMLEncryption11Test.java b/src/test/java/org/apache/xml/security/test/dom/encryption/XMLEncryption11Test.java
index ff4712a..7a6dec0 100644
--- a/src/test/java/org/apache/xml/security/test/dom/encryption/XMLEncryption11Test.java
+++ b/src/test/java/org/apache/xml/security/test/dom/encryption/XMLEncryption11Test.java
@@ -139,6 +139,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     /**
      * rsa-oaep-mgf1p, Digest:SHA256, MGF:SHA1, PSource: None
      */
diff --git a/src/test/java/org/apache/xml/security/test/dom/keys/DEREncodedKeyValueTest.java b/src/test/java/org/apache/xml/security/test/dom/keys/DEREncodedKeyValueTest.java
index 4f5e61f..0598841 100644
--- a/src/test/java/org/apache/xml/security/test/dom/keys/DEREncodedKeyValueTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/keys/DEREncodedKeyValueTest.java
@@ -77,6 +77,11 @@
         dsaKeyControl = loadPublicKey("dsa.key", "DSA");
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @org.junit.Test
     public void testSchema() throws Exception {
         DEREncodedKeyValue derEncodedKeyValue = new DEREncodedKeyValue(documentBuilder.newDocument(), rsaKeyControl);
diff --git a/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/DEREncodedKeyValueResolverTest.java b/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/DEREncodedKeyValueResolverTest.java
index f740701..3ff4d73 100644
--- a/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/DEREncodedKeyValueResolverTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/DEREncodedKeyValueResolverTest.java
@@ -78,6 +78,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @org.junit.Test
     public void testRSAPublicKey() throws Exception {
         Document doc = loadXML("DEREncodedKeyValue-RSA.xml");
diff --git a/src/test/java/org/apache/xml/security/test/dom/signature/ECDSASignatureTest.java b/src/test/java/org/apache/xml/security/test/dom/signature/ECDSASignatureTest.java
index 5500103..5f8f89b 100644
--- a/src/test/java/org/apache/xml/security/test/dom/signature/ECDSASignatureTest.java
+++ b/src/test/java/org/apache/xml/security/test/dom/signature/ECDSASignatureTest.java
@@ -90,6 +90,11 @@
         db = XMLUtils.createDocumentBuilder(false);
         org.apache.xml.security.Init.init();
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @org.junit.Test
     public void testOne() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionCreationTest.java b/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionCreationTest.java
index 1be267e..c5e4959 100644
--- a/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionCreationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionCreationTest.java
@@ -95,6 +95,11 @@
         rsaKeyPair = KeyPairGenerator.getInstance("RSA").genKeyPair();
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testAES128KW() throws Exception {
         // Set up the Configuration
@@ -844,4 +849,4 @@
         return cipher.doFinal(document, ee);
     }
 
-}
\ No newline at end of file
+}
diff --git a/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionVerificationTest.java b/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionVerificationTest.java
index 07fb122..e515735 100644
--- a/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionVerificationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionVerificationTest.java
@@ -102,6 +102,11 @@
         rsaKeyPair = KeyPairGenerator.getInstance("RSA").genKeyPair();
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testAES128KW() throws Exception {
         // Read in plaintext document
diff --git a/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionCreationTest.java b/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionCreationTest.java
index a16420b..38849c4 100644
--- a/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionCreationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionCreationTest.java
@@ -87,6 +87,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testAES128() throws Exception {
         // Set up the Configuration
@@ -755,4 +760,4 @@
         return cipher.doFinal(document, ee);
     }
 
-}
\ No newline at end of file
+}
diff --git a/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionVerificationTest.java b/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionVerificationTest.java
index 996bd70..1effcb7 100644
--- a/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionVerificationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionVerificationTest.java
@@ -98,6 +98,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testAES128() throws Exception {
         // Read in plaintext document
diff --git a/src/test/java/org/apache/xml/security/test/stax/encryption/XMLEncryption11Test.java b/src/test/java/org/apache/xml/security/test/stax/encryption/XMLEncryption11Test.java
index caeb84f..c6a6bd6 100644
--- a/src/test/java/org/apache/xml/security/test/stax/encryption/XMLEncryption11Test.java
+++ b/src/test/java/org/apache/xml/security/test/stax/encryption/XMLEncryption11Test.java
@@ -105,6 +105,11 @@
         nodeCount = countNodes(doc);
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     /**
      * rsa-oaep-mgf1p, Digest:SHA256, MGF:SHA1, PSource: None
      */
diff --git a/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureCreationTest.java b/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureCreationTest.java
index 3360416..111e539 100644
--- a/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureCreationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureCreationTest.java
@@ -80,6 +80,11 @@
         ecKeyPair = KeyPairGenerator.getInstance("EC").genKeyPair();
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testRSA_SHA1() throws Exception {
         // Set up the Configuration
diff --git a/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureVerificationTest.java b/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureVerificationTest.java
index 9562311..74c2331 100644
--- a/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureVerificationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureVerificationTest.java
@@ -92,6 +92,11 @@
         
         ecKeyPair = KeyPairGenerator.getInstance("EC").genKeyPair();
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @Test
     public void testRSA_SHA1() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestCreationTest.java b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestCreationTest.java
index ff13206..8f2d4a8 100644
--- a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestCreationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestCreationTest.java
@@ -76,6 +76,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testSHA1() throws Exception {
         // Set up the Configuration
diff --git a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestVerificationTest.java b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestVerificationTest.java
index 8b41085..79b4228 100644
--- a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestVerificationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestVerificationTest.java
@@ -87,6 +87,11 @@
             }
         }
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @Test
     public void testSHA1() throws Exception {
diff --git a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACCreationTest.java b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACCreationTest.java
index c2171ec..4e9143a 100644
--- a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACCreationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACCreationTest.java
@@ -71,6 +71,11 @@
         }
     }
 
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
+
     @Test
     public void testHMACSHA1() throws Exception {
         // Set up the Configuration
diff --git a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACVerificationTest.java b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACVerificationTest.java
index acb6ff4..7d971bd 100644
--- a/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACVerificationTest.java
+++ b/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACVerificationTest.java
@@ -85,6 +85,11 @@
             }
         }
     }
+
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        Security.removeProvider("org.bouncycastle.jce.provider.BouncyCastleProvider");
+    }
     
     @Test
     public void testHMACSHA1() throws Exception {