Bugzilla bug: 310491

Added System.exit(0) and System.exit(1) where appropriate.  Also removed
references to deprecated code and deprecated the test SigTest.java. This
is now replaced by JCASigTest.java. sr=Glen.Beasley
This commit is contained in:
sandeep.konchady%sun.com 2005-11-14 23:23:13 +00:00
parent 19addd540a
commit e5e6b59c19
13 changed files with 176 additions and 66 deletions

View File

@ -40,6 +40,7 @@ import org.mozilla.jss.crypto.*;
import org.mozilla.jss.CryptoManager;
import java.util.Enumeration;
import java.math.BigInteger;
import java.security.PrivateKey;
public final class CloseDBs extends org.mozilla.jss.DatabaseCloser {
@ -62,7 +63,7 @@ public final class CloseDBs extends org.mozilla.jss.DatabaseCloser {
Enumeration tokens = manager.getAllTokens();
CryptoStore store;
X509Certificate certs[];
PrivateKey keys[];
java.security.PrivateKey keys[];
while(tokens.hasMoreElements()) {
CryptoToken token = (CryptoToken) tokens.nextElement();
store = token.getCryptoStore();
@ -76,16 +77,27 @@ public final class CloseDBs extends org.mozilla.jss.DatabaseCloser {
keys = store.getPrivateKeys();
System.out.println("Keys:");
for(i=0; i < keys.length; i++) {
System.out.println( new BigInteger( keys[i].getUniqueID() ) );
try {
for(i=0; i < keys.length; i++) {
System.out.println(new BigInteger(keys[i].getEncoded()));
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
System.out.println("Closing databases...");
(new CloseDBs()).closeDatabases();
try {
(new CloseDBs()).closeDatabases();
} catch (Exception ex) {
System.out.println(ex.getMessage());
System.exit(1);
}
System.out.println("Databases are closed.");
System.exit(0);
} catch(Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}

View File

@ -63,7 +63,13 @@ public class GenerateTestCert {
* Main method for testing and generating cert pairs.
*/
public static void main(String[] args) throws Exception {
(new GenerateTestCert()).doIt(args);
if( args.length > 0 )
(new GenerateTestCert()).doIt(args);
else
System.out.println("USAGE: " +
"java org.mozilla.jss.tests.GenerateTestCert " +
"<test dir> <password file>\n");
System.exit(0);
}
/**

View File

@ -405,6 +405,7 @@ public class JSS_SSLClient {
} catch (Exception ex) {
System.out.println("Exception caught " + ex.getMessage());
ex.printStackTrace();
System.exit(1);
}
// Set EOF to null to trigger server socket close
jssTest.setCipher(testCipher);
@ -452,6 +453,7 @@ public class JSS_SSLClient {
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
System.exit(1);
}
}
}

View File

@ -81,6 +81,8 @@ public class JSS_SSLServer {
System.out.println("Thread Interrupted, exiting normally ...\n");
System.exit(0);
} catch (Exception ex) {
System.out.println(ex.getMessage());
System.exit(1);
}
}

View File

@ -165,7 +165,7 @@ public class JSS_SelfServServer {
if ( Constants.debug_level >= 3 )
System.out.println ("Server created socket");
//serverSock.setSoTimeout(120 * 1000);
//serverSock.setSoTimeout(5000); // Set timeout for 5 sec
serverSock.requireClientAuth (true, true);
serverSock.setServerCertNickname (fServerCertNick);
if ( Constants.debug_level >= 3 )

View File

@ -68,6 +68,7 @@ public class ListCerts {
} catch( Exception e ) {
e.printStackTrace();
System.exit(1);
}
}
}

View File

@ -104,6 +104,7 @@ public class PK10Gen {
System.out.println("exception caught in PK10Gen: " +
e.getMessage());
e.printStackTrace();
System.exit(1);
}
}
}

View File

@ -81,6 +81,7 @@ public class SDR {
} catch(Exception e) {
e.printStackTrace();
System.exit(1);
}
}

View File

@ -51,7 +51,6 @@ public class SelfTest {
CryptoToken intTok;
CryptoManager manager;
Password pass1=null, pass2=null;
KeyPairGenerator keyPairGenerator;
java.security.KeyPair keyPair;
java.util.Enumeration items;
char[] passchar1 = {'f', 'o', 'o', 'b', 'a', 'r'};

View File

@ -43,13 +43,16 @@
* one of the internal tokens:
* Internal Crypto Services Token
* Internal Key Storage Token (keys stored in key3.db)
*
* @see org.mozilla.jss.tests.JCASigTest
* @deprecated Use the JCA interface instead
*/
package org.mozilla.jss.tests;
import org.mozilla.jss.crypto.*;
import org.mozilla.jss.crypto.Signature;
import org.mozilla.jss.crypto.KeyPairGenerator;
import java.security.Signature;
import java.security.KeyPairGenerator;
import java.security.*;
import java.security.cert.X509Certificate;
import java.io.*;
@ -102,13 +105,12 @@ public class SigTest {
token = manager.getTokenByName(tokenname);
// Generate an RSA keypair
kpgen = token.getKeyPairGenerator(KeyPairAlgorithm.RSA);
kpgen = KeyPairGenerator.getInstance("RSA");
kpgen.initialize(1024);
keyPair = kpgen.genKeyPair();
// RSA MD5
signer = token.getSignatureContext(
SignatureAlgorithm.RSASignatureWithMD5Digest);
signer = Signature.getInstance("MD5withRSA");
System.out.println("Created a signing context");
signer.initSign(
(org.mozilla.jss.crypto.PrivateKey)keyPair.getPrivate());

View File

@ -103,57 +103,112 @@ public class TestKeyGen {
java.security.KeyPairGenerator.getInstance("RSA", "Mozilla-JSS");
// 512-bit RSA with default exponent
kpg.initialize(512);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof RSAPublicKey);
rsaPubKey = (RSAPublicKey) keyPair.getPublic();
System.out.println("Generated 512-bit RSA KeyPair!");
System.out.println("Modulus: "+rsaPubKey.getModulus());
System.out.println("Exponent: "+rsaPubKey.getPublicExponent());
System.out.println("Generating 512-bit RSA KeyPair!");
for (int cntr=0; cntr<5; cntr++ ) {
try {
kpg.initialize(512);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof RSAPublicKey);
rsaPubKey = (RSAPublicKey) keyPair.getPublic();
System.out.println("Generated 512-bit RSA KeyPair!");
System.out.println("Modulus: "+rsaPubKey.getModulus());
System.out.println("Exponent: "+rsaPubKey.getPublicExponent());
break;
} catch (org.mozilla.jss.crypto.TokenRuntimeException TRExRSA512) {
if (cntr==5) {
System.out.println("Generation of 512-bit RSA KeyPair Failed\n");
TRExRSA512.printStackTrace();
}
}
}
// 1024-bit RSA with default exponent
kpg.initialize(1024);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof RSAPublicKey);
rsaPubKey = (RSAPublicKey) keyPair.getPublic();
System.out.println("Generated 1024-bit RSA KeyPair!");
System.out.println("Modulus: "+rsaPubKey.getModulus());
System.out.println("Exponent: "+rsaPubKey.getPublicExponent());
System.out.println("Generating 1024-bit RSA KeyPair!");
for (int cntr=0; cntr<5; cntr++ ) {
try {
kpg.initialize(1024);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof RSAPublicKey);
rsaPubKey = (RSAPublicKey) keyPair.getPublic();
System.out.println("Generated 1024-bit RSA KeyPair!");
System.out.println("Modulus: "+rsaPubKey.getModulus());
System.out.println("Exponent: "+rsaPubKey.getPublicExponent());
break;
} catch (org.mozilla.jss.crypto.TokenRuntimeException TRExRSA1024) {
if (cntr==5) {
System.out.println("Generation of 1024-bit RSA KeyPair Failed\n");
TRExRSA1024.printStackTrace();
}
}
}
// 512-bit RSA with exponent = 3
rsaParams = new RSAParameterSpec(512, BigInteger.valueOf(3));
kpg.initialize(rsaParams);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof RSAPublicKey);
rsaPubKey = (RSAPublicKey) keyPair.getPublic();
System.out.println("Generated 512-bit RSA KeyPair with public exponent=3!");
System.out.println("Modulus: "+rsaPubKey.getModulus());
System.out.println("Exponent: "+rsaPubKey.getPublicExponent());
System.out.println("Generating 512-bit RSA KeyPair with public exponent=3!");
for (int cntr=0; cntr<5; cntr++ ) {
try {
rsaParams = new RSAParameterSpec(512, BigInteger.valueOf(3));
kpg.initialize(rsaParams);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof RSAPublicKey);
rsaPubKey = (RSAPublicKey) keyPair.getPublic();
System.out.println("Generated 512-bit RSA KeyPair with public exponent=3!");
System.out.println("Modulus: "+rsaPubKey.getModulus());
System.out.println("Exponent: "+rsaPubKey.getPublicExponent());
break;
} catch (org.mozilla.jss.crypto.TokenRuntimeException TRExRSA512Exp3) {
if (cntr==5) {
System.out.println("Generation of 512-bit RSA KeyPair with public exponent=3 Failed\n");
TRExRSA512Exp3.printStackTrace();
}
}
}
// 512-bit DSA
System.out.println("Generating 512-bit DSA KeyPair!");
kpg = java.security.KeyPairGenerator.getInstance("DSA", "Mozilla-JSS");
kpg.initialize(512);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof DSAPublicKey);
dsaPubKey = (DSAPublicKey) keyPair.getPublic();
System.out.println("Generated 512-bit DSA KeyPair!");
dsaParams = dsaPubKey.getParams();
System.out.println("P: "+dsaParams.getP());
System.out.println("Q: "+dsaParams.getQ());
System.out.println("G: "+dsaParams.getG());
System.out.println("Y: "+dsaPubKey.getY());
for (int cntr=0; cntr<5; cntr++ ) {
try {
kpg.initialize(512);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof DSAPublicKey);
dsaPubKey = (DSAPublicKey) keyPair.getPublic();
System.out.println("Generated 512-bit DSA KeyPair!");
dsaParams = dsaPubKey.getParams();
System.out.println("P: "+dsaParams.getP());
System.out.println("Q: "+dsaParams.getQ());
System.out.println("G: "+dsaParams.getG());
System.out.println("Y: "+dsaPubKey.getY());
break;
} catch (org.mozilla.jss.crypto.TokenRuntimeException TRExDSA512) {
if (cntr==5) {
System.out.println("Generation of 512-bit DSA KeyPair Failed\n");
TRExDSA512.printStackTrace();
}
}
}
// 1024-bit DSA, passing in PQG params
kpg.initialize(PK11KeyPairGenerator.PQG1024);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof DSAPublicKey);
dsaPubKey = (DSAPublicKey) keyPair.getPublic();
System.out.println("Generated 1024-bit DSA KeyPair with PQG params!");
dsaParams = dsaPubKey.getParams();
System.out.println("P: "+dsaParams.getP());
System.out.println("Q: "+dsaParams.getQ());
System.out.println("G: "+dsaParams.getG());
System.out.println("Y: "+dsaPubKey.getY());
System.out.println("Generating 1024-bit DSA KeyPair with PQG params!");
for (int cntr=0; cntr<5; cntr++ ) {
try {
kpg.initialize(PK11KeyPairGenerator.PQG1024);
keyPair = kpg.genKeyPair();
Assert._assert( keyPair.getPublic() instanceof DSAPublicKey);
dsaPubKey = (DSAPublicKey) keyPair.getPublic();
System.out.println("Generated 1024-bit DSA KeyPair with PQG params!");
dsaParams = dsaPubKey.getParams();
System.out.println("P: "+dsaParams.getP());
System.out.println("Q: "+dsaParams.getQ());
System.out.println("G: "+dsaParams.getG());
System.out.println("Y: "+dsaPubKey.getY());
break;
} catch (org.mozilla.jss.crypto.TokenRuntimeException TRExDSA1024) {
if (cntr==5) {
System.out.println("Generation of 1024-bit DSA KeyPair with PQG params Failed\n");
TRExDSA1024.printStackTrace();
}
}
}
System.out.println("TestKeyGen passed");
System.exit(0);

