aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java')
-rw-r--r--libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java10
1 files changed, 4 insertions, 6 deletions
diff --git a/libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java b/libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java
index f6949dd8d71..2faebe8eb04 100644
--- a/libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java
+++ b/libjava/classpath/gnu/javax/crypto/jce/prng/UMacRandomSpi.java
@@ -41,6 +41,7 @@ package gnu.javax.crypto.jce.prng;
import gnu.java.security.Configuration;
import gnu.java.security.Registry;
import gnu.java.security.prng.LimitReachedException;
+import gnu.java.security.jce.prng.SecureRandomAdapter;
import gnu.javax.crypto.cipher.IBlockCipher;
import gnu.javax.crypto.prng.UMacGenerator;
@@ -57,6 +58,7 @@ public class UMacRandomSpi
extends SecureRandomSpi
{
private static final Logger log = Logger.getLogger(UMacRandomSpi.class.getName());
+
/** Class-wide prng to generate random material for the underlying prng. */
private static final UMacGenerator prng; // blank final
static
@@ -88,17 +90,13 @@ public class UMacRandomSpi
public byte[] engineGenerateSeed(int numBytes)
{
- if (numBytes < 1)
- return new byte[0];
- byte[] result = new byte[numBytes];
- this.engineNextBytes(result);
- return result;
+ return SecureRandomAdapter.getSeed(numBytes);
}
public void engineNextBytes(byte[] bytes)
{
if (! adaptee.isInitialised())
- this.engineSetSeed(new byte[0]);
+ engineSetSeed(engineGenerateSeed(32));
while (true)
{
try