Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'prov/src/test/java/org/bouncycastle/jce/provider/test/RSATest.java')
-rw-r--r--prov/src/test/java/org/bouncycastle/jce/provider/test/RSATest.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/prov/src/test/java/org/bouncycastle/jce/provider/test/RSATest.java b/prov/src/test/java/org/bouncycastle/jce/provider/test/RSATest.java
index c1f4582a..2fce07c5 100644
--- a/prov/src/test/java/org/bouncycastle/jce/provider/test/RSATest.java
+++ b/prov/src/test/java/org/bouncycastle/jce/provider/test/RSATest.java
@@ -39,6 +39,7 @@ import org.bouncycastle.asn1.DEROctetString;
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
+import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.asn1.pkcs.RSAESOAEPparams;
import org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
@@ -149,6 +150,20 @@ public class RSATest
PublicKey pub2048Key = fact.generatePublic(pub2048KeySpec);
//
+ // key without CRT coefficients
+ //
+ PrivateKeyInfo keyInfo = PrivateKeyInfo.getInstance(privKey.getEncoded());
+ BigInteger zero = BigInteger.valueOf(0);
+ PKCS8EncodedKeySpec noCrtSpec = new PKCS8EncodedKeySpec(new PrivateKeyInfo(keyInfo.getPrivateKeyAlgorithm(),
+ new org.bouncycastle.asn1.pkcs.RSAPrivateKey(privKeySpec.getModulus(), privKeySpec.getPublicExponent(), privKeySpec.getPrivateExponent(), zero, zero, zero, zero, zero)).getEncoded());
+
+ PrivateKey noCrtKey = fact.generatePrivate(noCrtSpec);
+ if (noCrtKey instanceof RSAPrivateCrtKey)
+ {
+ fail("private key without CRT coefficients returned as CRT key");
+ }
+
+ //
// No Padding
//
Cipher c = Cipher.getInstance("RSA", "BC");