summaryrefslogtreecommitdiff
path: root/bcprov
diff options
context:
space:
mode:
authorSergio Giro <sgiro@google.com>2016-03-15 19:25:39 +0000
committerSergio Giro <sgiro@google.com>2016-03-16 14:55:01 +0000
commitd66ae962406981a998aa3d8a6c7311a8f23276a6 (patch)
tree3aaafb5559f91bc01655d461ba48631571e87aba /bcprov
parentc8f9dc88f7b38016a48406ebbd76421439068860 (diff)
downloadbouncycastle-d66ae962406981a998aa3d8a6c7311a8f23276a6.tar.gz
BaseBlockCipher: for BCEPBEKeys, ignore parameters if no IV is present
Bug: 27224566 Change-Id: I41ffba9a23770c1c0deea6969c0a4d8c551d8ab3
Diffstat (limited to 'bcprov')
-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();
}