summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa
diff options
context:
space:
mode:
authorSergio Giro <sgiro@google.com>2016-02-04 23:52:52 +0000
committerSergio Giro <sgiro@google.com>2016-02-10 22:41:50 +0000
commit79d3bf2425a53baab7feb744dad710b6c15533c9 (patch)
tree2cba8cee6020669038b6603397dbc80dd73aa9ce /bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa
parent013d8784e65adfe3af81f7ff010eddc17c0c332e (diff)
downloadandroid_external_bouncycastle-79d3bf2425a53baab7feb744dad710b6c15533c9.tar.gz
android_external_bouncycastle-79d3bf2425a53baab7feb744dad710b6c15533c9.tar.bz2
android_external_bouncycastle-79d3bf2425a53baab7feb744dad710b6c15533c9.zip
bouncycastle: upgrade to version 1.54
Merge remote-tracking branch 'aosp/upstream-master' (cherry picked from commit 4a2d5c40ffefaaa02c656a091f33fecdf8592607) Change-Id: Icd734732677bc8ed04d8cd78bbb686efa152ed58
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java2
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java3
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java9
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java1
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java25
-rw-r--r--bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java11
6 files changed, 37 insertions, 14 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java
index baee6d5..de5a9aa 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/AlgorithmParametersSpi.java
@@ -90,7 +90,7 @@ public abstract class AlgorithmParametersSpi
Class paramSpec)
throws InvalidParameterSpecException
{
- if (paramSpec == OAEPParameterSpec.class && currentSpec != null)
+ if (paramSpec == OAEPParameterSpec.class || paramSpec == AlgorithmParameterSpec.class)
{
return currentSpec;
}
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java
index 9b70d74..d81d197 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPrivateCrtKey.java
@@ -12,6 +12,7 @@ import org.bouncycastle.asn1.pkcs.RSAPrivateKey;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters;
import org.bouncycastle.jcajce.provider.asymmetric.util.KeyUtil;
+import org.bouncycastle.util.Strings;
/**
* A provider representation for a RSA private key, with CRT factors included.
@@ -224,7 +225,7 @@ public class BCRSAPrivateCrtKey
public String toString()
{
StringBuffer buf = new StringBuffer();
- String nl = System.getProperty("line.separator");
+ String nl = Strings.lineSeparator();
buf.append("RSA Private CRT Key").append(nl);
buf.append(" modulus: ").append(this.getModulus().toString(16)).append(nl);
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java
index 6f5292c..669cf2b 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey.java
@@ -15,6 +15,7 @@ import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
import org.bouncycastle.crypto.params.RSAKeyParameters;
import org.bouncycastle.jcajce.provider.asymmetric.util.KeyUtil;
+import org.bouncycastle.util.Strings;
public class BCRSAPublicKey
implements RSAPublicKey
@@ -134,7 +135,7 @@ public class BCRSAPublicKey
public String toString()
{
StringBuffer buf = new StringBuffer();
- String nl = System.getProperty("line.separator");
+ String nl = Strings.lineSeparator();
buf.append("RSA Public Key").append(nl);
buf.append(" modulus: ").append(this.getModulus().toString(16)).append(nl);
@@ -153,11 +154,7 @@ public class BCRSAPublicKey
{
algorithmIdentifier = AlgorithmIdentifier.getInstance(in.readObject());
}
- catch (OptionalDataException e)
- {
- algorithmIdentifier = DEFAULT_ALGORITHM_IDENTIFIER;
- }
- catch (EOFException e)
+ catch (Exception e)
{
algorithmIdentifier = DEFAULT_ALGORITHM_IDENTIFIER;
}
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java
index aceb5ee..81e5013 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi.java
@@ -37,7 +37,6 @@ import org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi;
import org.bouncycastle.jcajce.provider.util.DigestFactory;
import org.bouncycastle.jcajce.util.BCJcaJceHelper;
import org.bouncycastle.jcajce.util.JcaJceHelper;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.util.Strings;
public class CipherSpi
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java
index 123ed41..9616a99 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/DigestSignatureSpi.java
@@ -25,6 +25,9 @@ import org.bouncycastle.asn1.x509.DigestInfo;
import org.bouncycastle.crypto.AsymmetricBlockCipher;
import org.bouncycastle.crypto.CipherParameters;
import org.bouncycastle.crypto.Digest;
+// BEGIN android-added
+import org.bouncycastle.crypto.digests.AndroidDigestFactory;
+// END android-added
// BEGIN android-removed
// import org.bouncycastle.crypto.digests.MD2Digest;
// import org.bouncycastle.crypto.digests.MD4Digest;
@@ -38,10 +41,8 @@ import org.bouncycastle.crypto.Digest;
// import org.bouncycastle.crypto.digests.SHA256Digest;
// import org.bouncycastle.crypto.digests.SHA384Digest;
// import org.bouncycastle.crypto.digests.SHA512Digest;
+// import org.bouncycastle.crypto.digests.SHA512tDigest;
// END android-removed
-// BEGIN android-added
-import org.bouncycastle.crypto.digests.AndroidDigestFactory;
-// END android-added
import org.bouncycastle.crypto.encodings.PKCS1Encoding;
import org.bouncycastle.crypto.engines.RSABlindedEngine;
import org.bouncycastle.util.Arrays;
@@ -312,6 +313,24 @@ public class DigestSignatureSpi
}
// BEGIN android-removed
+ // static public class SHA512_224
+ // extends DigestSignatureSpi
+ // {
+ // public SHA512_224()
+ // {
+ // super(NISTObjectIdentifiers.id_sha512_224, new SHA512tDigest(224), new PKCS1Encoding(new RSABlindedEngine()));
+ // }
+ // }
+
+ // static public class SHA512_256
+ // extends DigestSignatureSpi
+ // {
+ // public SHA512_256()
+ // {
+ // super(NISTObjectIdentifiers.id_sha512_256, new SHA512tDigest(256), new PKCS1Encoding(new RSABlindedEngine()));
+ // }
+ // }
+
// static public class MD2
// extends DigestSignatureSpi
// {
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java
index f779a66..88f83a0 100644
--- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java
+++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyPairGeneratorSpi.java
@@ -43,7 +43,10 @@ public class KeyPairGeneratorSpi
SecureRandom random)
{
param = new RSAKeyGenerationParameters(defaultPublicExponent,
- random, strength, defaultTests);
+ // BEGIN android-changed
+ // Was: random, strength, defaultTests);
+ (random != null) ? random : new SecureRandom(), strength, defaultTests);
+ // END android-changed
engine.init(param);
}
@@ -61,7 +64,11 @@ public class KeyPairGeneratorSpi
param = new RSAKeyGenerationParameters(
rsaParams.getPublicExponent(),
- random, rsaParams.getKeysize(), defaultTests);
+ // BEGIN android-changed
+ // TODO(27063703): check whether this change is correct
+ // Was: random, rsaParams.getKeysize(), defaultTests);
+ (random != null) ? random : new SecureRandom(), rsaParams.getKeysize(), defaultTests);
+ // END android-changed
engine.init(param);
}