diff options
-rw-r--r-- | luni/src/test/java/libcore/javax/crypto/CipherTest.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/luni/src/test/java/libcore/javax/crypto/CipherTest.java b/luni/src/test/java/libcore/javax/crypto/CipherTest.java index cd070ab..494d15e 100644 --- a/luni/src/test/java/libcore/javax/crypto/CipherTest.java +++ b/luni/src/test/java/libcore/javax/crypto/CipherTest.java @@ -1154,6 +1154,9 @@ public final class CipherTest extends TestCase { final AlgorithmParameterSpec decryptSpec = getDecryptAlgorithmParameterSpec(encryptSpec, c); int decryptMode = getDecryptMode(algorithm); + + test_Cipher_init_Decrypt_NullParameters(c, decryptMode, encryptKey, decryptSpec != null); + c.init(decryptMode, encryptKey, decryptSpec); assertEquals(cipherID + " getBlockSize() decryptMode", getExpectedBlockSize(algorithm, decryptMode, providerName), c.getBlockSize()); @@ -1286,6 +1289,53 @@ public final class CipherTest extends TestCase { } } + private void test_Cipher_init_Decrypt_NullParameters(Cipher c, int decryptMode, Key encryptKey, + boolean needsParameters) throws Exception { + try { + c.init(decryptMode, encryptKey, (AlgorithmParameterSpec) null); + if (needsParameters) { + fail("Should throw InvalidAlgorithmParameterException with null parameters"); + } + } catch (InvalidAlgorithmParameterException e) { + if (!needsParameters) { + throw e; + } + } + + try { + c.init(decryptMode, encryptKey, (AlgorithmParameterSpec) null, (SecureRandom) null); + if (needsParameters) { + fail("Should throw InvalidAlgorithmParameterException with null parameters"); + } + } catch (InvalidAlgorithmParameterException e) { + if (!needsParameters) { + throw e; + } + } + + try { + c.init(decryptMode, encryptKey, (AlgorithmParameters) null); + if (needsParameters) { + fail("Should throw InvalidAlgorithmParameterException with null parameters"); + } + } catch (InvalidAlgorithmParameterException e) { + if (!needsParameters) { + throw e; + } + } + + try { + c.init(decryptMode, encryptKey, (AlgorithmParameters) null, (SecureRandom) null); + if (needsParameters) { + fail("Should throw InvalidAlgorithmParameterException with null parameters"); + } + } catch (InvalidAlgorithmParameterException e) { + if (!needsParameters) { + throw e; + } + } + } + public void testInputPKCS1Padding() throws Exception { for (String provider : RSA_PROVIDERS) { testInputPKCS1Padding(provider); |