diff options
author | David Hook <dgh@cryptoworkshop.com> | 2013-12-14 08:58:56 +0400 |
---|---|---|
committer | David Hook <dgh@cryptoworkshop.com> | 2013-12-14 08:58:56 +0400 |
commit | 95c5c6fc64b7b160527fe7c566f7f1149a2aa18a (patch) | |
tree | 2b928c2d39ae598f0229abba544ff530a3121ae9 | |
parent | 34118373fd071bd97f83ea019df1db6c2f806210 (diff) |
BJA-743 corrected return value for AEAD with GCM.
-rw-r--r-- | prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java | 5 | ||||
-rw-r--r-- | prov/src/test/java/org/bouncycastle/jce/provider/test/AEADTest.java | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java b/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java index 943fa186..80a86a74 100644 --- a/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java +++ b/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java @@ -162,6 +162,11 @@ public class BaseBlockCipher protected byte[] engineGetIV() { + if (aeadParams != null) + { + return aeadParams.getNonce(); + } + return (ivParam != null) ? ivParam.getIV() : null; } diff --git a/prov/src/test/java/org/bouncycastle/jce/provider/test/AEADTest.java b/prov/src/test/java/org/bouncycastle/jce/provider/test/AEADTest.java index bd536f84..6c0bd3e2 100644 --- a/prov/src/test/java/org/bouncycastle/jce/provider/test/AEADTest.java +++ b/prov/src/test/java/org/bouncycastle/jce/provider/test/AEADTest.java @@ -238,6 +238,11 @@ public class AEADTest extends SimpleTest { fail("spec parameters mismatch"); } + + if (!Arrays.areEqual(eax.getIV(), gcmParameters.getNonce())) + { + fail("iv mismatch"); + } } public static void main(String[] args) throws Exception |