# HG changeset patch # User wetmore # Date 1380731937 25200 # Node ID b94e6ca6400633ea4057e9ec19cd8bb70093932e # Parent 3fdfa9294734b32c1acfa80b7b88a199c984eb2b 8025694: Rename getStrongSecureRandom based on feedback 8014838: getStrongSecureRandom() should require at least one implementation Reviewed-by: mullan, darcy diff -r 3fdfa9294734 -r b94e6ca64006 jdk/src/share/classes/java/security/SecureRandom.java --- a/jdk/src/share/classes/java/security/SecureRandom.java Tue Oct 01 17:48:01 2013 +0200 +++ b/jdk/src/share/classes/java/security/SecureRandom.java Wed Oct 02 09:38:57 2013 -0700 @@ -578,39 +578,30 @@ /** * Returns a {@code SecureRandom} object that was selected by using * the algorithms/providers specified in the {@code - * securerandom.strongAlgorithms} Security property. + * securerandom.strongAlgorithms} {@link Security} property. *
* Some situations require strong random values, such as when * creating high-value/long-lived secrets like RSA public/private * keys. To help guide applications in selecting a suitable strong - * {@code SecureRandom} implementation, Java distributions should + * {@code SecureRandom} implementation, Java distributions * include a list of known strong {@code SecureRandom} * implementations in the {@code securerandom.strongAlgorithms} * Security property. - * - *
- * SecureRandom sr = SecureRandom.getStrongSecureRandom(); - * - * if (sr == null) { - * // Decide if this is a problem, and whether to recover. - * sr = new SecureRandom(); - * if (!goodEnough(sr)) { - * return; - * } - * } - * - * keyPairGenerator.initialize(2048, sr); - *+ *
+ * Every implementation of the Java platform is required to
+ * support at least one strong {@code SecureRandom} implementation.
*
* @return a strong {@code SecureRandom} implementation as indicated
- * by the {@code securerandom.strongAlgorithms} Security property, or
- * null if none are available.
+ * by the {@code securerandom.strongAlgorithms} Security property
+ *
+ * @throws NoSuchAlgorithmException if no algorithm is available
*
* @see Security#getProperty(String)
*
* @since 1.8
*/
- public static SecureRandom getStrongSecureRandom() {
+ public static SecureRandom getInstanceStrong()
+ throws NoSuchAlgorithmException {
String property = AccessController.doPrivileged(
new PrivilegedAction