summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergio Giro <sgiro@google.com>2016-03-18 10:42:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-03-18 10:42:54 +0000
commit6f9e4b2dd27c8de02b5bfc001dd7ca82fe4ada0b (patch)
treeaee47d9e4ded5fa1067e4ab1da6e9f1d22778c1b
parent6839f99000048f9f122932adfc0c149eace5cdfa (diff)
parentd66ae962406981a998aa3d8a6c7311a8f23276a6 (diff)
downloadbouncycastle-6f9e4b2dd27c8de02b5bfc001dd7ca82fe4ada0b.tar.gz
Merge "BaseBlockCipher: for BCEPBEKeys, ignore parameters if no IV is present" into nyc-dev
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java
index da2b4d56..eec06f31 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java
@@ -553,7 +553,15 @@ public class BaseBlockCipher
}
if (key instanceof BCPBEKey)
{
- if (((BCPBEKey)key).getParam() != null)
+ // BEGIN android-changed
+ // Was:
+ // if (((BCPBEKey)key).getParam() != null)
+ // Change taken from:
+ // https://github.com/bcgit/bc-java/commit/fcba5c782188d772148ba168beae368d06646ee2
+ // PKCS#12 sets an IV, if we get a key that doesn't have ParametersWithIV we need to forget about the fact
+ // it's a BCPBEKey
+ if (((BCPBEKey)key).getParam() != null && ((BCPBEKey)key).getParam() instanceof ParametersWithIV)
+ // END android-changed
{
param = ((BCPBEKey)key).getParam();
}