1 /**
2  * Copyright (C)  2004-2007  Brad Hards <bradh@frogmouth.net>
3  * Copyright (C)  2013-2016  Ivan Romanov <drizt@land.ru>
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *   notice, this list of conditions and the following disclaimer in the
13  *   documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26 
27 #ifndef CIPHERUNITTEST_H
28 #define CIPHERUNITTEST_H
29 
30 #include <QtCrypto>
31 
32 class CipherUnitTest : public QObject
33 {
34     Q_OBJECT
35 
36 private Q_SLOTS:
37     void initTestCase();
38     void cleanupTestCase();
39     void aes128_data();
40     void aes128();
41     void aes128_cbc_data();
42     void aes128_cbc();
43     void aes128_cbc_pkcs7_data();
44     void aes128_cbc_pkcs7();
45     void aes128_cfb_data();
46     void aes128_cfb();
47     void aes128_ofb_data();
48     void aes128_ofb();
49     void aes128_ctr_data();
50     void aes128_ctr();
51     void aes128_gcm_data();
52     void aes128_gcm();
53     void aes128_ccm_data();
54     void aes128_ccm();
55 
56     void aes192_data();
57     void aes192();
58     void aes192_cbc_data();
59     void aes192_cbc();
60     void aes192_cbc_pkcs7_data();
61     void aes192_cbc_pkcs7();
62     void aes192_cfb_data();
63     void aes192_cfb();
64     void aes192_ofb_data();
65     void aes192_ofb();
66     void aes192_ctr_data();
67     void aes192_ctr();
68     void aes192_gcm_data();
69     void aes192_gcm();
70     void aes192_ccm_data();
71     void aes192_ccm();
72 
73     void aes256_data();
74     void aes256();
75     void aes256_cbc_data();
76     void aes256_cbc();
77     void aes256_cbc_pkcs7_data();
78     void aes256_cbc_pkcs7();
79     void aes256_cfb_data();
80     void aes256_cfb();
81     void aes256_ofb_data();
82     void aes256_ofb();
83     void aes256_ctr_data();
84     void aes256_ctr();
85     void aes256_gcm_data();
86     void aes256_gcm();
87     void aes256_ccm_data();
88     void aes256_ccm();
89 
90     void tripleDES_data();
91     void tripleDES();
92 
93     void des_data();
94     void des();
95     void des_pkcs7_data();
96     void des_pkcs7();
97     void des_cbc_data();
98     void des_cbc();
99     void des_cbc_pkcs7_data();
100     void des_cbc_pkcs7();
101     void des_cfb_data();
102     void des_cfb();
103     void des_ofb_data();
104     void des_ofb();
105 
106     void blowfish_data();
107     void blowfish();
108     void blowfish_cbc_data();
109     void blowfish_cbc();
110     void blowfish_cbc_pkcs7_data();
111     void blowfish_cbc_pkcs7();
112     void blowfish_cfb_data();
113     void blowfish_cfb();
114     void blowfish_ofb_data();
115     void blowfish_ofb();
116 
117     void cast5_data();
118     void cast5();
119 
120 private:
121     QCA::Initializer *m_init;
122     QStringList       providersToTest;
123 };
124 
125 #endif // CIPHERUNITTEST_H
126