From e5c8a1415da8b300ef9b72a26ac3103d11d8e79a Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Tue, 29 Nov 2011 21:07:50 +0000
Subject: [PATCH] Use a single SecureRandom instance to avoid blocking on
 creation.

---
 components/net/sf/briar/crypto/CryptoComponentImpl.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/components/net/sf/briar/crypto/CryptoComponentImpl.java b/components/net/sf/briar/crypto/CryptoComponentImpl.java
index db329f1878..2580d2ab25 100644
--- a/components/net/sf/briar/crypto/CryptoComponentImpl.java
+++ b/components/net/sf/briar/crypto/CryptoComponentImpl.java
@@ -50,6 +50,7 @@ class CryptoComponentImpl implements CryptoComponent {
 
 	private final KeyParser keyParser;
 	private final KeyPairGenerator keyPairGenerator;
+	private final SecureRandom secureRandom;
 
 	@Inject
 	CryptoComponentImpl() {
@@ -62,6 +63,7 @@ class CryptoComponentImpl implements CryptoComponent {
 		} catch(GeneralSecurityException e) {
 			throw new RuntimeException(e);
 		}
+		secureRandom = new SecureRandom();
 	}
 
 	public ErasableKey deriveFrameKey(byte[] secret, boolean initiator) {
@@ -171,8 +173,7 @@ class CryptoComponentImpl implements CryptoComponent {
 	}
 
 	public SecureRandom getSecureRandom() {
-		// FIXME: Implement a PRNG (pony/rainbow/nyancat generator)
-		return new SecureRandom();
+		return secureRandom;
 	}
 
 	public Signature getSignature() {
-- 
GitLab