@@ -33,6 +33,15 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
3333 KeyGenerator keyGen5 = KeyGenerator .getInstance ("AES" ); // MISSING: test KeyGenerator variable as argument
3434 testSymmetricVariable (size2 , keyGen5 ); // test with variable as key size
3535 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
3645 }
3746
3847 // RSA (Asymmetric): minimum recommended key size is 2048
@@ -70,6 +79,15 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
7079 /* Test getting key size as return value of another method */
7180 KeyPairGenerator keyPairGen8 = KeyPairGenerator .getInstance ("RSA" );
7281 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
7391 }
7492
7593 // DSA (Asymmetric): minimum recommended key size is 2048
@@ -92,6 +110,15 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
92110 /* Test `AlgorithmParameterGenerator` */
93111 AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator .getInstance ("DSA" );
94112 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
95122 }
96123
97124 // DH (Asymmetric): minimum recommended key size is 2048
@@ -173,6 +200,17 @@ public void keySizeTesting() throws java.security.NoSuchAlgorithmException, java
173200 KeyPairGenerator keyPairGen = KeyPairGenerator .getInstance ("EC" ); // MISSING: test KeyGenerator variable as argument
174201 testAsymmetricEcIntVariable (size , keyPairGen ); // test with variable as key size
175202 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 );
176214 }
177215 }
178216
0 commit comments