Add test coverage for a cert that caused crashes.

svn path=/trunk/kdesupport/qca/; revision=504490
This commit is contained in:
Brad Hards 2006-02-01 10:58:56 +00:00
parent a674944d3d
commit de66b015b0
3 changed files with 80 additions and 1 deletions

View File

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFKjCCBJOgAwIBAgIEAgACmjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV
UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
b2JhbCBSb290MB4XDTAyMDgyNzE5MDIwMFoXDTEyMDgyNzIzNTkwMFowgdwxCzAJ
BgNVBAYTAkdCMRcwFQYDVQQKEw5Db21vZG8gTGltaXRlZDEdMBsGA1UECxMUQ29t
b2RvIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPVRlcm1zIGFuZCBDb25kaXRpb25z
IG9mIHVzZTogaHR0cDovL3d3dy5jb21vZG8ubmV0L3JlcG9zaXRvcnkxHzAdBgNV
BAsTFihjKTIwMDIgQ29tb2RvIExpbWl0ZWQxLDAqBgNVBAMTI0NvbW9kbyBDbGFz
cyAzIFNlY3VyaXR5IFNlcnZpY2VzIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA8gy2z4eE6gpxFFIt6FdcSVI6z8PwQm1i8v6m6T48eGQDDiB+a2tp
h4lUOAX02scFQAUYd378a4sOHKKCzKyFmznpy0tIGEhrKOTC0VuuA6l+mC9ME3Hf
sCkMTqqmNyY4udBEUoKQPnBI1nqbCQe8lOT0VSzytyq+HJEcaouDTTVsEOFz2iHZ
YtjxGbDx5yCNtZdHI0tqgTUbr0jgNqiQTE1M7PWIzsax0C//eZAB2FFk5y+xCI1d
z636soCWq6yLtUy0dMJHE+3oIzH0KrlhG73OpFs3Mb3lnJz7sg/XxTu/zFqrD8iG
QIkippAg07NsvhLz4yAsu8GuQ1raFnboHwIDAQABo4IB2TCCAdUwRQYDVR0fBD4w
PDA6oDigNoY0aHR0cDovL3d3dy5wdWJsaWMtdHJ1c3QuY29tL2NnaS1iaW4vQ1JM
LzIwMTgvY2RwLmNybDAdBgNVHQ4EFgQUNuDofG2dRZHumeVCdk1ws1AwrF4wgZIG
A1UdIASBijCBhzBJBgoqhkiG+GMBAgEFMDswOQYIKwYBBQUHAgEWLWh0dHA6Ly93
d3cucHVibGljLXRydXN0LmNvbS9DUFMvT21uaVJvb3QuaHRtbDA6BgwrBgEEAbIx
AQIBAwEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9D
UDCBiQYDVR0jBIGBMH+heaR3MHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywg
SW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3SCAgGlMCsG
A1UdEAQkMCKADzIwMDIwODI3MTkwMjI0WoEPMjAwOTA4MjcyMzU5MDBaMA4GA1Ud
DwEB/wQEAwIB5jAPBgNVHRMECDAGAQH/AgEAMA0GCSqGSIb3DQEBBQUAA4GBADoe
JG/a2zZs/jpzOd3NahxpoQAfb9Su1R/UiCmlIcJX9lV7MOfSZNYOxKpwPHZ04iqu
x0ZnMpLJS/Gn1+BWvPZyEJ1/sHXWnVe1cYWqxDqnS7jsD+bS+P+1zdRFJazqBqeK
tc0yIuQhkhvvzjSuMEQa7pt/8JQRhoqHGQEoOs+z
-----END CERTIFICATE-----

View File

@ -81,7 +81,55 @@ void CertUnitTest::CAcertstest()
QCOMPARE( ca1.constraints().contains(QCA::OCSPSigning), (QBool)false );
// no policies on this cert
QCOMPARE( ca1.policies().count(), 0 );
QCOMPARE( ca1.policies().count(), 0 );
}
}
}
void CertUnitTest::qualitysslcatest()
{
QStringList providersToTest;
providersToTest.append("qca-openssl");
providersToTest.append("qca-gcrypt");
providersToTest.append("qca-botan");
foreach(const QString provider, providersToTest) {
if( !QCA::isSupported( "cert", provider ) )
QWARN( QString( "Certificate handling not supported for "+provider).toLocal8Bit() );
else {
QCA::ConvertResult resultca1;
QCA::Certificate ca1 = QCA::Certificate::fromPEMFile( "certs/QualitySSLIntermediateCA.crt", &resultca1, provider);
QCOMPARE( resultca1, QCA::ConvertGood );
QCOMPARE( ca1.isNull(), false );
QCOMPARE( ca1.isCA(), true );
QCOMPARE( ca1.isSelfSigned(), false );
QCOMPARE( ca1.serialNumber(), QBigInteger("33555098") );
QCOMPARE( ca1.commonName(), QString("Comodo Class 3 Security Services CA") );
QCOMPARE( ca1.notValidBefore().toString(), QDateTime( QDate( 2002, 8, 27 ), QTime( 19, 02, 00 ), Qt::UTC ).toString() );
QCOMPARE( ca1.notValidAfter().toString(), QDateTime( QDate( 2012, 8, 27 ), QTime( 23, 59, 00 ), Qt::UTC ).toString() );
QCOMPARE( ca1.constraints().contains(QCA::DigitalSignature), (QBool)true );
QCOMPARE( ca1.constraints().contains(QCA::NonRepudiation), (QBool)true );
QCOMPARE( ca1.constraints().contains(QCA::KeyEncipherment), (QBool)true );
QCOMPARE( ca1.constraints().contains(QCA::DataEncipherment), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::KeyAgreement), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::KeyCertificateSign), (QBool)true );
QCOMPARE( ca1.constraints().contains(QCA::CRLSign), (QBool)true );
QCOMPARE( ca1.constraints().contains(QCA::EncipherOnly), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::DecipherOnly), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::ServerAuth), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::ClientAuth), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::CodeSigning), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::EmailProtection), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::IPSecEndSystem), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::IPSecTunnel), (QBool)false);
QCOMPARE( ca1.constraints().contains(QCA::IPSecUser), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::TimeStamping), (QBool)false );
QCOMPARE( ca1.constraints().contains(QCA::OCSPSigning), (QBool)false );
}
}
}

View File

@ -36,6 +36,7 @@ private slots:
void initTestCase();
void checkSystemStore();
void CAcertstest();
void qualitysslcatest();
void checkClientCerts();
void checkServerCerts();
void cleanupTestCase();