summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Klyubin <klyubin@google.com>2013-03-19 12:26:57 -0700
committerAlex Klyubin <klyubin@google.com>2013-03-19 12:33:06 -0700
commitb4d3d296c30f59214c961c928dc708889ceba3d4 (patch)
tree0bc91df784eacb96d6ec664a8e81741d157953a3
parent43be13a7c7968ba079c87fed7143ec4b6c642b2e (diff)
downloadbouncycastle-b4d3d296c30f59214c961c928dc708889ceba3d4.tar.gz
Make ECDH KeyAgreement reject AlgorithmParameterSpec.
This makes the BouncyCastle JCA Provider pass libcore.javax.crypto.ECDHKeyAgreementTest. Change-Id: I462c93a19c5dfc00733deb76351631ab4b4601da
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java6
-rw-r--r--patches/bcprov.patch19
2 files changed, 22 insertions, 3 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
index cc9b2dbe..cade2288 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
@@ -221,6 +221,12 @@ public class KeyAgreementSpi
SecureRandom random)
throws InvalidKeyException, InvalidAlgorithmParameterException
{
+ // BEGIN android-added
+ if (params != null)
+ {
+ throw new InvalidAlgorithmParameterException("No algorithm parameters supported");
+ }
+ // END android-added
initFromKey(key);
}
diff --git a/patches/bcprov.patch b/patches/bcprov.patch
index c1d1bccc..695215bd 100644
--- a/patches/bcprov.patch
+++ b/patches/bcprov.patch
@@ -1954,7 +1954,7 @@ diff -Naur bcprov-jdk15on-148.orig/org/bouncycastle/jcajce/provider/asymmetric/e
return name;
diff -Naur bcprov-jdk15on-148.orig/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java bcprov-jdk15on-148/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java
--- bcprov-jdk15on-148.orig/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java 2013-02-10 00:37:58.000000000 +0000
-+++ bcprov-jdk15on-148/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java 2013-01-31 02:26:40.000000000 +0000
++++ bcprov-jdk15on-148/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyAgreementSpi.java 2013-03-19 19:26:57.000000000 +0000
@@ -23,20 +23,26 @@
import org.bouncycastle.crypto.CipherParameters;
import org.bouncycastle.crypto.DerivationFunction;
@@ -2121,7 +2121,20 @@ diff -Naur bcprov-jdk15on-148.orig/org/bouncycastle/jcajce/provider/asymmetric/e
{
// TODO Should we be ensuring the key is the right length?
}
-@@ -219,35 +235,37 @@
+@@ -205,6 +221,12 @@
+ SecureRandom random)
+ throws InvalidKeyException, InvalidAlgorithmParameterException
+ {
++ // BEGIN android-added
++ if (params != null)
++ {
++ throw new InvalidAlgorithmParameterException("No algorithm parameters supported");
++ }
++ // END android-added
+ initFromKey(key);
+ }
+
+@@ -219,35 +241,37 @@
private void initFromKey(Key key)
throws InvalidKeyException
{
@@ -2188,7 +2201,7 @@ diff -Naur bcprov-jdk15on-148.orig/org/bouncycastle/jcajce/provider/asymmetric/e
{
if (!(key instanceof PrivateKey))
{
-@@ -278,39 +296,41 @@
+@@ -278,39 +302,41 @@
}
}