Use a single SecureRandom instance to avoid blocking on creation.

This commit is contained in:
akwizgran
2011-11-29 21:07:50 +00:00
parent a3067dbff8
commit e5c8a1415d

View File

@@ -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() {