View File

@ -69,6 +69,7 @@ public class VerifyCert {
// cert.verify();
} catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
}
}
@ -82,7 +83,7 @@ public class VerifyCert {
"<DerEncodeCertFile> <OCSPResponderURL> " +
"<OCSPCertNickname>\n");
System.out.println("Note: <OCSPResponderURL> and " +
"<OCSPCertNickname> are optional.\n But if used, " +
"<OCSPCertNickname> are optional.\n But if used, " +
"both Url/nickname must be specified.");
}
@ -135,6 +136,7 @@ public class VerifyCert {
} catch ( Exception e ) {
e.printStackTrace();
System.exit(1);
}
}
@ -165,7 +167,8 @@ public class VerifyCert {
if (usageList.isEmpty()) {
System.out.println("The certificate is not valid.");
} else {
System.out.println("The certificate is valid for the following usages:\n");
System.out.println("The certificate is valid for " +
"the following usages:\n");
Iterator iterateUsage = usageList.iterator();
while (iterateUsage.hasNext()) {
System.out.println(" "
@ -202,7 +205,8 @@ public class VerifyCert {
if (usageList.isEmpty()) {
System.out.println("The certificate is not valid.");
} else {
System.out.println("The certificate is valid for the following usages:\n");
System.out.println("The certificate is valid for the " +
"following usages:\n");
Iterator iterateUsage = usageList.iterator();
while (iterateUsage.hasNext()) {
System.out.println(" " +

View File

@ -294,15 +294,6 @@ $result >>=8;
$result and print "HMACTest returned $result\n";
print_case_result ($result,"HMACTest");
# test signing
#
print "============= test signing\n";
$result = system("$java org.mozilla.jss.tests.SigTest $testdir " .
"\"$signingToken\" $pwfile"); $result >>=8;
$result and print "SigTest returned $result\n";
print_case_result ($result,"Signing");
# test JCA Sig Test
#
print "============= test Mozilla-JSS SigatureSPI JCASigTest\n";
@ -327,6 +318,24 @@ $result=system("$java org.mozilla.jss.tests.GenerateTestCert $testdir $pwfile");
$result >>=8;
$result and print "Generate known cert pair for testing returned $result\n";
#
# List cert by certnick
#
print "============= List cert by certnick\n";
$result = system("$java org.mozilla.jss.tests.ListCerts $testdir JSSCATestCert");
$result >>=8;
$result and print "List cert by certnick returned $result\n";
print_case_result ($result,"List cert by certnick");
#
# Verify cert by certnick
#
print "============= Verify cert by certnick\n";
$result = system("$java org.mozilla.jss.tests.VerifyCert $testdir $pwfile JSSCATestCert");
$result >>=8;
$result and print "Verify cert by certnick returned $result\n";
print_case_result ($result,"Verify cert by certnick");
#
# Create keystore.pfx from generated cert db
# for "JSSCATestCert"
@ -335,6 +344,15 @@ $result = system("$nss_lib_dir/../bin/pk12util$exe_suffix -o $testdir/keystore.p
$result >>=8;
$result and print "Convert PKCS11 to PKCS12 returned $result\n";
#
# TestSDR Test
#
print "============= TestSDR Test\n";
$result = system("$java org.mozilla.jss.tests.TestSDR $testdir $pwfile");
$result >>=8;
$result and print "TestSDR test returned $result\n";
print_case_result ($result,"TestSDR test");
#
# Start JSSE server
#
@ -453,3 +471,10 @@ print "JSSTEST_SUITE: $testpass / $testrun\n";
my $rate = $testpass / $testrun * 100;
printf "JSSTEST_RATE: %.0f %\n",$rate;
if ($testpass ne $testrun) {
printf "Test Status: FAILURE\n";
system("false");
} else {
printf "Test Status: SUCCESS\n";
system("true");
}