32 case TLS_RSA_WITH_AES_128_CBC_SHA:
33 name =
"AES128-SHA"_L1;
35 case TLS_DHE_RSA_WITH_AES_128_CBC_SHA:
36 name =
"DHE-RSA-AES128-SHA"_L1;
38 case TLS_RSA_WITH_AES_256_CBC_SHA:
39 name =
"AES256-SHA"_L1;
41 case TLS_DHE_RSA_WITH_AES_256_CBC_SHA:
42 name =
"DHE-RSA-AES256-SHA"_L1;
46 case TLS_ECDH_ECDSA_WITH_NULL_SHA:
47 name =
"ECDH-ECDSA-NULL-SHA"_L1;
49 case TLS_ECDH_ECDSA_WITH_RC4_128_SHA:
50 name =
"ECDH-ECDSA-RC4-SHA"_L1;
52 case TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA:
53 name =
"ECDH-ECDSA-DES-CBC3-SHA"_L1;
55 case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA:
56 name =
"ECDH-ECDSA-AES128-SHA"_L1;
58 case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA:
59 name =
"ECDH-ECDSA-AES256-SHA"_L1;
61 case TLS_ECDHE_ECDSA_WITH_NULL_SHA:
62 name =
"ECDHE-ECDSA-NULL-SHA"_L1;
64 case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA:
65 name =
"ECDHE-ECDSA-RC4-SHA"_L1;
67 case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA:
68 name =
"ECDHE-ECDSA-DES-CBC3-SHA"_L1;
70 case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:
71 name =
"ECDHE-ECDSA-AES128-SHA"_L1;
73 case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:
74 name =
"ECDHE-ECDSA-AES256-SHA"_L1;
76 case TLS_ECDH_RSA_WITH_NULL_SHA:
77 name =
"ECDH-RSA-NULL-SHA"_L1;
79 case TLS_ECDH_RSA_WITH_RC4_128_SHA:
80 name =
"ECDH-RSA-RC4-SHA"_L1;
82 case TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA:
83 name =
"ECDH-RSA-DES-CBC3-SHA"_L1;
85 case TLS_ECDH_RSA_WITH_AES_128_CBC_SHA:
86 name =
"ECDH-RSA-AES128-SHA"_L1;
88 case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA:
89 name =
"ECDH-RSA-AES256-SHA"_L1;
91 case TLS_ECDHE_RSA_WITH_NULL_SHA:
92 name =
"ECDHE-RSA-NULL-SHA"_L1;
94 case TLS_ECDHE_RSA_WITH_RC4_128_SHA:
95 name =
"ECDHE-RSA-RC4-SHA"_L1;
97 case TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA:
98 name =
"ECDHE-RSA-DES-CBC3-SHA"_L1;
100 case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:
101 name =
"ECDHE-RSA-AES128-SHA"_L1;
103 case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:
104 name =
"ECDHE-RSA-AES256-SHA"_L1;
108 case TLS_RSA_WITH_3DES_EDE_CBC_SHA:
109 name =
"DES-CBC3-SHA"_L1;
111 case TLS_RSA_WITH_AES_128_CBC_SHA256:
112 name =
"AES128-SHA256"_L1;
114 case TLS_RSA_WITH_AES_256_CBC_SHA256:
115 name =
"AES256-SHA256"_L1;
117 case TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA:
118 name =
"DHE-RSA-DES-CBC3-SHA"_L1;
120 case TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:
121 name =
"DHE-RSA-AES128-SHA256"_L1;
123 case TLS_DHE_RSA_WITH_AES_256_CBC_SHA256:
124 name =
"DHE-RSA-AES256-SHA256"_L1;
134 case TLS_RSA_WITH_AES_256_GCM_SHA384:
135 name =
"AES256-GCM-SHA384"_L1;
142 case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256:
143 name =
"ECDHE-ECDSA-AES128-SHA256"_L1;
145 case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:
146 name =
"ECDHE-ECDSA-AES256-SHA384"_L1;
148 case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256:
149 name =
"ECDH-ECDSA-AES128-SHA256"_L1;
151 case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384:
152 name =
"ECDH-ECDSA-AES256-SHA384"_L1;
154 case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:
155 name =
"ECDHE-RSA-AES128-SHA256"_L1;
157 case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:
158 name =
"ECDHE-RSA-AES256-SHA384"_L1;
160 case TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256:
161 name =
"ECDH-RSA-AES128-SHA256"_L1;
163 case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384:
164 name =
"ECDH-RSA-AES256-SHA384"_L1;
169 case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:
170 name =
"ECDHE-RSA-AES256-GCM-SHA384"_L1;
176 case TLS_AES_128_GCM_SHA256:
177 name =
"AES128-GCM-SHA256"_L1;
179 case TLS_AES_256_GCM_SHA384:
180 name =
"AES256-GCM-SHA384"_L1;
182 case TLS_CHACHA20_POLY1305_SHA256:
183 name =
"CHACHA20-POLY1305-SHA256"_L1;
185 case TLS_AES_128_CCM_SHA256:
186 name =
"AES128-CCM-SHA256"_L1;
188 case TLS_AES_128_CCM_8_SHA256:
189 name =
"AES128-CCM8-SHA256"_L1;
193 case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:
194 name =
"ECDHE-ECDSA-AES128-GCM-SHA256"_L1;
196 case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:
197 name =
"ECDHE-ECDSA-AES256-GCM-SHA384"_L1;
199 case TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256:
200 name =
"ECDH-ECDSA-AES128-GCM-SHA256"_L1;
202 case TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384:
203 name =
"ECDH-ECDSA-AES256-GCM-SHA384"_L1;
205 case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:
206 name =
"ECDHE-RSA-AES128-GCM-SHA256"_L1;
208 case TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256:
209 name =
"ECDH-RSA-AES128-GCM-SHA256"_L1;
211 case TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384:
212 name =
"ECDH-RSA-AES256-GCM-SHA384"_L1;
216 case TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:
217 name =
"ECDHE-RSA-CHACHA20-POLY1305-SHA256"_L1;
219 case TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:
220 name =
"ECDHE-ECDSA-CHACHA20-POLY1305-SHA256"_L1;
246 if (s_loadedCiphersAndCerts)
253 s_loadedCiphersAndCerts =
true;
257 QList<QSslCipher> ciphers;
258 QList<QSslCipher> defaultCiphers;
260 size_t numCiphers = 0;
262 SSLGetNumberSupportedCiphers(
context, &numCiphers);
263 QList<SSLCipherSuite> cfCiphers(numCiphers);
265 SSLGetSupportedCiphers(
context, cfCiphers.data(), &numCiphers);
267 for (
size_t i = 0;
i < size_t(cfCiphers.size()); ++
i) {
269 if (!ciph.isNull()) {
271 if (ciph.usedBits() >= 128)
272 defaultCiphers << ciph;
276 setDefaultSupportedCiphers(ciphers);
277 setDefaultCiphers(defaultCiphers);
282 s_loadedCiphersAndCerts =
false;