diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-05-25 07:17:57 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-05-25 07:17:57 +0000 |
commit | cd9ea7ec6305a93cbe247af670a79d27800bffaa (patch) | |
tree | 14bbcdd784d44c9bd80fee049311c84aacdf26c9 | |
parent | 67a9c22f7241ac8a774ddf61864cf1dd6cc8972e (diff) | |
parent | 7261f906ea22ee68ee2c96510740c6f73c6442fa (diff) | |
download | bouncycastle-oreo-r6-release.tar.gz |
release-request-33b11ddd-d658-45bf-bdb2-acceb024fe39-for-git_oc-release-4042766 snap-temp-L87400000067730042android-cts-8.0_r9android-cts-8.0_r8android-cts-8.0_r7android-cts-8.0_r6android-cts-8.0_r5android-cts-8.0_r4android-cts-8.0_r3android-cts-8.0_r26android-cts-8.0_r25android-cts-8.0_r24android-cts-8.0_r23android-cts-8.0_r22android-cts-8.0_r21android-cts-8.0_r20android-cts-8.0_r2android-cts-8.0_r19android-cts-8.0_r18android-cts-8.0_r17android-cts-8.0_r16android-cts-8.0_r15android-cts-8.0_r14android-cts-8.0_r13android-cts-8.0_r12android-cts-8.0_r11android-cts-8.0_r10android-cts-8.0_r1android-8.0.0_r9android-8.0.0_r7android-8.0.0_r4android-8.0.0_r36android-8.0.0_r35android-8.0.0_r32android-8.0.0_r31android-8.0.0_r30android-8.0.0_r3android-8.0.0_r29android-8.0.0_r28android-8.0.0_r2android-8.0.0_r17android-8.0.0_r16android-8.0.0_r15android-8.0.0_r13android-8.0.0_r12android-8.0.0_r11android-8.0.0_r10android-8.0.0_r1oreo-releaseoreo-r6-releaseoreo-r5-releaseoreo-r4-releaseoreo-r3-releaseoreo-r2-releaseoreo-cts-release
Change-Id: I99babb97b304c87c68d75a8fa311cb23801e1162
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java | 19 |
1 files changed, 11 insertions, 8 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 59b715ad..63d7b351 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 @@ -642,14 +642,17 @@ public class BaseBlockCipher { pbeSpec = (PBEParameterSpec)params; // BEGIN android-added - // At this point, k.getParam() == null, so the key hasn't been generated. Recreate - // the BCPBEKey with specs from algorithm parameters as to generate the key. - k = new BCPBEKey(k.getAlgorithm(), k.getOID(), k.getType(), k.getDigest(), - k.getKeySize(), k.getIvSize(), - new PBEKeySpec( - k.getPassword(), pbeSpec.getSalt(), pbeSpec.getIterationCount(), - k.getKeySize()), - null /* CipherParameters */); + // At this point, k.getParam() == null, so the key hasn't been generated. If + // the parameters have non-default values, recreate the BCPBEKey from algorithm + // parameters as to generate the key. + if ((pbeSpec.getSalt().length != 0) && (pbeSpec.getIterationCount() > 0)) { + k = new BCPBEKey(k.getAlgorithm(), k.getOID(), k.getType(), k.getDigest(), + k.getKeySize(), k.getIvSize(), + new PBEKeySpec( + k.getPassword(), pbeSpec.getSalt(), pbeSpec.getIterationCount(), + k.getKeySize()), + null /* CipherParameters */); + } // END android-added param = PBE.Util.makePBEParameters(k, params, cipher.getUnderlyingCipher().getAlgorithmName()); } |