Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2014-04-16 12:27:11 +0400
committerPeter Dettman <peter.dettman@bouncycastle.org>2014-04-16 12:27:11 +0400
commitebf12462c90670fdbe123d5ccb7a431e5e118b33 (patch)
tree82f75e1d350ec6c0d6ab27e2b99af319786281dc /core/src/main/java/org/bouncycastle
parent3cc0a8966019034b52980d819eb8efef17a2bf23 (diff)
Include a (static) counter as extra seeding to the SecureRandom
Diffstat (limited to 'core/src/main/java/org/bouncycastle')
-rw-r--r--core/src/main/java/org/bouncycastle/crypto/tls/AbstractTlsContext.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/src/main/java/org/bouncycastle/crypto/tls/AbstractTlsContext.java b/core/src/main/java/org/bouncycastle/crypto/tls/AbstractTlsContext.java
index 89e95b85..0b9949f9 100644
--- a/core/src/main/java/org/bouncycastle/crypto/tls/AbstractTlsContext.java
+++ b/core/src/main/java/org/bouncycastle/crypto/tls/AbstractTlsContext.java
@@ -9,6 +9,13 @@ import org.bouncycastle.util.Times;
abstract class AbstractTlsContext
implements TlsContext
{
+ private static long counter = Times.nanoTime();
+
+ private synchronized static long nextCounterValue()
+ {
+ return ++counter;
+ }
+
private RandomGenerator nonceRandom;
private SecureRandom secureRandom;
private SecurityParameters securityParameters;
@@ -20,6 +27,7 @@ abstract class AbstractTlsContext
AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters)
{
+ secureRandom.setSeed(nextCounterValue());
secureRandom.setSeed(Times.nanoTime());
this.nonceRandom = new DigestRandomGenerator(TlsUtils.createHash(HashAlgorithm.sha256));