Merge "frameworks/base: add tests for AbstractVerifier"
diff --git a/build/test_target_java_library.mk b/build/test_target_java_library.mk
index fe1000a..525abb5 100644
--- a/build/test_target_java_library.mk
+++ b/build/test_target_java_library.mk
@@ -50,4 +50,4 @@
 						-o $@
 
 # Have the module name depend on the cts files; so the cts files get generated when you run mm/mmm/mma/mmma.
-$(my_register_name) : $(cts_library_jar) $(cts_library_xml $(cts_module_test_config))
+$(my_register_name) : $(cts_library_jar) $(cts_library_xml) $(cts_module_test_config)
diff --git a/tests/tests/keystore/src/android/keystore/cts/CipherTest.java b/tests/tests/keystore/src/android/keystore/cts/CipherTest.java
index e2c1d69..1a24fb2 100644
--- a/tests/tests/keystore/src/android/keystore/cts/CipherTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/CipherTest.java
@@ -441,12 +441,24 @@
                         if (!"SHA-1".equalsIgnoreCase(
                                 ((MGF1ParameterSpec) spec.getMGFParameters())
                                         .getDigestAlgorithm())) {
+                            // Create a new instance of Cipher because Bouncy Castle's RSA Cipher
+                            // caches AlgorithmParameters returned by Cipher.getParameters and does
+                            // not invalidate the cache when reinitialized with different
+                            // parameters.
+                            cipher = Cipher.getInstance(algorithm, encryptionProvider);
                             cipher.init(Cipher.ENCRYPT_MODE, encryptionKey, new OAEPParameterSpec(
                                     spec.getDigestAlgorithm(),
                                     "MGF1",
                                     MGF1ParameterSpec.SHA1,
                                     PSource.PSpecified.DEFAULT));
                             params = cipher.getParameters();
+                            OAEPParameterSpec newSpec =
+                                    params.getParameterSpec(OAEPParameterSpec.class);
+                            assertEquals(spec.getDigestAlgorithm(), newSpec.getDigestAlgorithm());
+                            assertEquals(
+                                    "SHA-1",
+                                    ((MGF1ParameterSpec) newSpec.getMGFParameters())
+                                            .getDigestAlgorithm());
                         }
                     }
 
diff --git a/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java b/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java
index 9ae3043..e28fdff 100644
--- a/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java
@@ -163,7 +163,7 @@
                         R.raw.rsa_key6_768_pkcs8, R.raw.rsa_key6_768_cert, importParams),
                 TestUtils.importIntoAndroidKeyStore("testRSA1024", context,
                         R.raw.rsa_key3_1024_pkcs8, R.raw.rsa_key3_1024_cert, importParams),
-                TestUtils.importIntoAndroidKeyStore("testRSA2024", context,
+                TestUtils.importIntoAndroidKeyStore("testRSA2048", context,
                         R.raw.rsa_key8_2048_pkcs8, R.raw.rsa_key8_2048_cert, importParams),
                 TestUtils.importIntoAndroidKeyStore("testRSA3072", context,
                         R.raw.rsa_key7_3072_pksc8, R.raw.rsa_key7_3072_cert, importParams),
diff --git a/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java b/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java
index 8451eb8..6fb3954 100644
--- a/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java
@@ -562,8 +562,7 @@
         }
     }
 
-    // TODO: Re-enable this test once Signature.initSign passes SecureRandom to SPI (Bug 22485587).
-    public void DISABLED_testEntropyConsumption() throws Exception {
+    public void testEntropyConsumption() throws Exception {
         // Assert that signature generation consumes the correct amount of entropy from the provided
         // SecureRandom. There is no need to check that Signature.verify does not consume entropy
         // because Signature.initVerify does not take a SecureRandom.