Update AesKeyProducer.java (#4211)

This commit is contained in:
rtm516 2023-10-15 21:51:06 +01:00 committed by GitHub
parent 3fa35b2cb9
commit 6b67e43f84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 8 deletions

View File

@ -55,19 +55,20 @@ public final class AesKeyProducer implements KeyProducer {
}
private SecureRandom secureRandom() throws NoSuchAlgorithmException {
// use Windows-PRNG for windows (default impl is SHA1PRNG)
if (System.getProperty("os.name").startsWith("Windows")) {
return SecureRandom.getInstance("Windows-PRNG");
} else {
try {
try {
// use Windows-PRNG for windows (default impl is SHA1PRNG)
if (System.getProperty("os.name").startsWith("Windows")) {
return SecureRandom.getInstance("Windows-PRNG");
} else {
// NativePRNG (which should be the default on unix-systems) can still block your
// system. Even though it isn't as bad as NativePRNGBlocking, we still try to
// prevent that if possible
return SecureRandom.getInstance("NativePRNGNonBlocking");
} catch (NoSuchAlgorithmException ignored) {
// at this point we just have to go with the default impl even if it blocks
return new SecureRandom();
}
} catch (NoSuchAlgorithmException ignored) {
// Fall back to the default impl as we couldn't load any others
return new SecureRandom();
}
}
}