mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 23:34:52 +02:00
8285263: Minor cleanup could be done in java.security
Reviewed-by: weijun
This commit is contained in:
parent
b97a4f6cdc
commit
17695962ac
94 changed files with 480 additions and 601 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1996, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1996, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -25,18 +25,18 @@
|
|||
|
||||
package java.security;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.*;
|
||||
import java.util.random.RandomGenerator;
|
||||
import java.util.regex.*;
|
||||
import java.security.Provider.Service;
|
||||
|
||||
import jdk.internal.util.random.RandomSupport.RandomGeneratorProperties;
|
||||
import sun.security.jca.*;
|
||||
import sun.security.jca.GetInstance;
|
||||
import sun.security.jca.GetInstance.Instance;
|
||||
import sun.security.jca.Providers;
|
||||
import sun.security.provider.SunEntries;
|
||||
import sun.security.util.Debug;
|
||||
|
||||
import java.security.Provider.Service;
|
||||
import java.util.Objects;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* This class provides a cryptographically strong random number
|
||||
* generator (RNG).
|
||||
|
@ -47,7 +47,7 @@ import sun.security.util.Debug;
|
|||
* <i>FIPS 140-2, Security Requirements for Cryptographic Modules</i></a>,
|
||||
* section 4.9.1.
|
||||
* Additionally, {@code SecureRandom} must produce non-deterministic output.
|
||||
* Therefore any seed material passed to a {@code SecureRandom} object must be
|
||||
* Therefore, any seed material passed to a {@code SecureRandom} object must be
|
||||
* unpredictable, and all {@code SecureRandom} output sequences must be
|
||||
* cryptographically strong, as described in
|
||||
* <a href="https://tools.ietf.org/html/rfc4086">
|
||||
|
@ -204,7 +204,7 @@ public class SecureRandom extends java.util.Random {
|
|||
* A new {@code SecureRandom} object encapsulating the
|
||||
* {@code SecureRandomSpi} implementation from the first
|
||||
* Provider that supports a {@code SecureRandom} (RNG) algorithm is returned.
|
||||
* If none of the Providers support a RNG algorithm,
|
||||
* If none of the Providers support an RNG algorithm,
|
||||
* then an implementation-specific default is returned.
|
||||
*
|
||||
* <p> Note that the list of registered providers may be retrieved via
|
||||
|
@ -245,7 +245,7 @@ public class SecureRandom extends java.util.Random {
|
|||
* A new {@code SecureRandom} object encapsulating the
|
||||
* {@code SecureRandomSpi} implementation from the first
|
||||
* Provider that supports a {@code SecureRandom} (RNG) algorithm is returned.
|
||||
* If none of the Providers support a RNG algorithm,
|
||||
* If none of the Providers support an RNG algorithm,
|
||||
* then an implementation-specific default is returned.
|
||||
*
|
||||
* <p> Note that the list of registered providers may be retrieved via
|
||||
|
@ -284,7 +284,7 @@ public class SecureRandom extends java.util.Random {
|
|||
}
|
||||
}
|
||||
}
|
||||
// per javadoc, if none of the Providers support a RNG algorithm,
|
||||
// per javadoc, if none of the Providers support an RNG algorithm,
|
||||
// then an implementation-specific default is returned.
|
||||
if (prngService == null) {
|
||||
prngAlgorithm = "SHA1PRNG";
|
||||
|
@ -360,7 +360,7 @@ public class SecureRandom extends java.util.Random {
|
|||
* {@code jdk.security.provider.preferred}
|
||||
* {@link Security#getProperty(String) Security} property to determine
|
||||
* the preferred provider order for the specified algorithm. This
|
||||
* may be different than the order of providers returned by
|
||||
* may be different from the order of providers returned by
|
||||
* {@link Security#getProviders() Security.getProviders()}.
|
||||
*
|
||||
* @param algorithm the name of the RNG algorithm.
|
||||
|
@ -497,7 +497,7 @@ public class SecureRandom extends java.util.Random {
|
|||
* The JDK Reference Implementation additionally uses the
|
||||
* {@code jdk.security.provider.preferred} property to determine
|
||||
* the preferred provider order for the specified algorithm. This
|
||||
* may be different than the order of providers returned by
|
||||
* may be different from the order of providers returned by
|
||||
* {@link Security#getProviders() Security.getProviders()}.
|
||||
*
|
||||
* @param algorithm the name of the RNG algorithm.
|
||||
|
@ -796,7 +796,7 @@ public class SecureRandom extends java.util.Random {
|
|||
* Generates an integer containing the user-specified number of
|
||||
* pseudo-random bits (right justified, with leading zeros). This
|
||||
* method overrides a {@code java.util.Random} method, and serves
|
||||
* to provide a source of random bits to all of the methods inherited
|
||||
* to provide a source of random bits to all the methods inherited
|
||||
* from that class (for example, {@code nextInt},
|
||||
* {@code nextLong}, and {@code nextFloat}).
|
||||
*
|
||||
|
@ -900,9 +900,9 @@ public class SecureRandom extends java.util.Random {
|
|||
* 4 - ,nextEntry (optional)
|
||||
* 5 - nextEntry (optional)
|
||||
*/
|
||||
private static Pattern pattern =
|
||||
private static final Pattern pattern =
|
||||
Pattern.compile(
|
||||
"\\s*([\\S&&[^:,]]*)(\\:([\\S&&[^,]]*))?\\s*(\\,(.*))?");
|
||||
"\\s*([\\S&&[^:,]]*)(:([\\S&&[^,]]*))?\\s*(,(.*))?");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -935,13 +935,8 @@ public class SecureRandom extends java.util.Random {
|
|||
|
||||
@SuppressWarnings("removal")
|
||||
String property = AccessController.doPrivileged(
|
||||
new PrivilegedAction<>() {
|
||||
@Override
|
||||
public String run() {
|
||||
return Security.getProperty(
|
||||
"securerandom.strongAlgorithms");
|
||||
}
|
||||
});
|
||||
(PrivilegedAction<String>) () -> Security.getProperty(
|
||||
"securerandom.strongAlgorithms"));
|
||||
|
||||
if (property == null || property.isEmpty()) {
|
||||
throw new NoSuchAlgorithmException(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue