General update to the CMS test.

1. Merge the .h into the .cpp
2. Update the qmake buildsystem to match
3. Add CMake support
4. Update the certificates, which had expired. Once
again, I'm using the test certs from http://openvalidation.org.

svn path=/trunk/kdesupport/qca/; revision=594720
This commit is contained in:
Brad Hards 2006-10-12 04:24:55 +00:00
parent 96be553cdd
commit 9fb4705fa6
7 changed files with 168 additions and 126 deletions

View File

@ -0,0 +1,11 @@
set(cms_bin_SRCS cms.cpp)
MY_AUTOMOC( cms_bin_SRCS )
add_executable(cms ${cms_bin_SRCS} )
target_link_libraries( cms qca ${QT_QTTEST_LIBRARY})
FOREACH( testFileName RootCAcert.pem Userkey.pem User.pem )
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${testFileName} ${CMAKE_CURRENT_BINARY_DIR}/${testFileName} COPYONLY)
ENDFOREACH( testFileName )

View File

@ -1,28 +1,29 @@
-----BEGIN CERTIFICATE-----
MIIEzzCCA7egAwIBAgIBADANBgkqhkiG9w0BAQQFADBvMQswCQYDVQQGEwJkZTEg
MB4GA1UEChMXSW5zZWN1cmVUZXN0Q2VydGlmaWNhdGUxFzAVBgNVBAMTDkZvciBU
ZXN0cyBPbmx5MSUwIwYJKoZIhvcNAQkBFhZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJl
MB4XDTAxMDgxNzA4MzAzOVoXDTExMDgxNTA4MzAzOVowbzELMAkGA1UEBhMCZGUx
IDAeBgNVBAoTF0luc2VjdXJlVGVzdENlcnRpZmljYXRlMRcwFQYDVQQDEw5Gb3Ig
VGVzdHMgT25seTElMCMGCSqGSIb3DQEJARYWaW5zZWN1cmVAdGVzdC5pbnNlY3Vy
ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJFmYkMMDL6xSXLTQB5
L4Wk4+bTCG8AiohClZ1QPVavQLtnOWJ2rOJhE1p+v+Yp3JXiLLWh6vK0bY26t2ac
BAZxVKy+CraeqzLPLcQUZKMlDipT1dewhqWz/bxPmu0j+MIPr2nCEz+pkylgqqhe
/NPy2G6vclTHgJFF8ykAesBmWn+uqi6R8Rdb3TS2E20vaij2Kn4F9/hwXc/A+P7l
nB5EtuYhgJEv+VyUBXE+Bt5QtbTIPkgPpri4Ichyi0Q7FMGVUnuer2nnlHYBMjdz
Nzrjunj09JWvZaF3R/50S9s7OR3tr2G+Zid/FGHQT2LgSr/0dRNDFIZci9Eg8tIc
/gMCAwEAAaOCAXQwggFwMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMB0G
A1UdDgQWBBS/U0OCeNCew4DlG2fKBQDfuUiDpTCBmQYDVR0jBIGRMIGOgBS/U0OC
eNCew4DlG2fKBQDfuUiDpaFzpHEwbzELMAkGA1UEBhMCZGUxIDAeBgNVBAoTF0lu
c2VjdXJlVGVzdENlcnRpZmljYXRlMRcwFQYDVQQDEw5Gb3IgVGVzdHMgT25seTEl
MCMGCSqGSIb3DQEJARYWaW5zZWN1cmVAdGVzdC5pbnNlY3VyZYIBADAhBgNVHREE
GjAYgRZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJlMCEGA1UdEgQaMBiBFmluc2VjdXJl
QHRlc3QuaW5zZWN1cmUwEQYJYIZIAYb4QgEBBAQDAgAHMDwGCWCGSAGG+EIBDQQv
Fi1UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgZm9yIHRlc3Rpbmcgb25seSEw
DQYJKoZIhvcNAQEEBQADggEBABaUJQxPZGDnAyooO2jscFoZ8uSXwhQIOEoL7KRX
nINBLAkU4jvbFMJEdMTK7/FMME+nN9kKpQg0Jzmxpj6B6OR2cCJ6xjlGY8sPJt32
0MMVZ1rXgr2wEXoA+cbS0riiGs97BditWodnGszWVKQSvPUpNsoP2MEql9HxTm97
dJONo/sAhU2RUIDC3+UqyX5Zq6LqYgY+eUngdJqZAWwcEO95HecsBDV6Ug8wFwej
fd7XJyuj2jZHAnBUE/Pg+lCBJ5EGzZ7vPTSDaHE7CbVM8RKd7ESPfjErCBB/gVcY
xC61xytaq2NeegCfIa7T91yTIf3+N5QHSOKYIVkbIa4ZdfI=
MIIFATCCA+mgAwIBAgIBADANBgkqhkiG9w0BAQQFADB/MQswCQYDVQQGEwJkZTEg
MB4GA1UEChMXSW5zZWN1cmVUZXN0Q2VydGlmaWNhdGUxJzAlBgNVBAMTHkZvciBU
ZXN0cyBPbmx5IG5leHQgZ2VuZXJhdGlvbjElMCMGCSqGSIb3DQEJARYWaW5zZWN1
cmVAdGVzdC5pbnNlY3VyZTAeFw0wMjA2MjcxMjE2MzJaFw0xMjA2MjQxMjE2MzJa
MH8xCzAJBgNVBAYTAmRlMSAwHgYDVQQKExdJbnNlY3VyZVRlc3RDZXJ0aWZpY2F0
ZTEnMCUGA1UEAxMeRm9yIFRlc3RzIE9ubHkgbmV4dCBnZW5lcmF0aW9uMSUwIwYJ
KoZIhvcNAQkBFhZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJlMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEApU/ZjFU69b1kOa7R14gUA+fK4W2fiG5Rl7l1Y9Oa
ykDRQXOXzb2Jtqru0R8wdYHpKDDfJMnf0NkNbsMT9/EPztuEXhxgRM/V1+GxlZqR
w3B7vDg41wjBuq8/9xOfd8WqdeXID5/JSo/z0Q2v0ifBgCP60DbCFtPneIdElGSY
tCpNd2qG06CNJz5gvaHDIpQbjgQ2KiGSJStH+cYlwf24JdZgslXqo6JVg3/7SMHq
mY2A/MIFZRvUEwataZxtmOkba2AhwFesKq1V4DeIvH7VD29Ub0dB4O9r7LHTjxzG
j4nRrkNi6L4R4HN8q4CtxbJNaoMvFAuMKTIdiBDjEB5G7QIDAQABo4IBhjCCAYIw
DwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAeYwHQYDVR0OBBYEFI8IT5xTwVzI
5gzXEy7LUjwjlgIUMIGrBgNVHSMEgaMwgaCAFI8IT5xTwVzI5gzXEy7LUjwjlgIU
oYGEpIGBMH8xCzAJBgNVBAYTAmRlMSAwHgYDVQQKExdJbnNlY3VyZVRlc3RDZXJ0
aWZpY2F0ZTEnMCUGA1UEAxMeRm9yIFRlc3RzIE9ubHkgbmV4dCBnZW5lcmF0aW9u
MSUwIwYJKoZIhvcNAQkBFhZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJlggEAMCEGA1Ud
EQQaMBiBFmluc2VjdXJlQHRlc3QuaW5zZWN1cmUwIQYDVR0SBBowGIEWaW5zZWN1
cmVAdGVzdC5pbnNlY3VyZTARBglghkgBhvhCAQEEBAMCAAcwPAYJYIZIAYb4QgEN
BC8WLVRoaXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBmb3IgdGVzdGluZyBvbmx5
ITANBgkqhkiG9w0BAQQFAAOCAQEAKG4CjdQ60pskcVVS9batPkOr3HR+20jgxtaW
Cul+QmepJCZTj2XjmspLlw00ZVcjxTuxsBVKQoSPA0V7xrNU6GVYQtfnYWoQ1Lw+
c2+J6XZ5iV58uyz4IJVgdq+kyXjopMiJV/cHqDX5fPeLT35L3UNZy8TdhHW+tj7X
sZelbK6kig9mzOBV2g0Pa86DwctHxL/eRDqX0+Mkvy9YAsBVhHDhVRWBpVMmQFMd
NbEiGRB0FEKTM+ztlb0QyBrhrjHI9a+P2Q5iap7HuiUrD7BRQ8YWEOUWI8jEdRaI
kC/K0U+WTB6e32XidjR7GCqFULLCE45of5JWJ/eV9gL5znhbEg==
-----END CERTIFICATE-----

View File

@ -1,26 +1,87 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4 (0x4)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=de, O=InsecureTestCertificate, CN=For Tests Only next generation/Email=insecure@test.insecure
Validity
Not Before: Jul 1 09:58:50 2002 GMT
Not After : Jun 30 09:58:50 2007 GMT
Subject: C=de, O=InsecureTestCertificate, CN=Insecure User Test Cert/Email=insecure@test.insecure
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:f1:79:30:51:bb:49:33:97:ef:e8:03:91:df:f6:
9d:3b:7e:c7:13:90:7f:60:16:fe:67:8d:b3:58:20:
6e:09:21:89:f3:25:f3:0d:df:69:b0:33:71:72:70:
67:af:52:4f:14:3a:6e:f6:6d:fd:b9:c3:8e:71:63:
31:f7:f4:3a:6e:0b:54:88:ef:d0:57:87:9a:d6:e9:
d5:7d:78:a6:03:a4:54:77:04:f4:27:a3:04:ad:b1:
12:4d:13:12:b5:e3:32:2e:03:be:b8:d7:8d:5a:c0:
39:89:33:20:19:3c:32:43:69:5c:31:f2:5c:39:a9:
54:15:26:ce:3b:bd:f1:92:d9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
X509v3 Extended Key Usage:
TLS Web Client Authentication, E-mail Protection
X509v3 Subject Key Identifier:
7B:5C:26:F0:14:E4:7D:3C:5C:9D:5C:B4:86:A5:E7:6C:BE:8E:77:FB
X509v3 Authority Key Identifier:
keyid:8F:08:4F:9C:53:C1:5C:C8:E6:0C:D7:13:2E:CB:52:3C:23:96:02:14
DirName:/C=de/O=InsecureTestCertificate/CN=For Tests Only next generation/Email=insecure@test.insecure
serial:00
X509v3 Subject Alternative Name:
email:insecure@test.insecure
X509v3 Issuer Alternative Name:
email:insecure@test.insecure
Netscape Cert Type:
SSL Client, S/MIME
Netscape Comment:
This certificate was issued for testing only!
Signature Algorithm: md5WithRSAEncryption
46:1e:57:24:97:95:da:b9:c3:7e:66:ac:19:ba:08:6d:5e:2e:
19:e7:bc:c7:78:c9:0d:e6:4a:76:18:b5:ef:d9:2c:6d:a8:3c:
10:6e:d4:ce:7a:91:70:2a:19:13:2f:8a:60:82:14:57:8c:b0:
bd:ae:0d:0b:44:0d:ba:c7:e7:96:02:61:81:c7:07:c6:cc:73:
c6:a0:15:1c:a2:b4:5c:a5:28:21:6a:d6:c2:cd:84:52:05:36:
8f:06:97:29:c0:fe:c6:05:32:03:10:cc:fd:1c:56:ce:80:40:
1e:c2:19:96:8c:cf:27:5d:b5:88:e9:a0:9e:b7:ad:d0:73:c0:
d4:0f:37:09:63:64:57:3d:92:fc:2f:b8:c6:fa:3b:dd:91:f3:
66:d0:5e:50:d3:1d:10:a5:56:03:c4:7a:dc:b4:5f:0d:a7:34:
c5:47:67:ee:c2:8e:1a:87:30:1f:60:bb:30:25:ce:cc:56:1b:
22:1f:b2:ca:1e:17:65:92:15:16:ce:f9:09:21:e0:9f:45:dd:
76:67:ba:f6:7e:98:e0:cf:fe:3c:b0:75:af:34:61:c9:9c:cf:
42:99:01:cf:05:22:8f:c9:38:87:3f:85:11:8c:68:41:a9:97:
95:62:56:7f:57:8e:ed:ef:cb:f9:29:7f:d9:9a:ee:3f:d5:c1:
80:9e:85:05
-----BEGIN CERTIFICATE-----
MIIEYjCCA0qgAwIBAgIBAjANBgkqhkiG9w0BAQQFADBvMQswCQYDVQQGEwJkZTEg
MB4GA1UEChMXSW5zZWN1cmVUZXN0Q2VydGlmaWNhdGUxFzAVBgNVBAMTDkZvciBU
ZXN0cyBPbmx5MSUwIwYJKoZIhvcNAQkBFhZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJl
MB4XDTAxMDgxNzA4MzIzOFoXDTA2MDgxNjA4MzIzOFoweDELMAkGA1UEBhMCZGUx
IDAeBgNVBAoTF0luc2VjdXJlVGVzdENlcnRpZmljYXRlMSAwHgYDVQQDExdJbnNl
Y3VyZSBVc2VyIFRlc3QgQ2VydDElMCMGCSqGSIb3DQEJARYWaW5zZWN1cmVAdGVz
dC5pbnNlY3VyZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArCM8+V7VH46Y
+bMtgOaqFc8vCSBpSeL5hnHN3uwEH8/OqwKaO9hMP15lFpzEJOIPMVtOSLCg4dJy
+eS3azL3/B+4qDVqbCgKSXDMKhBDKKw0TvfhN4tgfmvy0rpgMHYApfyRdewnvKgV
YkI+sDwupmZJo87kuvPM2JzbV/DNAyMCAwEAAaOCAYIwggF+MAsGA1UdDwQEAwIE
8DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFIiefvcp
cZ17KA82Gq5tANOd4arbMIGZBgNVHSMEgZEwgY6AFL9TQ4J40J7DgOUbZ8oFAN+5
SIOloXOkcTBvMQswCQYDVQQGEwJkZTEgMB4GA1UEChMXSW5zZWN1cmVUZXN0Q2Vy
dGlmaWNhdGUxFzAVBgNVBAMTDkZvciBUZXN0cyBPbmx5MSUwIwYJKoZIhvcNAQkB
FhZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJlggEAMCEGA1UdEQQaMBiBFmluc2VjdXJl
QHRlc3QuaW5zZWN1cmUwIQYDVR0SBBowGIEWaW5zZWN1cmVAdGVzdC5pbnNlY3Vy
ZTARBglghkgBhvhCAQEEBAMCBaAwPAYJYIZIAYb4QgENBC8WLVRoaXMgY2VydGlm
aWNhdGUgd2FzIGlzc3VlZCBmb3IgdGVzdGluZyBvbmx5ITANBgkqhkiG9w0BAQQF
AAOCAQEAeRBEcR/xp4pLH3VbQmTbZEGjVEBDxNAapsdIDrKB1ecA3JMhZDjweKc4
MG5M+FQ5hcCT8kSi+6bL15BJRyyMB4727NRSC1i/2VkZmUGhhk3AR9UjsvrCC00D
gPuHdQPrIxl9+CK26ypATizb5VapzmoBc2B/dWeVh+KJbEkgTudfFj98Dqn8kiUn
bqbC3OMPa1uiez8oer8h6OAyOinmx0atjTqS5SOLI+2+p1lpMHMhodn4jgmd8Pms
KQ0jMyA0ZQ1tozQXOw9VpRYegsm8LMq0emdfybxpwGbrCIIk7BXjBIDrhYbnb3GK
blykzt4bqOeDtJuTgyBOS3Ldxqgfzg==
MIIEhDCCA2ygAwIBAgIBBDANBgkqhkiG9w0BAQQFADB/MQswCQYDVQQGEwJkZTEg
MB4GA1UEChMXSW5zZWN1cmVUZXN0Q2VydGlmaWNhdGUxJzAlBgNVBAMTHkZvciBU
ZXN0cyBPbmx5IG5leHQgZ2VuZXJhdGlvbjElMCMGCSqGSIb3DQEJARYWaW5zZWN1
cmVAdGVzdC5pbnNlY3VyZTAeFw0wMjA3MDEwOTU4NTBaFw0wNzA2MzAwOTU4NTBa
MHgxCzAJBgNVBAYTAmRlMSAwHgYDVQQKExdJbnNlY3VyZVRlc3RDZXJ0aWZpY2F0
ZTEgMB4GA1UEAxMXSW5zZWN1cmUgVXNlciBUZXN0IENlcnQxJTAjBgkqhkiG9w0B
CQEWFmluc2VjdXJlQHRlc3QuaW5zZWN1cmUwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
MIGJAoGBAPF5MFG7STOX7+gDkd/2nTt+xxOQf2AW/meNs1ggbgkhifMl8w3fabAz
cXJwZ69STxQ6bvZt/bnDjnFjMff0Om4LVIjv0FeHmtbp1X14pgOkVHcE9CejBK2x
Ek0TErXjMi4DvrjXjVrAOYkzIBk8MkNpXDHyXDmpVBUmzju98ZLZAgMBAAGjggGU
MIIBkDALBgNVHQ8EBAMCBPAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwME
MB0GA1UdDgQWBBR7XCbwFOR9PFydXLSGpedsvo53+zCBqwYDVR0jBIGjMIGggBSP
CE+cU8FcyOYM1xMuy1I8I5YCFKGBhKSBgTB/MQswCQYDVQQGEwJkZTEgMB4GA1UE
ChMXSW5zZWN1cmVUZXN0Q2VydGlmaWNhdGUxJzAlBgNVBAMTHkZvciBUZXN0cyBP
bmx5IG5leHQgZ2VuZXJhdGlvbjElMCMGCSqGSIb3DQEJARYWaW5zZWN1cmVAdGVz
dC5pbnNlY3VyZYIBADAhBgNVHREEGjAYgRZpbnNlY3VyZUB0ZXN0Lmluc2VjdXJl
MCEGA1UdEgQaMBiBFmluc2VjdXJlQHRlc3QuaW5zZWN1cmUwEQYJYIZIAYb4QgEB
BAQDAgWgMDwGCWCGSAGG+EIBDQQvFi1UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1
ZWQgZm9yIHRlc3Rpbmcgb25seSEwDQYJKoZIhvcNAQEEBQADggEBAEYeVySXldq5
w35mrBm6CG1eLhnnvMd4yQ3mSnYYte/ZLG2oPBBu1M56kXAqGRMvimCCFFeMsL2u
DQtEDbrH55YCYYHHB8bMc8agFRyitFylKCFq1sLNhFIFNo8GlynA/sYFMgMQzP0c
Vs6AQB7CGZaMzyddtYjpoJ63rdBzwNQPNwljZFc9kvwvuMb6O92R82bQXlDTHRCl
VgPEety0Xw2nNMVHZ+7CjhqHMB9guzAlzsxWGyIfssoeF2WSFRbO+Qkh4J9F3XZn
uvZ+mODP/jywda80Ycmcz0KZAc8FIo/JOIc/hRGMaEGpl5ViVn9Xju3vy/kpf9ma
7j/VwYCehQU=
-----END CERTIFICATE-----

