summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlmaz Mingaleev <mingaleev@google.com>2021-03-11 14:39:55 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-03-11 14:39:55 +0000
commitfbf9336d2ffcd5fcaf3b9a588d4b88574d08a00c (patch)
tree24da872ed32f4dfea62eadb36ad0bce3f265df8d
parentce36139e530254ad14bffd8121a701719de215b3 (diff)
parentf2ec5d302db2eadf0969012f0d5ac79d6a0e7e23 (diff)
downloadbouncycastle-fbf9336d2ffcd5fcaf3b9a588d4b88574d08a00c.tar.gz
Merge "Do not accept null password in PKCS12KeyStoreSpi#engineStore." am: 28da8c1313 am: b4d2aa4fad am: 07ef9e0b31 am: f2ec5d302d
Original change: https://android-review.googlesource.com/c/platform/external/bouncycastle/+/1622887 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I929d76075b1af2e558536936a5988543391c40d0
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java11
-rw-r--r--repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java11
-rw-r--r--repackaged_platform/bcprov/src/main/java/com/android/internal/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java11
3 files changed, 33 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
index 4969e8a3..4c3e480d 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
@@ -1306,6 +1306,14 @@ public class PKCS12KeyStoreSpi
private void doStore(OutputStream stream, char[] password, boolean useDEREncoding)
throws IOException
{
+ // BEGIN Android-changed: Upstream allows null passwords, but we maintain historical Android
+ // behaviour.
+ // See CtsKeystoreTestCases:android.keystore.cts.KeyStoreTest
+ if (password == null)
+ {
+ throw new NullPointerException("No password supplied for PKCS#12 KeyStore.");
+ }
+ /*
if (keys.size() == 0)
{
if (password == null)
@@ -1358,6 +1366,9 @@ public class PKCS12KeyStoreSpi
throw new NullPointerException("no password supplied for PKCS#12 KeyStore");
}
}
+ */
+ // END Android-changed: Upstream allows null passwords, but we maintain historical Android
+ // behaviour.
//
// handle the key
diff --git a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
index f53f8df0..fb5f2fdd 100644
--- a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
+++ b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
@@ -1310,6 +1310,14 @@ public class PKCS12KeyStoreSpi
private void doStore(OutputStream stream, char[] password, boolean useDEREncoding)
throws IOException
{
+ // BEGIN Android-changed: Upstream allows null passwords, but we maintain historical Android
+ // behaviour.
+ // See CtsKeystoreTestCases:android.keystore.cts.KeyStoreTest
+ if (password == null)
+ {
+ throw new NullPointerException("No password supplied for PKCS#12 KeyStore.");
+ }
+ /*
if (keys.size() == 0)
{
if (password == null)
@@ -1362,6 +1370,9 @@ public class PKCS12KeyStoreSpi
throw new NullPointerException("no password supplied for PKCS#12 KeyStore");
}
}
+ */
+ // END Android-changed: Upstream allows null passwords, but we maintain historical Android
+ // behaviour.
//
// handle the key
diff --git a/repackaged_platform/bcprov/src/main/java/com/android/internal/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java b/repackaged_platform/bcprov/src/main/java/com/android/internal/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
index 0b4e2d90..d5897959 100644
--- a/repackaged_platform/bcprov/src/main/java/com/android/internal/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
+++ b/repackaged_platform/bcprov/src/main/java/com/android/internal/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java
@@ -1310,6 +1310,14 @@ public class PKCS12KeyStoreSpi
private void doStore(OutputStream stream, char[] password, boolean useDEREncoding)
throws IOException
{
+ // BEGIN Android-changed: Upstream allows null passwords, but we maintain historical Android
+ // behaviour.
+ // See CtsKeystoreTestCases:android.keystore.cts.KeyStoreTest
+ if (password == null)
+ {
+ throw new NullPointerException("No password supplied for PKCS#12 KeyStore.");
+ }
+ /*
if (keys.size() == 0)
{
if (password == null)
@@ -1362,6 +1370,9 @@ public class PKCS12KeyStoreSpi
throw new NullPointerException("no password supplied for PKCS#12 KeyStore");
}
}
+ */
+ // END Android-changed: Upstream allows null passwords, but we maintain historical Android
+ // behaviour.
//
// handle the key