Merge "Fix CertificateTest#testVerifyPublicKeyString2"
diff --git a/luni/src/test/java/tests/security/cert/CertificateTest.java b/luni/src/test/java/tests/security/cert/CertificateTest.java
index d13e16b..194bfdb 100644
--- a/luni/src/test/java/tests/security/cert/CertificateTest.java
+++ b/luni/src/test/java/tests/security/cert/CertificateTest.java
@@ -300,17 +300,10 @@
 
     private Certificate cert;
 
-    private Provider wrongProvider;
-
-    private Provider usefulProvider;
-
     public void setUp() throws Exception {
         super.setUp();
         TestUtils.initCertPathSSCertChain();
         cert = TestUtils.rootCertificateSS;
-        CertificateFactory cf = CertificateFactory.getInstance("X.509");
-        wrongProvider = cf.getProvider();
-        usefulProvider = Signature.getInstance("SHA1WithRSA").getProvider();
     }
 
     /**
@@ -326,8 +319,11 @@
             CertificateException, NoSuchAlgorithmException,
             NoSuchProviderException, SignatureException {
 
+        final Signature sig = Signature.getInstance("SHA1WithRSA");
+        sig.initVerify(cert.getPublicKey());
+        final Provider provider = sig.getProvider();
         // real test
-        cert.verify(cert.getPublicKey(), usefulProvider.getName());
+        cert.verify(cert.getPublicKey(), provider.getName());
 
         // Exception tests
 
@@ -342,6 +338,9 @@
         // a new provider, test if it works, then remove it and test if the
         // exception is thrown.
         //
+        // CertificateFactory cf = CertificateFactory.getInstance("X.509");
+        // Provider wrongProvider = cf.getProvider();
+        //
         // Security.removeProvider(wrongProvider.getName());
         //
         // try {