summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2014-05-08 00:41:12 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-05-08 00:41:13 +0000
commitf22ddb7b0b277be1dd272b29857ad552f82a4324 (patch)
tree040435778fa89ac66006dc0e2358ac218f7d3c90
parent5109ec0544f566b5a2e5298a03b1ecd1d6538cca (diff)
parent16fbd3bddeabacaa6b64a84b547708a84a6ddf98 (diff)
downloadbouncycastle-f22ddb7b0b277be1dd272b29857ad552f82a4324.tar.gz
Merge "Add OID for Diffie-Hellman keys"
-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 28a1a6aa..bfedc819 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 4640d508..0880f971 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");