This page contains a set of tests which are designed to test the ability of the X.509 code to parse certificates from a variety of sources. They serve as interoperability tests; these particular certificates are not generally good for any purposes other than testing.
A variety of features need testing. These are tested by acquiring valid certificates from a variety of sources, which utilize various X.509 features:
NOTE: X.509 certificates eventually become invalid due to the passing of time. Some certs here are intentionally invalid. However, not all of the certificates used as test cases should be invalid! When tests fail, be prepared to collect more certificates.
These certificates are self-signed using the Rivest Shamir Adelson (RSA) cryptosystem. There are two message digest algorithms (MD2, MD5) tested. None of these certificates should have expired.
This test is supposed to pass, with the result "TBS". It tests the "MD5 with RSA" certificate signing algorithm, as well as certificate parsing code.
title | RSA_cert_1 |
name | RSA_cert_1 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | entrust.cer pass |
This test is supposed to pass, with the result "TBS". It tests the "MD2 with RSA" certificate signing algorithm, as well as certificate parsing code.
title | RSA_cert_2 |
name | RSA_cert_2 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | incog1.cer pass |
This test is supposed to pass, with the result "TBS". It tests the "MD2 with RSA" certificate signing algorithm, as well as certificate parsing code for X.509v3.
title | RSA_cert_2 |
name | RSA_cert_2 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | nortel.cer pass |
This test is supposed to fail, with the result "TBS". The certificate has expired.
title | N_RSA_cert_1 |
name | N_RSA_cert_1 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | rajaram.cer fail |
This test is supposed to fail, with the result "TBS". The certificate has expired. Note that the certificate itself has a non-simple X.500 attribute-value assertion; this should be parsed correctly.
title | N_RSA_cert_2 |
name | N_RSA_cert_2 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | mit.cer fail |
These certificates use the Digital Signature Algorithm (DSA), FIPS 186. The certificates are self-signed using DSA. None of these certificates should have expired.
This test is supposed to pass, with the result "TBS". The certificate holds a 512 bit (minumum size) DSA public key.
title | DSA_cert_1 |
name | DSA_cert_1 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | dave.cer pass |
This test is supposed to pass, with the result "TBS". The certificate holds a 1024 bit (maximum size) DSA public key.
title | DSA_cert_2 |
name | DSA_cert_2 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | incog-dsa-ca.cer pass |
This test is supposed to fail, with the result "TBS". The self-signed certificate holds a 512 bit (minimum size) DSA public key, but the signature has been manually corrupted.
title | N_DSA_cert_1 |
name | N_DSA_cert_1 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | zap2.cer fail |
Certificates are used in chains, where one certificate is issued by a "Certificate Authority" (CA), whose certificate was either issued by another certificate authority (etc) or else is "self-signed" and distributed through some trusted data distribution scheme. All of the self-signed certificates above are effectively CA certificates.
This test is supposed to pass, with the result "TBS". It consists of a two-element certificate chain. The first certificate holds a Diffie-Hellman key, signed using RSA using the cert from the second certificate.
title | CertChain_1 |
name | CertChain_1 |
Description: | |
source | CertParse.java |
executeClass | sun.security.x509.tests.CertParse |
executeArgs | incog2.cer incog1.cer pass |