diff --git a/.ruleset b/.ruleset index ef6e7d9..467ba2e 100644 --- a/.ruleset +++ b/.ruleset @@ -136,7 +136,7 @@ - + @@ -147,7 +147,6 @@ - @@ -231,8 +230,11 @@ - - + + + + + @@ -245,7 +247,6 @@ - @@ -313,7 +314,7 @@ - + diff --git a/buildSrc/src/main/groovy/buildlogic.java-common-conventions.gradle b/buildSrc/src/main/groovy/buildlogic.java-common-conventions.gradle index d293c19..aa32b3d 100644 --- a/buildSrc/src/main/groovy/buildlogic.java-common-conventions.gradle +++ b/buildSrc/src/main/groovy/buildlogic.java-common-conventions.gradle @@ -30,9 +30,9 @@ repositories { dependencies { constraints { // Define dependency versions as constraints - implementation 'org.apache.commons:commons-text:1.11.0' - implementation 'commons-cli:commons-cli:1.9.0' - implementation 'org.bouncycastle:bcpkix-jdk18on:1.81' + implementation 'org.apache.commons:commons-text:1.15.0' + implementation 'commons-cli:commons-cli:1.11.0' + implementation 'org.bouncycastle:bcpkix-jdk18on:1.83' implementation 'org.egothor:conflux:[1.0,2.0)' implementation 'org.apache.commons:commons-imaging:1.0.0-alpha6' } @@ -45,7 +45,7 @@ dependencies { pmd { consoleOutput = true - toolVersion = '7.16.0' + toolVersion = '7.19.0' sourceSets = [sourceSets.main] ruleSetFiles = files(rootProject.file(".ruleset")) } diff --git a/lib/src/main/java/zeroecho/core/CryptoAlgorithms.java b/lib/src/main/java/zeroecho/core/CryptoAlgorithms.java index 5812302..68b267f 100644 --- a/lib/src/main/java/zeroecho/core/CryptoAlgorithms.java +++ b/lib/src/main/java/zeroecho/core/CryptoAlgorithms.java @@ -518,7 +518,7 @@ public final class CryptoAlgorithms { destroyed = true; } } - } catch (Exception ignored) { // NOPMD + } catch (Exception ignored) { // swallow and report via audit only if destroyed } if (destroyed) { diff --git a/lib/src/main/java/zeroecho/core/alg/bike/BikeKemContext.java b/lib/src/main/java/zeroecho/core/alg/bike/BikeKemContext.java index 075d391..dfc32c4 100644 --- a/lib/src/main/java/zeroecho/core/alg/bike/BikeKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/bike/BikeKemContext.java @@ -186,7 +186,7 @@ public final class BikeKemContext implements KemContext { .createKey(key.getEncoded()); BIKEKEMExtractor ex = new BIKEKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("BIKE decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/cmce/CmceKemContext.java b/lib/src/main/java/zeroecho/core/alg/cmce/CmceKemContext.java index 8527489..4180eb8 100644 --- a/lib/src/main/java/zeroecho/core/alg/cmce/CmceKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/cmce/CmceKemContext.java @@ -219,7 +219,7 @@ public final class CmceKemContext implements KemContext { .createKey(key.getEncoded()); CMCEKEMExtractor ex = new CMCEKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("CMCE decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/frodo/FrodoKemContext.java b/lib/src/main/java/zeroecho/core/alg/frodo/FrodoKemContext.java index 796eef6..7a11bf4 100644 --- a/lib/src/main/java/zeroecho/core/alg/frodo/FrodoKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/frodo/FrodoKemContext.java @@ -212,7 +212,7 @@ public final class FrodoKemContext implements KemContext { .createKey(key.getEncoded()); FrodoKEMExtractor ex = new FrodoKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("Frodo decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/hqc/HqcKemContext.java b/lib/src/main/java/zeroecho/core/alg/hqc/HqcKemContext.java index 50610a0..fac759e 100644 --- a/lib/src/main/java/zeroecho/core/alg/hqc/HqcKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/hqc/HqcKemContext.java @@ -213,7 +213,7 @@ public final class HqcKemContext implements KemContext { .createKey(key.getEncoded()); HQCKEMExtractor ex = new HQCKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("HQC decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/kyber/KyberKemContext.java b/lib/src/main/java/zeroecho/core/alg/kyber/KyberKemContext.java index 8e3a6e5..ec3b878 100644 --- a/lib/src/main/java/zeroecho/core/alg/kyber/KyberKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/kyber/KyberKemContext.java @@ -220,7 +220,7 @@ public final class KyberKemContext implements KemContext { MLKEMExtractor gen = new MLKEMExtractor(keyParam); return gen.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("Kyber decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/ntru/NtruKemContext.java b/lib/src/main/java/zeroecho/core/alg/ntru/NtruKemContext.java index addcbdb..4192216 100644 --- a/lib/src/main/java/zeroecho/core/alg/ntru/NtruKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/ntru/NtruKemContext.java @@ -250,7 +250,7 @@ public final class NtruKemContext implements KemContext { .createKey(key.getEncoded()); NTRUKEMExtractor ex = new NTRUKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("NTRU decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/ntruprime/NtrulPrimeKemContext.java b/lib/src/main/java/zeroecho/core/alg/ntruprime/NtrulPrimeKemContext.java index 5d3052b..6533b0c 100644 --- a/lib/src/main/java/zeroecho/core/alg/ntruprime/NtrulPrimeKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/ntruprime/NtrulPrimeKemContext.java @@ -212,7 +212,7 @@ public final class NtrulPrimeKemContext implements KemContext { .createKey(key.getEncoded()); NTRULPRimeKEMExtractor ex = new NTRULPRimeKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("NTRULPRime decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/ntruprime/SntruPrimeKemContext.java b/lib/src/main/java/zeroecho/core/alg/ntruprime/SntruPrimeKemContext.java index b490062..d118eb5 100644 --- a/lib/src/main/java/zeroecho/core/alg/ntruprime/SntruPrimeKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/ntruprime/SntruPrimeKemContext.java @@ -218,7 +218,7 @@ public final class SntruPrimeKemContext implements KemContext { .createKey(key.getEncoded()); SNTRUPrimeKEMExtractor ex = new SNTRUPrimeKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("SNTRUPrime decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/alg/saber/SaberKemContext.java b/lib/src/main/java/zeroecho/core/alg/saber/SaberKemContext.java index 38c8b3e..0fa67bf 100644 --- a/lib/src/main/java/zeroecho/core/alg/saber/SaberKemContext.java +++ b/lib/src/main/java/zeroecho/core/alg/saber/SaberKemContext.java @@ -217,7 +217,7 @@ public final class SaberKemContext implements KemContext { .createKey(key.getEncoded()); SABERKEMExtractor ex = new SABERKEMExtractor(keyParam); return ex.extractSecret(ciphertext); - } catch (Exception e) { // NOPMD + } catch (Exception e) { throw new IOException("SABER decapsulate failed", e); } } diff --git a/lib/src/main/java/zeroecho/core/io/SmartContinuousBlockStream.java b/lib/src/main/java/zeroecho/core/io/SmartContinuousBlockStream.java index 9a3d32c..38b14aa 100644 --- a/lib/src/main/java/zeroecho/core/io/SmartContinuousBlockStream.java +++ b/lib/src/main/java/zeroecho/core/io/SmartContinuousBlockStream.java @@ -166,7 +166,7 @@ final class SmartContinuousBlockStream extends AbstractChunkTransformInputStream out = outBuf = Arrays.copyOf(outBuf, outOff + finBlockSize); // NOPMD } - int written = cipher.doFinal(in, inOff, len, out, outOff); // NOPMD + int written = cipher.doFinal(in, inOff, len, out, outOff); return written; // return cipher.doFinal(in, inOff, len, out, outOff);