1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/src/crypto/tls/AbstractTlsContext.cs b/crypto/src/crypto/tls/AbstractTlsContext.cs
index 6c663f54d..83150d37e 100644
--- a/crypto/src/crypto/tls/AbstractTlsContext.cs
+++ b/crypto/src/crypto/tls/AbstractTlsContext.cs
@@ -28,11 +28,14 @@ namespace Org.BouncyCastle.Crypto.Tls
internal AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters)
{
- secureRandom.SetSeed(NextCounterValue());
- secureRandom.SetSeed(Times.NanoTime());
-
- this.mNonceRandom = new DigestRandomGenerator(TlsUtilities.CreateHash(HashAlgorithm.sha256));
- this.mNonceRandom.AddSeedMaterial(secureRandom.GenerateSeed(32));
+ IDigest d = TlsUtilities.CreateHash(HashAlgorithm.sha256);
+ byte[] seed = new byte[d.GetDigestSize()];
+ secureRandom.NextBytes(seed);
+
+ this.mNonceRandom = new DigestRandomGenerator(d);
+ mNonceRandom.AddSeedMaterial(NextCounterValue());
+ mNonceRandom.AddSeedMaterial(Times.NanoTime());
+ mNonceRandom.AddSeedMaterial(seed);
this.mSecureRandom = secureRandom;
this.mSecurityParameters = securityParameters;
|