@@ -33,6 +33,15 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
33
33
KeyGenerator keyGen5 = KeyGenerator .getInstance ("AES" ); // MISSING: test KeyGenerator variable as argument
34
34
testSymmetricVariable (size2 , keyGen5 ); // test with variable as key size
35
35
testSymmetricInt (64 ); // test with int literal as key size
36
+
37
+ /* Test with variable as algo name argument in `getInstance` method. */
38
+ final String algoName1 = "AES" ; // compile-time constant
39
+ KeyGenerator keyGen6 = KeyGenerator .getInstance (algoName1 );
40
+ keyGen6 .init (64 ); // $ hasInsufficientKeySize
41
+
42
+ String algoName2 = "AES" ; // not a compile-time constant
43
+ KeyGenerator keyGen7 = KeyGenerator .getInstance (algoName2 );
44
+ keyGen7 .init (64 ); // $ MISSING: hasInsufficientKeySize
36
45
}
37
46
38
47
// RSA (Asymmetric): minimum recommended key size is 2048
@@ -70,6 +79,15 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
70
79
/* Test getting key size as return value of another method */
71
80
KeyPairGenerator keyPairGen8 = KeyPairGenerator .getInstance ("RSA" );
72
81
keyPairGen8 .initialize (getRSAKeySize ()); // $ hasInsufficientKeySize
82
+
83
+ /* Test with variable as algo name argument in `getInstance` method. */
84
+ final String algoName1 = "RSA" ; // compile-time constant
85
+ KeyPairGenerator keyPairGen9 = KeyPairGenerator .getInstance (algoName1 );
86
+ keyPairGen9 .initialize (1024 ); // $ hasInsufficientKeySize
87
+
88
+ String algoName2 = "RSA" ; // not a compile-time constant
89
+ KeyPairGenerator keyPairGen10 = KeyPairGenerator .getInstance (algoName2 );
90
+ keyPairGen10 .initialize (1024 ); // $ MISSING: hasInsufficientKeySize
73
91
}
74
92
75
93
// DSA (Asymmetric): minimum recommended key size is 2048
@@ -92,6 +110,15 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
92
110
/* Test `AlgorithmParameterGenerator` */
93
111
AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator .getInstance ("DSA" );
94
112
paramGen .init (1024 ); // $ hasInsufficientKeySize
113
+
114
+ /* Test with variable as algo name argument in `getInstance` method. */
115
+ final String algoName1 = "DSA" ; // compile-time constant
116
+ AlgorithmParameterGenerator paramGen1 = AlgorithmParameterGenerator .getInstance (algoName1 );
117
+ paramGen1 .init (1024 ); // $ hasInsufficientKeySize
118
+
119
+ String algoName2 = "DSA" ; // not a compile-time constant
120
+ AlgorithmParameterGenerator paramGen2 = AlgorithmParameterGenerator .getInstance (algoName2 );
121
+ paramGen2 .init (1024 ); // $ MISSING: hasInsufficientKeySize
95
122
}
96
123
97
124
// DH (Asymmetric): minimum recommended key size is 2048
@@ -173,6 +200,17 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
173
200
KeyPairGenerator keyPairGen = KeyPairGenerator .getInstance ("EC" ); // MISSING: test KeyGenerator variable as argument
174
201
testAsymmetricEcIntVariable (size , keyPairGen ); // test with variable as key size
175
202
testAsymmetricEcIntLiteral (128 ); // test with int literal as key size
203
+
204
+ /* Test with variable as curve name argument in `ECGenParameterSpec` constructor. */
205
+ final String curveName1 = "secp112r1" ; // compile-time constant
206
+ KeyPairGenerator keyPairGen16 = KeyPairGenerator .getInstance ("EC" );
207
+ ECGenParameterSpec ecSpec11 = new ECGenParameterSpec (curveName1 ); // $ hasInsufficientKeySize
208
+ keyPairGen16 .initialize (ecSpec11 );
209
+
210
+ String curveName2 = "secp112r1" ; // not a compile-time constant
211
+ KeyPairGenerator keyPairGen17 = KeyPairGenerator .getInstance ("EC" );
212
+ ECGenParameterSpec ecSpec12 = new ECGenParameterSpec (curveName2 ); // $ hasInsufficientKeySize
213
+ keyPairGen17 .initialize (ecSpec12 );
176
214
}
177
215
}
178
216
0 commit comments