@Test public void testEncryptDESKeyThrowsNullPointerException() throws Throwable { byte[] bytes = new byte[1]; Key encryptingKey = new SecretKeySpec(bytes, "testJCEHandlerParam2"); try { new JCEHandler((Provider) null).encryptDESKey((short) 100, null, encryptingKey); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertEquals( "(SecretKeySpec) encryptingKey.getAlgorithm()", "testJCEHandlerParam2", ((SecretKeySpec) encryptingKey).getAlgorithm()); } }
@Test public void testEncryptDESKeyThrowsJCEHandlerException() throws Throwable { byte[] clearKeyBytes = new byte[1]; Key clearDESKey = jCEHandler.formDESKey((short) 192, clearKeyBytes); try { new JCEHandler((Provider) null).encryptDESKey((short) 100, clearDESKey, clearDESKey); fail("Expected JCEHandlerException to be thrown"); } catch (JCEHandlerException ex) { assertEquals("ex.getMessage()", "Unsupported key length: 100 bits", ex.getMessage()); assertNull("ex.getNested()", ex.getNested()); assertEquals( "(SecretKeySpec) clearDESKey.getAlgorithm()", "DESede", ((SecretKeySpec) clearDESKey).getAlgorithm()); } }
@Test public void testEncryptDESKeyThrowsArrayIndexOutOfBoundsException() throws Throwable { byte[] bytes = new byte[3]; Key clearDESKey = new SecretKeySpec(bytes, 0, 1, "DESde"); byte[] bytes2 = new byte[1]; Key encryptingKey = new SecretKeySpec(bytes2, "testJCEHandlerParam2"); try { new JCEHandler((Provider) null).encryptDESKey((short) 64, clearDESKey, encryptingKey); fail("Expected ArrayIndexOutOfBoundsException to be thrown"); } catch (ArrayIndexOutOfBoundsException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertEquals( "(SecretKeySpec) clearDESKey.getAlgorithm()", "DESde", ((SecretKeySpec) clearDESKey).getAlgorithm()); assertEquals( "(SecretKeySpec) encryptingKey.getAlgorithm()", "testJCEHandlerParam2", ((SecretKeySpec) encryptingKey).getAlgorithm()); } }