View File

@ -1,15 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQCsIzz5XtUfjpj5sy2A5qoVzy8JIGlJ4vmGcc3e7AQfz86rApo7
2Ew/XmUWnMQk4g8xW05IsKDh0nL55LdrMvf8H7ioNWpsKApJcMwqEEMorDRO9+E3
i2B+a/LSumAwdgCl/JF17Ce8qBViQj6wPC6mZkmjzuS688zYnNtX8M0DIwIDAQAB
AoGAUmPrY1BIofoWri1csj21Wwr3cF7bBkplNDx0VSaSMse8G437VHmKxSnhKJmQ
KDcrHmydY51m469e6MzYHa8fkfwFiqRhBE7rSw9n0K1sqzU6fJYXgpxdV+GOQcKw
v+Lu+o6ej4BGQ7woJZXOiC3GDiWu3rC91UNC9eC74yCGuAECQQDhd36m/M9Bjw+C
pNi55oFGdOCaiL+OT9I3Gt2+7MIo4d2YGvhl8Nr3PC6bEq1DzoWiaE+qxE3JFZdp
J2+F0fCjAkEAw3LsfrqVZH5HW57csAapmhA+oiCTP3cDDObQ3pKNi3sfYKq8u+aK
93XAbw3+sPaWlQbVnQF+2fNxOZB9TqFLgQJALVw+Fdhs1hKzGySRGa1/Oq6O9Wgn
qbjzYPS9wgid812lmFFswg2X7/+inL5AL5EgH5F+3atKvvbiFFzDuheHowJAHwiS
cJTjv68lWXDiDbkhGOtXZprRhpQ5EcVciNqwSuNj2g+CJDu4+Q3jXj7Un/indEY/
iMyB/c1fvwooO2H1AQJAEmlUKcfUMdMKbsnqcBfUcge3POdb06pXDpZ/+X0g2OBE
1fTIQgPgP6y+Ucp/WCW6l2pEJtt26KI5kEp31WSbHA==
MIICXgIBAAKBgQDxeTBRu0kzl+/oA5Hf9p07fscTkH9gFv5njbNYIG4JIYnzJfMN
32mwM3FycGevUk8UOm72bf25w45xYzH39DpuC1SI79BXh5rW6dV9eKYDpFR3BPQn
owStsRJNExK14zIuA764141awDmJMyAZPDJDaVwx8lw5qVQVJs47vfGS2QIDAQAB
AoGBAO1KnDMVCoBK5JRpPaaK4EQg91zAeItizSnR09XcOIV8keWA+3I8g82FIAzH
bPyas9869OPxfo5YH9hJFEeHlwm4IUAI98YKzVv/IhRjYccmdGnvERbYl3k4bQX5
HQhcwy6eHYcbe+MbKaJTHrp2f8zuJzaAkFA/+2ZOBqGzmCeJAkEA+/smgF+wrcmL
5U5xuELgI7/yOKGi2srFscPkQmm1jhshn/iNcV85npW9gVTCH80XL7lY9U/Nnv82
MSxoI8F/SwJBAPVTIpZlaAbz0y82C2t0wQADccaUDSimuDGnL6ti4kITRkr4JY9N
SpQweV5ctXcg1A0Za5KYC7dZo8wjFG0ci+sCQQDyUKfKxbqStQG6BsCnMHB5EInv
WcjRXDPW6glksGEugfrI6m2ie69eSKNPbuGrUT+d3kCkzxRudQB5MzoGQHqXAkBX
I+uiPm0AIzW9jFXsGnG/vnl4jvhJm0bMJFWzbBFwZQZP9OrqhwrZroo98XJn2VpZ
ONFUJfvracTb6w4DX+N3AkEAocDaR/dAYRh0j+3nEsGeDkcbzGsm0oyRGrsVp14p
CzP1Ih6RWU84Wsegr7nkxVoCrylQGV4D6xjIaI+iIPOC/Q==
-----END RSA PRIVATE KEY-----

