Skip to content

Commit 8277507

Browse files
driverktpull[bot]
authored andcommitted
8314199: Initial size PBEKeyFactory#validTypes is not up-to-date
Reviewed-by: jnimeh
1 parent f877767 commit 8277507

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

src/java.base/share/classes/com/sun/crypto/provider/PBEKeyFactory.java

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import javax.crypto.spec.PBEKeySpec;
3434
import java.util.HashSet;
3535
import java.util.Locale;
36+
import java.util.Set;
3637

3738
/**
3839
* This class implements a key factory for PBE keys according to PKCS#5,
@@ -46,7 +47,7 @@
4647
abstract class PBEKeyFactory extends SecretKeyFactorySpi {
4748

4849
private String type;
49-
private static HashSet<String> validTypes;
50+
private static final HashSet<String> validTypes;
5051

5152
/**
5253
* Simple constructor
@@ -56,29 +57,29 @@ private PBEKeyFactory(String keytype) {
5657
}
5758

5859
static {
59-
validTypes = HashSet.newHashSet(17);
60-
validTypes.add("PBEWithMD5AndDES".toUpperCase(Locale.ENGLISH));
61-
validTypes.add("PBEWithSHA1AndDESede".toUpperCase(Locale.ENGLISH));
62-
validTypes.add("PBEWithSHA1AndRC2_40".toUpperCase(Locale.ENGLISH));
63-
validTypes.add("PBEWithSHA1AndRC2_128".toUpperCase(Locale.ENGLISH));
64-
validTypes.add("PBEWithSHA1AndRC4_40".toUpperCase(Locale.ENGLISH));
65-
validTypes.add("PBEWithSHA1AndRC4_128".toUpperCase(Locale.ENGLISH));
66-
// Proprietary algorithm.
67-
validTypes.add("PBEWithMD5AndTripleDES".toUpperCase(Locale.ENGLISH));
68-
validTypes.add("PBEWithHmacSHA1AndAES_128".toUpperCase(Locale.ENGLISH));
69-
validTypes.add("PBEWithHmacSHA224AndAES_128".toUpperCase(Locale.ENGLISH));
70-
validTypes.add("PBEWithHmacSHA256AndAES_128".toUpperCase(Locale.ENGLISH));
71-
validTypes.add("PBEWithHmacSHA384AndAES_128".toUpperCase(Locale.ENGLISH));
72-
validTypes.add("PBEWithHmacSHA512AndAES_128".toUpperCase(Locale.ENGLISH));
73-
validTypes.add("PBEWithHmacSHA512/224AndAES_128".toUpperCase(Locale.ENGLISH));
74-
validTypes.add("PBEWithHmacSHA512/256AndAES_128".toUpperCase(Locale.ENGLISH));
75-
validTypes.add("PBEWithHmacSHA1AndAES_256".toUpperCase(Locale.ENGLISH));
76-
validTypes.add("PBEWithHmacSHA224AndAES_256".toUpperCase(Locale.ENGLISH));
77-
validTypes.add("PBEWithHmacSHA256AndAES_256".toUpperCase(Locale.ENGLISH));
78-
validTypes.add("PBEWithHmacSHA384AndAES_256".toUpperCase(Locale.ENGLISH));
79-
validTypes.add("PBEWithHmacSHA512AndAES_256".toUpperCase(Locale.ENGLISH));
80-
validTypes.add("PBEWithHmacSHA512/224AndAES_256".toUpperCase(Locale.ENGLISH));
81-
validTypes.add("PBEWithHmacSHA512/256AndAES_256".toUpperCase(Locale.ENGLISH));
60+
validTypes = new HashSet<String>(
61+
Set.of("PBEWithMD5AndDES".toUpperCase(Locale.ENGLISH),
62+
"PBEWithSHA1AndDESede".toUpperCase(Locale.ENGLISH),
63+
"PBEWithSHA1AndRC2_40".toUpperCase(Locale.ENGLISH),
64+
"PBEWithSHA1AndRC2_128".toUpperCase(Locale.ENGLISH),
65+
"PBEWithSHA1AndRC4_40".toUpperCase(Locale.ENGLISH),
66+
"PBEWithSHA1AndRC4_128".toUpperCase(Locale.ENGLISH),
67+
// Proprietary algorithm.
68+
"PBEWithMD5AndTripleDES".toUpperCase(Locale.ENGLISH),
69+
"PBEWithHmacSHA1AndAES_128".toUpperCase(Locale.ENGLISH),
70+
"PBEWithHmacSHA224AndAES_128".toUpperCase(Locale.ENGLISH),
71+
"PBEWithHmacSHA256AndAES_128".toUpperCase(Locale.ENGLISH),
72+
"PBEWithHmacSHA384AndAES_128".toUpperCase(Locale.ENGLISH),
73+
"PBEWithHmacSHA512AndAES_128".toUpperCase(Locale.ENGLISH),
74+
"PBEWithHmacSHA512/224AndAES_128".toUpperCase(Locale.ENGLISH),
75+
"PBEWithHmacSHA512/256AndAES_128".toUpperCase(Locale.ENGLISH),
76+
"PBEWithHmacSHA1AndAES_256".toUpperCase(Locale.ENGLISH),
77+
"PBEWithHmacSHA224AndAES_256".toUpperCase(Locale.ENGLISH),
78+
"PBEWithHmacSHA256AndAES_256".toUpperCase(Locale.ENGLISH),
79+
"PBEWithHmacSHA384AndAES_256".toUpperCase(Locale.ENGLISH),
80+
"PBEWithHmacSHA512AndAES_256".toUpperCase(Locale.ENGLISH),
81+
"PBEWithHmacSHA512/224AndAES_256".toUpperCase(Locale.ENGLISH),
82+
"PBEWithHmacSHA512/256AndAES_256".toUpperCase(Locale.ENGLISH)));
8283
}
8384

8485
public static final class PBEWithMD5AndDES extends PBEKeyFactory {

0 commit comments

Comments
 (0)