Skip to content

Commit 29daeac

Browse files
committed
[refactor] re-use SecureRandom + house-keeping
1 parent 78a6434 commit 29daeac

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

src/main/java/org/jruby/ext/openssl/PKeyEC.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@
1717
import java.security.KeyFactory;
1818
import java.security.KeyPair;
1919
import java.security.KeyPairGenerator;
20-
import java.security.MessageDigest;
2120
import java.security.NoSuchAlgorithmException;
2221
import java.security.PrivateKey;
2322
import java.security.PublicKey;
2423

25-
import java.security.SecureRandom;
26-
import java.security.SignatureException;
2724
import java.security.interfaces.ECPrivateKey;
2825
import java.security.interfaces.ECPublicKey;
2926
import java.security.spec.ECGenParameterSpec;
@@ -427,7 +424,7 @@ public PKeyEC generate_key(final ThreadContext context) {
427424
try {
428425
ECGenParameterSpec genSpec = new ECGenParameterSpec(getCurveName());
429426
KeyPairGenerator gen = SecurityHelper.getKeyPairGenerator("EC"); // "BC"
430-
gen.initialize(genSpec, new SecureRandom());
427+
gen.initialize(genSpec, OpenSSL.getSecureRandom(context));
431428
KeyPair pair = gen.generateKeyPair();
432429
this.publicKey = (ECPublicKey) pair.getPublic();
433430
this.privateKey = pair.getPrivate();
@@ -537,11 +534,8 @@ public IRubyObject dh_compute_key(final ThreadContext context, final IRubyObject
537534
final byte[] secret = agreement.generateSecret();
538535
return StringHelper.newString(context.runtime, secret);
539536
}
540-
catch (NoSuchAlgorithmException ex) {
541-
throw newECError(context.runtime, ex.toString());
542-
}
543537
catch (InvalidKeyException ex) {
544-
throw newECError(context.runtime, ex.toString());
538+
throw newECError(context.runtime, "invalid key: " + ex.getMessage());
545539
}
546540
catch (GeneralSecurityException ex) {
547541
throw newECError(context.runtime, ex.toString());

0 commit comments

Comments
 (0)