mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-23 08:45:33 +00:00
8006855: PKCS12 test failures due to unsupported algorithm
Reviewed-by: mullan
This commit is contained in:
parent
a1d5ea2b9d
commit
3727e751f6
@ -887,13 +887,13 @@ public final class PKCS12KeyStore extends KeyStoreSpi {
|
||||
/*
|
||||
* Map a PBE algorithm name onto its object identifier
|
||||
*/
|
||||
private ObjectIdentifier mapPBEAlgorithmToOID(String algorithm) {
|
||||
private ObjectIdentifier mapPBEAlgorithmToOID(String algorithm)
|
||||
throws NoSuchAlgorithmException {
|
||||
// Check for PBES2 algorithms
|
||||
if (algorithm.toLowerCase().startsWith("pbewithhmacsha")) {
|
||||
return pbes2_OID;
|
||||
}
|
||||
|
||||
return null;
|
||||
return AlgorithmId.get(algorithm).getOID();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -36,7 +36,8 @@ import javax.crypto.spec.*;
|
||||
|
||||
public class PBETest {
|
||||
private final static String DIR = System.getProperty("test.src", ".");
|
||||
private static final String PBE_ALGO = "PBEWithHmacSHA1AndAES_128";
|
||||
//private static final String PBE_ALGO = "PBEWithHmacSHA1AndAES_128";
|
||||
private static final String PBE_ALGO = "PBEWithSHA1AndDESede";
|
||||
private static final char[] PASSWORD = "passphrase".toCharArray();
|
||||
private static final String KEYSTORE_TYPE = "JKS";
|
||||
private static final String KEYSTORE = DIR + "/keystore.jks";
|
||||
|
||||
@ -43,6 +43,14 @@ public class StoreSecretKeyTest {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
// Skip test if AES is unavailable
|
||||
try {
|
||||
SecretKeyFactory.getInstance("AES");
|
||||
} catch (NoSuchAlgorithmException nsae) {
|
||||
System.out.println("AES is unavailable. Skipping test...");
|
||||
return;
|
||||
}
|
||||
|
||||
new File(KEYSTORE).delete();
|
||||
|
||||
try {
|
||||
@ -79,6 +87,17 @@ public class StoreSecretKeyTest {
|
||||
|
||||
private static SecretKey generateSecretKey(String algorithm, int size)
|
||||
throws NoSuchAlgorithmException {
|
||||
|
||||
// Failover to DES if the requested secret key factory is unavailable
|
||||
SecretKeyFactory keyFactory;
|
||||
try {
|
||||
keyFactory = SecretKeyFactory.getInstance(algorithm);
|
||||
} catch (NoSuchAlgorithmException nsae) {
|
||||
keyFactory = SecretKeyFactory.getInstance("DES");
|
||||
algorithm = "DES";
|
||||
size = 56;
|
||||
}
|
||||
|
||||
KeyGenerator generator = KeyGenerator.getInstance(algorithm);
|
||||
generator.init(size);
|
||||
return generator.generateKey();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user