summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java11
-rw-r--r--patches/bcprov.patch30
2 files changed, 39 insertions, 2 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java
index 28a1a6a..bfedc81 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/DH.java
@@ -1,7 +1,14 @@
package org.bouncycastle.jcajce.provider.asymmetric;
+// BEGIN android-added
+import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
+import org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi;
+// END android-added
import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
import org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider;
+// BEGIN android-added
+import org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter;
+// END android-added
public class DH
{
@@ -24,6 +31,10 @@ public class DH
provider.addAlgorithm("KeyFactory.DH", PREFIX + "KeyFactorySpi");
provider.addAlgorithm("Alg.Alias.KeyFactory.DIFFIEHELLMAN", "DH");
+ // BEGIN android-added
+ AsymmetricKeyInfoConverter keyFact = new KeyFactorySpi();
+ registerOid(provider, PKCSObjectIdentifiers.dhKeyAgreement, "DH", keyFact);
+ // END android-added
provider.addAlgorithm("AlgorithmParameters.DH", PREFIX + "AlgorithmParametersSpi");
provider.addAlgorithm("Alg.Alias.AlgorithmParameters.DIFFIEHELLMAN", "DH");
diff --git a/patches/bcprov.patch b/patches/bcprov.patch
index 4640d50..0880f97 100644
--- a/patches/bcprov.patch
+++ b/patches/bcprov.patch
@@ -1083,8 +1083,34 @@ diff -Naur bcprov-jdk15on-150.orig/org/bouncycastle/crypto/util/PublicKeyFactory
{
diff -Naur bcprov-jdk15on-150.orig/org/bouncycastle/jcajce/provider/asymmetric/DH.java bcprov-jdk15on-150/org/bouncycastle/jcajce/provider/asymmetric/DH.java
--- bcprov-jdk15on-150.orig/org/bouncycastle/jcajce/provider/asymmetric/DH.java 2013-12-03 20:18:20.000000000 +0000
-+++ bcprov-jdk15on-150/org/bouncycastle/jcajce/provider/asymmetric/DH.java 2013-05-25 02:14:15.000000000 +0000
-@@ -32,10 +32,12 @@
++++ bcprov-jdk15on-150/org/bouncycastle/jcajce/provider/asymmetric/DH.java 2014-05-08 00:26:23.000000000 +0000
+@@ -1,7 +1,14 @@
+ package org.bouncycastle.jcajce.provider.asymmetric;
+
++// BEGIN android-added
++import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
++import org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi;
++// END android-added
+ import org.bouncycastle.jcajce.provider.config.ConfigurableProvider;
+ import org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider;
++// BEGIN android-added
++import org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter;
++// END android-added
+
+ public class DH
+ {
+@@ -24,6 +31,10 @@
+
+ provider.addAlgorithm("KeyFactory.DH", PREFIX + "KeyFactorySpi");
+ provider.addAlgorithm("Alg.Alias.KeyFactory.DIFFIEHELLMAN", "DH");
++ // BEGIN android-added
++ AsymmetricKeyInfoConverter keyFact = new KeyFactorySpi();
++ registerOid(provider, PKCSObjectIdentifiers.dhKeyAgreement, "DH", keyFact);
++ // END android-added
+
+ provider.addAlgorithm("AlgorithmParameters.DH", PREFIX + "AlgorithmParametersSpi");
+ provider.addAlgorithm("Alg.Alias.AlgorithmParameters.DIFFIEHELLMAN", "DH");
+@@ -32,10 +43,12 @@
provider.addAlgorithm("AlgorithmParameterGenerator.DH", PREFIX + "AlgorithmParameterGeneratorSpi");