RFR 8051408: JEP 273: DRBG-Based SecureRandom Implementations

Wang Weijun weijun.wang at oracle.com
Fri Apr 15 13:35:54 UTC 2016


Hi All

Webrev updated again at

http://cr.openjdk.java.net/~weijun/8051408/webrev.10/
http://cr.openjdk.java.net/~weijun/8051408/webrev.10/spec
http://cr.openjdk.java.net/~weijun/8051408/webrev.10/specdiff

Changes since webrev.09:

1. The first line in DrbgParameters:

- * This class specifies the parameters used by a DRBG.
+ * This class specifies the parameters used by a DRBG (Deterministic
+ * Random Bit Generator).

2. Two new methods for DrbgParameters$Capability:

   public boolean supportsReseeding();
   public boolean supportsPredictionResistance();

So you will be able to write

 drbg = SecureRandom.getInstance("DRBG");

 SecureRandomParameters params = drbg.getParameters();
 if (params instanceof DrbgParameters.Instantiate) {
     DrbgParameters.Instantiate ins = (DrbgParameters.Instantiate) params;
     if (ins.getCapability().supportsReseeding()) {
         drbg.reseed();
     }
 }

3. More descriptive text in exception thrown.

Thanks
Max



> On Apr 5, 2016, at 10:34 AM, Wang Weijun <weijun.wang at oracle.com> wrote:
> 
> Updated webrev again at
> 
> http://cr.openjdk.java.net/~weijun/8051408/webrev.09/
> http://cr.openjdk.java.net/~weijun/8051408/webrev.09/spec
> http://cr.openjdk.java.net/~weijun/8051408/webrev.09/specdiff
> 
> The only change is that SecureRandomInstantiateParameters, SecureRandomNextBytesParameters and SecureRandomReseedParameters are removed and only a single SecureRandomParameters is added. There seems no reason to introduce 3 marker interfaces.
> 
> Thanks
> Max



More information about the security-dev mailing list