Skip to content

Commit da4636f

Browse files
committed
Refactoring in jce.provider.test:
- add missing tests to RegressionTest and sort the list - cleanup unused test utils
1 parent 2670274 commit da4636f

File tree

4 files changed

+115
-190
lines changed

4 files changed

+115
-190
lines changed

prov/src/test/java/org/bouncycastle/jce/provider/test/RegressionTest.java

Lines changed: 71 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -8,92 +8,99 @@
88

99
public class RegressionTest
1010
{
11-
public static Test[] tests = {
12-
new FIPSDESTest(),
13-
new DESedeTest(),
14-
new AESTest(),
11+
public static Test[] tests = {
1512
new AEADTest(),
16-
new CamelliaTest(),
17-
new SEEDTest(),
1813
new AESSICTest(),
19-
new GOST28147Test(),
20-
new PBETest(),
14+
new AESTest(),
15+
new AlgorithmParametersTest(),
16+
new ARIATest(),
17+
new BCFKSStoreTest(),
2118
new BlockCipherTest(),
22-
new MacTest(),
23-
new HMacTest(),
24-
new SealedTest(),
25-
new RSATest(),
26-
new DHTest(),
19+
new CamelliaTest(),
20+
new CertLocaleTest(),
21+
new CertPathBuilderTest(),
22+
new CertPathTest(),
23+
new CertPathValidatorTest(),
24+
new CertStoreTest(),
25+
new CertTest(),
26+
new CertUniqueIDTest(),
27+
new ChaCha20Poly1305Test(),
28+
new CipherStreamTest(),
29+
new CipherStreamTest2(),
30+
new CMacTest(),
31+
new CRL5Test(),
32+
new DESedeTest(),
33+
new DetDSATest(),
2734
new DHIESTest(),
35+
new DHTest(),
36+
new DigestTest(),
37+
new DoFinalTest(),
38+
new DRBGTest(),
2839
new DSATest(),
29-
new ImplicitlyCaTest(),
30-
new ECNRTest(),
40+
new DSTU4145Test(),
41+
new DSTU7624Test(),
42+
new ECDSA5Test(),
43+
new ECEncodingTest(),
3144
new ECIESTest(),
3245
new ECIESVectorTest(),
33-
new ECDSA5Test(),
34-
new GOST3410Test(),
46+
new ECNRTest(),
47+
new EdECTest(),
3548
new ElGamalTest(),
36-
new IESTest(),
37-
new SigTest(),
38-
new CertTest(),
39-
new PKCS10CertRequestTest(),
4049
new EncryptedPrivateKeyInfoTest(),
50+
new FIPSDESTest(),
51+
new GMacTest(),
52+
new GOST28147Test(),
53+
new GOST3410KeyPairTest(),
54+
new GOST3410Test(),
55+
new GOST3412Test(),
56+
new HMacTest(),
57+
new IESTest(),
58+
new ImplicitlyCaTest(),
59+
new KeccakTest(),
4160
new KeyStoreTest(),
42-
new PKCS12StoreTest(),
43-
new DigestTest(),
44-
new PSSTest(),
45-
new WrapTest(),
46-
new DoFinalTest(),
47-
new CipherStreamTest(),
48-
new CipherStreamTest2(),
61+
new MacTest(),
62+
new MQVTest(),
63+
new MultiCertStoreTest(),
4964
new NamedCurveTest(),
50-
new PKIXTest(),
5165
new NetscapeCertRequestTest(),
52-
new X509StreamParserTest(),
53-
new X509CertificatePairTest(),
54-
new CertPathTest(),
55-
new CertStoreTest(),
56-
new CertPathValidatorTest(),
57-
new CertPathBuilderTest(),
58-
new ECEncodingTest(),
59-
new AlgorithmParametersTest(),
6066
new NISTCertPathTest(),
61-
new PKIXPolicyMappingTest(),
62-
new SlotTwoTest(),
63-
new PKIXNameConstraintsTest(),
64-
new MultiCertStoreTest(),
6567
new NoekeonTest(),
66-
new SerialisationTest(),
67-
new SigNameTest(),
68-
new MQVTest(),
69-
new CMacTest(),
70-
new GMacTest(),
7168
new OCBTest(),
72-
new DSTU4145Test(),
73-
new CRL5Test(),
69+
new OpenSSHSpecTests(),
70+
new PBETest(),
71+
new PKCS10CertRequestTest(),
72+
new PKCS12StorePBETest(),
73+
new PKCS12StoreTest(),
74+
new PKIXNameConstraintsTest(),
75+
new PKIXPolicyMappingTest(),
76+
new PKIXTest(),
7477
new Poly1305Test(),
78+
new PQCDHTest(),
79+
new PSSTest(),
80+
new RSATest(),
81+
new SealedTest(),
82+
new SEEDTest(),
83+
new SerialisationTest(),
84+
new Shacal2Test(),
85+
new SigNameTest(),
86+
new SignatureTest(),
87+
new SigTest(),
88+
new SipHash128Test(),
7589
new SipHashTest(),
76-
new KeccakTest(),
7790
new SkeinTest(),
78-
new Shacal2Test(),
79-
new DetDSATest(),
80-
new ThreefishTest(),
91+
new SlotTwoTest(),
92+
new SM2CipherTest(),
8193
new SM2SignatureTest(),
8294
new SM4Test(),
95+
new ThreefishTest(),
8396
new TLSKDFTest(),
84-
new BCFKSStoreTest(),
85-
new DSTU7624Test(),
86-
new GOST3412Test(),
87-
new GOST3410KeyPairTest(),
88-
new EdECTest(),
89-
new OpenSSHSpecTests(),
90-
new SM2CipherTest(),
91-
new ZucTest(),
92-
new ChaCha20Poly1305Test(),
93-
new SipHash128Test(),
94-
new XOFTest(),
97+
new WrapTest(),
98+
new X509CertificatePairTest(),
99+
new X509LDAPCertStoreTest(),
100+
new X509StreamParserTest(),
95101
new XIESTest(),
96-
new CertLocaleTest()
102+
new XOFTest(),
103+
new ZucTest(),
97104
};
98105

99106
public static void main(String[] args)

prov/src/test/java/org/bouncycastle/jce/provider/test/TestCertificateGen.java

Lines changed: 17 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
11
package org.bouncycastle.jce.provider.test;
22

33
import java.io.ByteArrayInputStream;
4-
import java.io.IOException;
54
import java.math.BigInteger;
65
import java.security.KeyPair;
7-
import java.security.KeyPairGenerator;
8-
import java.security.MessageDigest;
9-
import java.security.NoSuchAlgorithmException;
106
import java.security.PrivateKey;
117
import java.security.PublicKey;
12-
import java.security.SecureRandom;
138
import java.security.Signature;
149
import java.security.cert.CertificateFactory;
1510
import java.security.cert.X509CRL;
@@ -29,17 +24,13 @@
2924
import org.bouncycastle.asn1.x500.X500Name;
3025
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
3126
import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier;
32-
import org.bouncycastle.asn1.x509.BasicConstraints;
3327
import org.bouncycastle.asn1.x509.CRLNumber;
3428
import org.bouncycastle.asn1.x509.CRLReason;
35-
import org.bouncycastle.asn1.x509.Certificate;
3629
import org.bouncycastle.asn1.x509.Extension;
3730
import org.bouncycastle.asn1.x509.Extensions;
3831
import org.bouncycastle.asn1.x509.ExtensionsGenerator;
3932
import org.bouncycastle.asn1.x509.GeneralName;
4033
import org.bouncycastle.asn1.x509.GeneralNames;
41-
import org.bouncycastle.asn1.x509.KeyUsage;
42-
import org.bouncycastle.asn1.x509.SubjectKeyIdentifier;
4334
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
4435
import org.bouncycastle.asn1.x509.TBSCertList;
4536
import org.bouncycastle.asn1.x509.TBSCertificate;
@@ -190,83 +181,6 @@ public static X509Certificate createCertWithIDs(X500Name signerName, String sigN
190181
return (X509Certificate)CertificateFactory.getInstance("X.509", "BC").generateCertificate(new ByteArrayInputStream(new DERSequence(v).getEncoded(ASN1Encoding.DER)));
191182
}
192183

193-
/**
194-
* Create a random 1024 bit RSA key pair
195-
*/
196-
public static KeyPair generateRSAKeyPair()
197-
throws Exception
198-
{
199-
KeyPairGenerator kpGen = KeyPairGenerator.getInstance("RSA", "BC");
200-
201-
kpGen.initialize(1024, new SecureRandom());
202-
203-
return kpGen.generateKeyPair();
204-
}
205-
206-
public static X509Certificate generateRootCert(KeyPair pair)
207-
throws Exception
208-
{
209-
return createSelfSignedCert("CN=Test CA Certificate", "SHA256withRSA", pair);
210-
}
211-
212-
public static X509Certificate generateRootCert(KeyPair pair, X500Name dn)
213-
throws Exception
214-
{
215-
return createSelfSignedCert(dn, "SHA256withRSA", pair);
216-
}
217-
218-
public static X509Certificate generateIntermediateCert(PublicKey intKey, PrivateKey caKey, X509Certificate caCert)
219-
throws Exception
220-
{
221-
return generateIntermediateCert(
222-
intKey, new X500Name("CN=Test Intermediate Certificate"), caKey, caCert);
223-
}
224-
225-
public static X509Certificate generateIntermediateCert(PublicKey intKey, X500Name subject, PrivateKey caKey, X509Certificate caCert)
226-
throws Exception
227-
{
228-
Certificate caCertLw = Certificate.getInstance(caCert.getEncoded());
229-
230-
ExtensionsGenerator extGen = new ExtensionsGenerator();
231-
232-
extGen.addExtension(Extension.authorityKeyIdentifier, false, new AuthorityKeyIdentifier(getDigest(caCertLw.getSubjectPublicKeyInfo()),
233-
new GeneralNames(new GeneralName(caCertLw.getIssuer())),
234-
caCertLw.getSerialNumber().getValue()));
235-
extGen.addExtension(Extension.subjectKeyIdentifier, false, new SubjectKeyIdentifier(getDigest(SubjectPublicKeyInfo.getInstance(intKey.getEncoded()))));
236-
extGen.addExtension(Extension.basicConstraints, true, new BasicConstraints(0));
237-
extGen.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyCertSign | KeyUsage.cRLSign));
238-
239-
return createCert(
240-
caCertLw.getSubject(),
241-
caKey, subject, "SHA256withRSA", extGen.generate(), intKey);
242-
}
243-
244-
public static X509Certificate generateEndEntityCert(PublicKey intKey, PrivateKey caKey, X509Certificate caCert)
245-
throws Exception
246-
{
247-
return generateEndEntityCert(
248-
intKey, new X500Name("CN=Test End Certificate"), caKey, caCert);
249-
}
250-
251-
public static X509Certificate generateEndEntityCert(PublicKey entityKey, X500Name subject, PrivateKey caKey, X509Certificate caCert)
252-
throws Exception
253-
{
254-
Certificate caCertLw = Certificate.getInstance(caCert.getEncoded());
255-
256-
ExtensionsGenerator extGen = new ExtensionsGenerator();
257-
258-
extGen.addExtension(Extension.authorityKeyIdentifier, false, new AuthorityKeyIdentifier(getDigest(caCertLw.getSubjectPublicKeyInfo()),
259-
new GeneralNames(new GeneralName(caCertLw.getIssuer())),
260-
caCertLw.getSerialNumber().getValue()));
261-
extGen.addExtension(Extension.subjectKeyIdentifier, false, new SubjectKeyIdentifier(getDigest(entityKey.getEncoded())));
262-
extGen.addExtension(Extension.basicConstraints, true, new BasicConstraints(0));
263-
extGen.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyCertSign | KeyUsage.cRLSign));
264-
265-
return createCert(
266-
caCertLw.getSubject(),
267-
caKey, subject, "SHA256withRSA", extGen.generate(), entityKey);
268-
}
269-
270184
public static X509CRL createCRL(
271185
X509Certificate caCert,
272186
PrivateKey caKey,
@@ -309,23 +223,23 @@ public static X509CRL createCRL(
309223
return (X509CRL)CertificateFactory.getInstance("X.509", "BC").generateCRL(new ByteArrayInputStream(new DERSequence(v).getEncoded(ASN1Encoding.DER)));
310224
}
311225

312-
private static byte[] getDigest(SubjectPublicKeyInfo spki)
313-
throws IOException
314-
{
315-
return getDigest(spki.getPublicKeyData().getBytes());
316-
}
317-
318-
private static byte[] getDigest(byte[] bytes)
319-
{
320-
try
321-
{
322-
return MessageDigest.getInstance("SHA1").digest(bytes);
323-
}
324-
catch (NoSuchAlgorithmException e)
325-
{
326-
return null;
327-
}
328-
}
226+
// private static byte[] getDigest(SubjectPublicKeyInfo spki)
227+
// throws IOException
228+
// {
229+
// return getDigest(spki.getPublicKeyData().getBytes());
230+
// }
231+
232+
// private static byte[] getDigest(byte[] bytes)
233+
// {
234+
// try
235+
// {
236+
// return MessageDigest.getInstance("SHA1").digest(bytes);
237+
// }
238+
// catch (NoSuchAlgorithmException e)
239+
// {
240+
// return null;
241+
// }
242+
// }
329243

330244
private static DERBitString booleanToBitString(boolean[] id)
331245
{

prov/src/test/java/org/bouncycastle/jce/provider/test/TestUtils.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,8 @@ public static X509Certificate generateEndEntityCert(PublicKey entityKey, X500Nam
255255
new GeneralNames(new GeneralName(caCertLw.getIssuer())),
256256
caCertLw.getSerialNumber().getValue()));
257257
extGen.addExtension(Extension.subjectKeyIdentifier, false, new SubjectKeyIdentifier(getDigest(entityKey.getEncoded())));
258-
extGen.addExtension(Extension.basicConstraints, true, new BasicConstraints(0));
259-
extGen.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyCertSign | KeyUsage.cRLSign));
258+
extGen.addExtension(Extension.basicConstraints, true, new BasicConstraints(false));
259+
extGen.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature));
260260

261261
return createCert(
262262
caCertLw.getSubject(),
@@ -280,8 +280,8 @@ public static X509Certificate generateEndEntityCert(PublicKey entityKey, X500Nam
280280
new GeneralNames(new GeneralName(caCertLw.getIssuer())),
281281
caCertLw.getSerialNumber().getValue()));
282282
extGen.addExtension(Extension.subjectKeyIdentifier, false, new SubjectKeyIdentifier(getDigest(entityKey.getEncoded())));
283-
extGen.addExtension(Extension.basicConstraints, true, new BasicConstraints(0));
284-
extGen.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyCertSign | KeyUsage.cRLSign));
283+
extGen.addExtension(Extension.basicConstraints, true, new BasicConstraints(false));
284+
extGen.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature));
285285
if (keyPurpose2 == null)
286286
{
287287
extGen.addExtension(Extension.extendedKeyUsage, true, new ExtendedKeyUsage(keyPurpose1));

0 commit comments

Comments
 (0)