From 9615fe0d7ca41e62fe731fd1d71dcd73e2b267bc Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Thu, 15 Jun 2017 11:47:56 -0600 Subject: [PATCH] JCE: code review fixes, cleanup --- .../provider/jce/WolfCryptKeyAgreement.java | 8 ++++++++ .../jce/WolfCryptKeyPairGenerator.java | 2 +- .../com/wolfssl/provider/jce/WolfCryptMac.java | 6 +++++- .../provider/jce/WolfCryptSignature.java | 18 +++++++++++++----- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyAgreement.java b/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyAgreement.java index a66b966..ae3e5d5 100644 --- a/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyAgreement.java +++ b/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyAgreement.java @@ -237,6 +237,10 @@ public class WolfCryptKeyAgreement extends KeyAgreementSpi { } tmp = this.dh.makeSharedSecret(this.dh); + if (tmp == null) { + throw new RuntimeException("Error when creating DH " + + "shared secret"); + } if ((sharedSecret.length - offset) < tmp.length) { zeroArray(tmp); @@ -256,6 +260,10 @@ public class WolfCryptKeyAgreement extends KeyAgreementSpi { case WC_ECDH: tmp = this.ecPrivate.makeSharedSecret(this.ecPublic); + if (tmp == null) { + throw new RuntimeException("Error when creating ECDH " + + "shared secret"); + } if ((sharedSecret.length - offset) < tmp.length) { zeroArray(tmp); diff --git a/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyPairGenerator.java b/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyPairGenerator.java index 461bf43..bdaef92 100644 --- a/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyPairGenerator.java +++ b/src/main/java/com/wolfssl/provider/jce/WolfCryptKeyPairGenerator.java @@ -161,7 +161,7 @@ public class WolfCryptKeyPairGenerator extends KeyPairGeneratorSpi { "Invalid parameters, either p or g is null"); } - if (debug.DEBUG) + if ((this.dhP != null) && debug.DEBUG) log("init with spec, prime len: " + this.dhP.length); break; diff --git a/src/main/java/com/wolfssl/provider/jce/WolfCryptMac.java b/src/main/java/com/wolfssl/provider/jce/WolfCryptMac.java index e7ddc00..704eda3 100644 --- a/src/main/java/com/wolfssl/provider/jce/WolfCryptMac.java +++ b/src/main/java/com/wolfssl/provider/jce/WolfCryptMac.java @@ -111,7 +111,11 @@ public class WolfCryptMac extends MacSpi { byte[] out = this.hmac.doFinal(); if (debug.DEBUG) - log("final digest generated, len: " + out.length); + if (out != null) { + log("final digest generated, len: " + out.length); + } else { + log("final digest was null"); + } return out; } diff --git a/src/main/java/com/wolfssl/provider/jce/WolfCryptSignature.java b/src/main/java/com/wolfssl/provider/jce/WolfCryptSignature.java index 9e1e38e..9c74534 100644 --- a/src/main/java/com/wolfssl/provider/jce/WolfCryptSignature.java +++ b/src/main/java/com/wolfssl/provider/jce/WolfCryptSignature.java @@ -433,8 +433,13 @@ public class WolfCryptSignature extends SignatureSpi { rng.free(); rng.releaseNativeStruct(); - if (debug.DEBUG) - log("generated signature, len: " + signature.length); + if (debug.DEBUG) { + if (signature != null) { + log("generated signature, len: " + signature.length); + } else { + log("generated signature was null"); + } + } return signature; } @@ -560,9 +565,12 @@ public class WolfCryptSignature extends SignatureSpi { break; } - if (debug.DEBUG) - log("finished verify of sig len: " + sigBytes.length + - ", verified: " + verified); + if (debug.DEBUG) { + if (sigBytes != null) { + log("finished verify of sig len: " + sigBytes.length + + ", verified: " + verified); + } + } return verified; }