28 import java.security.Security;
29 import java.security.spec.AlgorithmParameterSpec;
30 import java.util.Arrays;
31 import java.util.Random;
32 import java.util.StringTokenizer;
33 import javax.crypto.Cipher;
34 import javax.crypto.SealedObject;
35 import javax.crypto.SecretKey;
36 import javax.crypto.SecretKeyFactory;
37 import javax.crypto.spec.PBEKeySpec;
38 import javax.crypto.spec.PBEParameterSpec;
39
40 /**
41 * @test
42 * @bug 8041781
43 * @summary test if seal/unseal works correctly with PBE algorithms
44 * @author Yun Ke
45 * @author Bill Situ
46 * @author Alexander Fomin
47 * @run main PBESealedObject
48 */
49 public class PBESealedObject {
50
51 private static final String[] PBEAlgorithms = {
52 "pbeWithMD5ANDdes",
53 "PBEWithMD5AndDES/CBC/PKCS5Padding",
54 "PBEWithMD5AndTripleDES",
55 "PBEWithMD5AndTripleDES/CBC/PKCS5Padding",
56 "PBEwithSHA1AndDESede",
57 "PBEwithSHA1AndDESede/CBC/PKCS5Padding",
58 "PBEwithSHA1AndRC2_40",
59 "PBEwithSHA1Andrc2_40/CBC/PKCS5Padding",
60 "PBEWithSHA1AndRC2_128",
61 "PBEWithSHA1andRC2_128/CBC/PKCS5Padding",
62 "PBEWithSHA1AndRC4_40",
63 "PBEWithsha1AndRC4_40/ECB/NoPadding",
64 "PBEWithSHA1AndRC4_128",
65 "pbeWithSHA1AndRC4_128/ECB/NoPadding",
66 "PBEWithHmacSHA1AndAES_128",
67 "PBEWithHmacSHA224AndAES_128",
|
28 import java.security.Security;
29 import java.security.spec.AlgorithmParameterSpec;
30 import java.util.Arrays;
31 import java.util.Random;
32 import java.util.StringTokenizer;
33 import javax.crypto.Cipher;
34 import javax.crypto.SealedObject;
35 import javax.crypto.SecretKey;
36 import javax.crypto.SecretKeyFactory;
37 import javax.crypto.spec.PBEKeySpec;
38 import javax.crypto.spec.PBEParameterSpec;
39
40 /**
41 * @test
42 * @bug 8041781
43 * @summary test if seal/unseal works correctly with PBE algorithms
44 * @author Yun Ke
45 * @author Bill Situ
46 * @author Alexander Fomin
47 * @run main PBESealedObject
48 * @key randomness
49 */
50 public class PBESealedObject {
51
52 private static final String[] PBEAlgorithms = {
53 "pbeWithMD5ANDdes",
54 "PBEWithMD5AndDES/CBC/PKCS5Padding",
55 "PBEWithMD5AndTripleDES",
56 "PBEWithMD5AndTripleDES/CBC/PKCS5Padding",
57 "PBEwithSHA1AndDESede",
58 "PBEwithSHA1AndDESede/CBC/PKCS5Padding",
59 "PBEwithSHA1AndRC2_40",
60 "PBEwithSHA1Andrc2_40/CBC/PKCS5Padding",
61 "PBEWithSHA1AndRC2_128",
62 "PBEWithSHA1andRC2_128/CBC/PKCS5Padding",
63 "PBEWithSHA1AndRC4_40",
64 "PBEWithsha1AndRC4_40/ECB/NoPadding",
65 "PBEWithSHA1AndRC4_128",
66 "pbeWithSHA1AndRC4_128/ECB/NoPadding",
67 "PBEWithHmacSHA1AndAES_128",
68 "PBEWithHmacSHA224AndAES_128",
|