1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.crypto.cipher;
20
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import java.security.NoSuchAlgorithmException;
24
25 import javax.crypto.Cipher;
26
27 import org.apache.commons.crypto.utils.AES;
28 import org.junit.jupiter.api.BeforeAll;
29
30
31 public class JceCipherTest extends AbstractCipherTest {
32
33 private static final int MAX_KEY_LEN_LOWER_BOUND = 256;
34
35 @BeforeAll
36 public static void checkJceUnlimitedStrength() throws NoSuchAlgorithmException {
37 final int maxKeyLen = Cipher.getMaxAllowedKeyLength(AES.ALGORITHM);
38 assertTrue(maxKeyLen >= MAX_KEY_LEN_LOWER_BOUND,
39 String.format(
40 "Testing requires support for an AES key length of %d, but " +
41 "the detected maximum key length is %d. This may indicate " +
42 "that the test environment is missing the JCE Unlimited " +
43 "Strength Jurisdiction Policy Files.",
44 MAX_KEY_LEN_LOWER_BOUND, maxKeyLen));
45 }
46
47 @Override
48 public void init() {
49 transformations = new String[] {
50 AES.CBC_NO_PADDING,
51 AES.CBC_PKCS5_PADDING,
52 AES.CTR_NO_PADDING};
53 cipherClass = JCE_CIPHER_CLASSNAME;
54 }
55 }