mirror of
https://github.com/QuasarApp/qca.git
synced 2025-04-27 12:04:31 +00:00
Add test coverage for a cert that caused crashes.
svn path=/trunk/kdesupport/qca/; revision=504490
This commit is contained in:
parent
a674944d3d
commit
de66b015b0
30
unittest/certunittest/certs/QualitySSLIntermediateCA.crt
Normal file
30
unittest/certunittest/certs/QualitySSLIntermediateCA.crt
Normal 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-----
|
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ private slots:
|
||||
void initTestCase();
|
||||
void checkSystemStore();
|
||||
void CAcertstest();
|
||||
void qualitysslcatest();
|
||||
void checkClientCerts();
|
||||
void checkServerCerts();
|
||||
void cleanupTestCase();
|
||||
|
Loading…
x
Reference in New Issue
Block a user