View File

@ -23,9 +23,30 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "cms.h"
#include <QtCrypto>
#include <QtTest/QtTest>
class CMSut : public QObject
{
Q_OBJECT
private slots:
void initTestCase();
void cleanupTestCase();
void xcrypt_data();
void xcrypt();
void signverify_data();
void signverify();
void signverify_message_data();
void signverify_message();
void signverify_message_invalid_data();
void signverify_message_invalid();
private:
QCA::Initializer* m_init;
};
void CMSut::initTestCase()
{
@ -72,7 +93,7 @@ void CMSut::xcrypt()
QCOMPARE( msg.canClearsign(), false );
QCOMPARE( msg.canSignAndEncrypt(), false );
QCOMPARE( msg.type(), QCA::SecureMessage::CMS );
msg.setRecipient(secMsgKey);
QFETCH( QByteArray, testText );
@ -82,10 +103,10 @@ void CMSut::xcrypt()
msg.end();
msg.waitForFinished(-1);
QByteArray encryptedResult1 = msg.read();
QCOMPARE( encryptedResult1.isEmpty(), false );
msg.reset();
msg.setRecipient(secMsgKey);
msg.startEncrypt();
@ -102,7 +123,7 @@ void CMSut::xcrypt()
QSecureArray passPhrase = "start";
QCA::PrivateKey privKey = QCA::PrivateKey::fromPEMFile( "Userkey.pem", passPhrase, &res );
QCOMPARE( res, QCA::ConvertGood );
secMsgKey.setX509PrivateKey( privKey );
QCA::SecureMessageKeyList privKeyList;
privKeyList += secMsgKey;
@ -217,7 +238,7 @@ void CMSut::signverify()
QCOMPARE( msg.canClearsign(), false );
QCOMPARE( msg.canSignAndEncrypt(), false );
QCOMPARE( msg.type(), QCA::SecureMessage::CMS );
msg.startVerify( signedResult1 );
msg.update( testText );
msg.end();
@ -227,7 +248,7 @@ void CMSut::signverify()
QVERIFY( msg.success() );
QEXPECT_FAIL( "empty", "We don't seem to be able to verify signature of a zero length message", Continue);
QVERIFY( msg.verifySuccess() );
msg.reset();
msg.startVerify( signedResult2);
@ -350,7 +371,7 @@ void CMSut::signverify_message()
QCOMPARE( msg.canClearsign(), false );
QCOMPARE( msg.canSignAndEncrypt(), false );
QCOMPARE( msg.type(), QCA::SecureMessage::CMS );
msg.startVerify( );
msg.update( signedResult1 );
msg.end();
@ -359,7 +380,7 @@ void CMSut::signverify_message()
QVERIFY( msg.wasSigned() );
QVERIFY( msg.success() );
QVERIFY( msg.verifySuccess() );
msg.reset();
msg.startVerify( );
@ -476,4 +497,5 @@ void CMSut::signverify_message_invalid()
QTEST_MAIN(CMSut)
#include "cms.moc"

View File

@ -1,52 +0,0 @@
/**
* Copyright (C) 2006 Brad Hards <bradh@frogmouth.net>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef CMSUT_H
#define CMSUT_H
#include <QtCrypto>
#include <QtTest/QtTest>
class CMSut : public QObject
{
Q_OBJECT
private slots:
void initTestCase();
void cleanupTestCase();
void xcrypt_data();
void xcrypt();
void signverify_data();
void signverify();
void signverify_message_data();
void signverify_message();
void signverify_message_invalid_data();
void signverify_message_invalid();
private:
QCA::Initializer* m_init;
};
#endif

View File

@ -12,5 +12,4 @@ check.depends = cms
check.commands = ./cms
# Input
HEADERS += cms.h
SOURCES += cms.cpp