diff options
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 5293 |
1 files changed, 2605 insertions, 2688 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index fd1e7b80d8..926071fffa 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -164,496 +164,496 @@ | |||
164 | 164 | ||
165 | const char ssl3_version_str[]="SSLv3" OPENSSL_VERSION_PTEXT; | 165 | const char ssl3_version_str[]="SSLv3" OPENSSL_VERSION_PTEXT; |
166 | 166 | ||
167 | #define SSL3_NUM_CIPHERS (sizeof(ssl3_ciphers)/sizeof(SSL_CIPHER)) | 167 | #define SSL3_NUM_CIPHERS (sizeof(ssl3_ciphers) / sizeof(SSL_CIPHER)) |
168 | 168 | ||
169 | /* list of available SSLv3 ciphers (sorted by id) */ | 169 | /* list of available SSLv3 ciphers (sorted by id) */ |
170 | OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | 170 | OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[] = { |
171 | 171 | ||
172 | /* The RSA ciphers */ | 172 | /* The RSA ciphers */ |
173 | /* Cipher 01 */ | 173 | /* Cipher 01 */ |
174 | { | 174 | { |
175 | 1, | 175 | 1, |
176 | SSL3_TXT_RSA_NULL_MD5, | 176 | SSL3_TXT_RSA_NULL_MD5, |
177 | SSL3_CK_RSA_NULL_MD5, | 177 | SSL3_CK_RSA_NULL_MD5, |
178 | SSL_kRSA, | 178 | SSL_kRSA, |
179 | SSL_aRSA, | 179 | SSL_aRSA, |
180 | SSL_eNULL, | 180 | SSL_eNULL, |
181 | SSL_MD5, | 181 | SSL_MD5, |
182 | SSL_SSLV3, | 182 | SSL_SSLV3, |
183 | SSL_NOT_EXP|SSL_STRONG_NONE, | 183 | SSL_NOT_EXP|SSL_STRONG_NONE, |
184 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 184 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
185 | 0, | 185 | 0, |
186 | 0, | 186 | 0, |
187 | }, | 187 | }, |
188 | 188 | ||
189 | /* Cipher 02 */ | 189 | /* Cipher 02 */ |
190 | { | 190 | { |
191 | 1, | 191 | 1, |
192 | SSL3_TXT_RSA_NULL_SHA, | 192 | SSL3_TXT_RSA_NULL_SHA, |
193 | SSL3_CK_RSA_NULL_SHA, | 193 | SSL3_CK_RSA_NULL_SHA, |
194 | SSL_kRSA, | 194 | SSL_kRSA, |
195 | SSL_aRSA, | 195 | SSL_aRSA, |
196 | SSL_eNULL, | 196 | SSL_eNULL, |
197 | SSL_SHA1, | 197 | SSL_SHA1, |
198 | SSL_SSLV3, | 198 | SSL_SSLV3, |
199 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 199 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
200 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 200 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
201 | 0, | 201 | 0, |
202 | 0, | 202 | 0, |
203 | }, | 203 | }, |
204 | 204 | ||
205 | /* Cipher 03 */ | 205 | /* Cipher 03 */ |
206 | { | 206 | { |
207 | 1, | 207 | 1, |
208 | SSL3_TXT_RSA_RC4_40_MD5, | 208 | SSL3_TXT_RSA_RC4_40_MD5, |
209 | SSL3_CK_RSA_RC4_40_MD5, | 209 | SSL3_CK_RSA_RC4_40_MD5, |
210 | SSL_kRSA, | 210 | SSL_kRSA, |
211 | SSL_aRSA, | 211 | SSL_aRSA, |
212 | SSL_RC4, | 212 | SSL_RC4, |
213 | SSL_MD5, | 213 | SSL_MD5, |
214 | SSL_SSLV3, | 214 | SSL_SSLV3, |
215 | SSL_EXPORT|SSL_EXP40, | 215 | SSL_EXPORT|SSL_EXP40, |
216 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 216 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
217 | 40, | 217 | 40, |
218 | 128, | 218 | 128, |
219 | }, | 219 | }, |
220 | 220 | ||
221 | /* Cipher 04 */ | 221 | /* Cipher 04 */ |
222 | { | 222 | { |
223 | 1, | 223 | 1, |
224 | SSL3_TXT_RSA_RC4_128_MD5, | 224 | SSL3_TXT_RSA_RC4_128_MD5, |
225 | SSL3_CK_RSA_RC4_128_MD5, | 225 | SSL3_CK_RSA_RC4_128_MD5, |
226 | SSL_kRSA, | 226 | SSL_kRSA, |
227 | SSL_aRSA, | 227 | SSL_aRSA, |
228 | SSL_RC4, | 228 | SSL_RC4, |
229 | SSL_MD5, | 229 | SSL_MD5, |
230 | SSL_SSLV3, | 230 | SSL_SSLV3, |
231 | SSL_NOT_EXP|SSL_MEDIUM, | 231 | SSL_NOT_EXP|SSL_MEDIUM, |
232 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 232 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
233 | 128, | 233 | 128, |
234 | 128, | 234 | 128, |
235 | }, | 235 | }, |
236 | 236 | ||
237 | /* Cipher 05 */ | 237 | /* Cipher 05 */ |
238 | { | 238 | { |
239 | 1, | 239 | 1, |
240 | SSL3_TXT_RSA_RC4_128_SHA, | 240 | SSL3_TXT_RSA_RC4_128_SHA, |
241 | SSL3_CK_RSA_RC4_128_SHA, | 241 | SSL3_CK_RSA_RC4_128_SHA, |
242 | SSL_kRSA, | 242 | SSL_kRSA, |
243 | SSL_aRSA, | 243 | SSL_aRSA, |
244 | SSL_RC4, | 244 | SSL_RC4, |
245 | SSL_SHA1, | 245 | SSL_SHA1, |
246 | SSL_SSLV3, | 246 | SSL_SSLV3, |
247 | SSL_NOT_EXP|SSL_MEDIUM, | 247 | SSL_NOT_EXP|SSL_MEDIUM, |
248 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 248 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
249 | 128, | 249 | 128, |
250 | 128, | 250 | 128, |
251 | }, | 251 | }, |
252 | 252 | ||
253 | /* Cipher 06 */ | 253 | /* Cipher 06 */ |
254 | { | 254 | { |
255 | 1, | 255 | 1, |
256 | SSL3_TXT_RSA_RC2_40_MD5, | 256 | SSL3_TXT_RSA_RC2_40_MD5, |
257 | SSL3_CK_RSA_RC2_40_MD5, | 257 | SSL3_CK_RSA_RC2_40_MD5, |
258 | SSL_kRSA, | 258 | SSL_kRSA, |
259 | SSL_aRSA, | 259 | SSL_aRSA, |
260 | SSL_RC2, | 260 | SSL_RC2, |
261 | SSL_MD5, | 261 | SSL_MD5, |
262 | SSL_SSLV3, | 262 | SSL_SSLV3, |
263 | SSL_EXPORT|SSL_EXP40, | 263 | SSL_EXPORT|SSL_EXP40, |
264 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 264 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
265 | 40, | 265 | 40, |
266 | 128, | 266 | 128, |
267 | }, | 267 | }, |
268 | 268 | ||
269 | /* Cipher 07 */ | 269 | /* Cipher 07 */ |
270 | #ifndef OPENSSL_NO_IDEA | 270 | #ifndef OPENSSL_NO_IDEA |
271 | { | 271 | { |
272 | 1, | 272 | 1, |
273 | SSL3_TXT_RSA_IDEA_128_SHA, | 273 | SSL3_TXT_RSA_IDEA_128_SHA, |
274 | SSL3_CK_RSA_IDEA_128_SHA, | 274 | SSL3_CK_RSA_IDEA_128_SHA, |
275 | SSL_kRSA, | 275 | SSL_kRSA, |
276 | SSL_aRSA, | 276 | SSL_aRSA, |
277 | SSL_IDEA, | 277 | SSL_IDEA, |
278 | SSL_SHA1, | 278 | SSL_SHA1, |
279 | SSL_SSLV3, | 279 | SSL_SSLV3, |
280 | SSL_NOT_EXP|SSL_MEDIUM, | 280 | SSL_NOT_EXP|SSL_MEDIUM, |
281 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 281 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
282 | 128, | 282 | 128, |
283 | 128, | 283 | 128, |
284 | }, | 284 | }, |
285 | #endif | 285 | #endif |
286 | 286 | ||
287 | /* Cipher 08 */ | 287 | /* Cipher 08 */ |
288 | { | 288 | { |
289 | 1, | 289 | 1, |
290 | SSL3_TXT_RSA_DES_40_CBC_SHA, | 290 | SSL3_TXT_RSA_DES_40_CBC_SHA, |
291 | SSL3_CK_RSA_DES_40_CBC_SHA, | 291 | SSL3_CK_RSA_DES_40_CBC_SHA, |
292 | SSL_kRSA, | 292 | SSL_kRSA, |
293 | SSL_aRSA, | 293 | SSL_aRSA, |
294 | SSL_DES, | 294 | SSL_DES, |
295 | SSL_SHA1, | 295 | SSL_SHA1, |
296 | SSL_SSLV3, | 296 | SSL_SSLV3, |
297 | SSL_EXPORT|SSL_EXP40, | 297 | SSL_EXPORT|SSL_EXP40, |
298 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 298 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
299 | 40, | 299 | 40, |
300 | 56, | 300 | 56, |
301 | }, | 301 | }, |
302 | 302 | ||
303 | /* Cipher 09 */ | 303 | /* Cipher 09 */ |
304 | { | 304 | { |
305 | 1, | 305 | 1, |
306 | SSL3_TXT_RSA_DES_64_CBC_SHA, | 306 | SSL3_TXT_RSA_DES_64_CBC_SHA, |
307 | SSL3_CK_RSA_DES_64_CBC_SHA, | 307 | SSL3_CK_RSA_DES_64_CBC_SHA, |
308 | SSL_kRSA, | 308 | SSL_kRSA, |
309 | SSL_aRSA, | 309 | SSL_aRSA, |
310 | SSL_DES, | 310 | SSL_DES, |
311 | SSL_SHA1, | 311 | SSL_SHA1, |
312 | SSL_SSLV3, | 312 | SSL_SSLV3, |
313 | SSL_NOT_EXP|SSL_LOW, | 313 | SSL_NOT_EXP|SSL_LOW, |
314 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 314 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
315 | 56, | 315 | 56, |
316 | 56, | 316 | 56, |
317 | }, | 317 | }, |
318 | 318 | ||
319 | /* Cipher 0A */ | 319 | /* Cipher 0A */ |
320 | { | 320 | { |
321 | 1, | 321 | 1, |
322 | SSL3_TXT_RSA_DES_192_CBC3_SHA, | 322 | SSL3_TXT_RSA_DES_192_CBC3_SHA, |
323 | SSL3_CK_RSA_DES_192_CBC3_SHA, | 323 | SSL3_CK_RSA_DES_192_CBC3_SHA, |
324 | SSL_kRSA, | 324 | SSL_kRSA, |
325 | SSL_aRSA, | 325 | SSL_aRSA, |
326 | SSL_3DES, | 326 | SSL_3DES, |
327 | SSL_SHA1, | 327 | SSL_SHA1, |
328 | SSL_SSLV3, | 328 | SSL_SSLV3, |
329 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 329 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
330 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 330 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
331 | 168, | 331 | 168, |
332 | 168, | 332 | 168, |
333 | }, | 333 | }, |
334 | 334 | ||
335 | /* The DH ciphers */ | 335 | /* The DH ciphers */ |
336 | /* Cipher 0B */ | 336 | /* Cipher 0B */ |
337 | { | 337 | { |
338 | 0, | 338 | 0, |
339 | SSL3_TXT_DH_DSS_DES_40_CBC_SHA, | 339 | SSL3_TXT_DH_DSS_DES_40_CBC_SHA, |
340 | SSL3_CK_DH_DSS_DES_40_CBC_SHA, | 340 | SSL3_CK_DH_DSS_DES_40_CBC_SHA, |
341 | SSL_kDHd, | 341 | SSL_kDHd, |
342 | SSL_aDH, | 342 | SSL_aDH, |
343 | SSL_DES, | 343 | SSL_DES, |
344 | SSL_SHA1, | 344 | SSL_SHA1, |
345 | SSL_SSLV3, | 345 | SSL_SSLV3, |
346 | SSL_EXPORT|SSL_EXP40, | 346 | SSL_EXPORT|SSL_EXP40, |
347 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 347 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
348 | 40, | 348 | 40, |
349 | 56, | 349 | 56, |
350 | }, | 350 | }, |
351 | 351 | ||
352 | /* Cipher 0C */ | 352 | /* Cipher 0C */ |
353 | { | 353 | { |
354 | 0, /* not implemented (non-ephemeral DH) */ | 354 | 0, /* not implemented (non-ephemeral DH) */ |
355 | SSL3_TXT_DH_DSS_DES_64_CBC_SHA, | 355 | SSL3_TXT_DH_DSS_DES_64_CBC_SHA, |
356 | SSL3_CK_DH_DSS_DES_64_CBC_SHA, | 356 | SSL3_CK_DH_DSS_DES_64_CBC_SHA, |
357 | SSL_kDHd, | 357 | SSL_kDHd, |
358 | SSL_aDH, | 358 | SSL_aDH, |
359 | SSL_DES, | 359 | SSL_DES, |
360 | SSL_SHA1, | 360 | SSL_SHA1, |
361 | SSL_SSLV3, | 361 | SSL_SSLV3, |
362 | SSL_NOT_EXP|SSL_LOW, | 362 | SSL_NOT_EXP|SSL_LOW, |
363 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 363 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
364 | 56, | 364 | 56, |
365 | 56, | 365 | 56, |
366 | }, | 366 | }, |
367 | 367 | ||
368 | /* Cipher 0D */ | 368 | /* Cipher 0D */ |
369 | { | 369 | { |
370 | 0, /* not implemented (non-ephemeral DH) */ | 370 | 0, /* not implemented (non-ephemeral DH) */ |
371 | SSL3_TXT_DH_DSS_DES_192_CBC3_SHA, | 371 | SSL3_TXT_DH_DSS_DES_192_CBC3_SHA, |
372 | SSL3_CK_DH_DSS_DES_192_CBC3_SHA, | 372 | SSL3_CK_DH_DSS_DES_192_CBC3_SHA, |
373 | SSL_kDHd, | 373 | SSL_kDHd, |
374 | SSL_aDH, | 374 | SSL_aDH, |
375 | SSL_3DES, | 375 | SSL_3DES, |
376 | SSL_SHA1, | 376 | SSL_SHA1, |
377 | SSL_SSLV3, | 377 | SSL_SSLV3, |
378 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 378 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
379 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 379 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
380 | 168, | 380 | 168, |
381 | 168, | 381 | 168, |
382 | }, | 382 | }, |
383 | 383 | ||
384 | /* Cipher 0E */ | 384 | /* Cipher 0E */ |
385 | { | 385 | { |
386 | 0, /* not implemented (non-ephemeral DH) */ | 386 | 0, /* not implemented (non-ephemeral DH) */ |
387 | SSL3_TXT_DH_RSA_DES_40_CBC_SHA, | 387 | SSL3_TXT_DH_RSA_DES_40_CBC_SHA, |
388 | SSL3_CK_DH_RSA_DES_40_CBC_SHA, | 388 | SSL3_CK_DH_RSA_DES_40_CBC_SHA, |
389 | SSL_kDHr, | 389 | SSL_kDHr, |
390 | SSL_aDH, | 390 | SSL_aDH, |
391 | SSL_DES, | 391 | SSL_DES, |
392 | SSL_SHA1, | 392 | SSL_SHA1, |
393 | SSL_SSLV3, | 393 | SSL_SSLV3, |
394 | SSL_EXPORT|SSL_EXP40, | 394 | SSL_EXPORT|SSL_EXP40, |
395 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 395 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
396 | 40, | 396 | 40, |
397 | 56, | 397 | 56, |
398 | }, | 398 | }, |
399 | 399 | ||
400 | /* Cipher 0F */ | 400 | /* Cipher 0F */ |
401 | { | 401 | { |
402 | 0, /* not implemented (non-ephemeral DH) */ | 402 | 0, /* not implemented (non-ephemeral DH) */ |
403 | SSL3_TXT_DH_RSA_DES_64_CBC_SHA, | 403 | SSL3_TXT_DH_RSA_DES_64_CBC_SHA, |
404 | SSL3_CK_DH_RSA_DES_64_CBC_SHA, | 404 | SSL3_CK_DH_RSA_DES_64_CBC_SHA, |
405 | SSL_kDHr, | 405 | SSL_kDHr, |
406 | SSL_aDH, | 406 | SSL_aDH, |
407 | SSL_DES, | 407 | SSL_DES, |
408 | SSL_SHA1, | 408 | SSL_SHA1, |
409 | SSL_SSLV3, | 409 | SSL_SSLV3, |
410 | SSL_NOT_EXP|SSL_LOW, | 410 | SSL_NOT_EXP|SSL_LOW, |
411 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 411 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
412 | 56, | 412 | 56, |
413 | 56, | 413 | 56, |
414 | }, | 414 | }, |
415 | 415 | ||
416 | /* Cipher 10 */ | 416 | /* Cipher 10 */ |
417 | { | 417 | { |
418 | 0, /* not implemented (non-ephemeral DH) */ | 418 | 0, /* not implemented (non-ephemeral DH) */ |
419 | SSL3_TXT_DH_RSA_DES_192_CBC3_SHA, | 419 | SSL3_TXT_DH_RSA_DES_192_CBC3_SHA, |
420 | SSL3_CK_DH_RSA_DES_192_CBC3_SHA, | 420 | SSL3_CK_DH_RSA_DES_192_CBC3_SHA, |
421 | SSL_kDHr, | 421 | SSL_kDHr, |
422 | SSL_aDH, | 422 | SSL_aDH, |
423 | SSL_3DES, | 423 | SSL_3DES, |
424 | SSL_SHA1, | 424 | SSL_SHA1, |
425 | SSL_SSLV3, | 425 | SSL_SSLV3, |
426 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 426 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
427 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 427 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
428 | 168, | 428 | 168, |
429 | 168, | 429 | 168, |
430 | }, | 430 | }, |
431 | 431 | ||
432 | /* The Ephemeral DH ciphers */ | 432 | /* The Ephemeral DH ciphers */ |
433 | /* Cipher 11 */ | 433 | /* Cipher 11 */ |
434 | { | 434 | { |
435 | 1, | 435 | 1, |
436 | SSL3_TXT_EDH_DSS_DES_40_CBC_SHA, | 436 | SSL3_TXT_EDH_DSS_DES_40_CBC_SHA, |
437 | SSL3_CK_EDH_DSS_DES_40_CBC_SHA, | 437 | SSL3_CK_EDH_DSS_DES_40_CBC_SHA, |
438 | SSL_kEDH, | 438 | SSL_kEDH, |
439 | SSL_aDSS, | 439 | SSL_aDSS, |
440 | SSL_DES, | 440 | SSL_DES, |
441 | SSL_SHA1, | 441 | SSL_SHA1, |
442 | SSL_SSLV3, | 442 | SSL_SSLV3, |
443 | SSL_EXPORT|SSL_EXP40, | 443 | SSL_EXPORT|SSL_EXP40, |
444 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 444 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
445 | 40, | 445 | 40, |
446 | 56, | 446 | 56, |
447 | }, | 447 | }, |
448 | 448 | ||
449 | /* Cipher 12 */ | 449 | /* Cipher 12 */ |
450 | { | 450 | { |
451 | 1, | 451 | 1, |
452 | SSL3_TXT_EDH_DSS_DES_64_CBC_SHA, | 452 | SSL3_TXT_EDH_DSS_DES_64_CBC_SHA, |
453 | SSL3_CK_EDH_DSS_DES_64_CBC_SHA, | 453 | SSL3_CK_EDH_DSS_DES_64_CBC_SHA, |
454 | SSL_kEDH, | 454 | SSL_kEDH, |
455 | SSL_aDSS, | 455 | SSL_aDSS, |
456 | SSL_DES, | 456 | SSL_DES, |
457 | SSL_SHA1, | 457 | SSL_SHA1, |
458 | SSL_SSLV3, | 458 | SSL_SSLV3, |
459 | SSL_NOT_EXP|SSL_LOW, | 459 | SSL_NOT_EXP|SSL_LOW, |
460 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 460 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
461 | 56, | 461 | 56, |
462 | 56, | 462 | 56, |
463 | }, | 463 | }, |
464 | 464 | ||
465 | /* Cipher 13 */ | 465 | /* Cipher 13 */ |
466 | { | 466 | { |
467 | 1, | 467 | 1, |
468 | SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA, | 468 | SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA, |
469 | SSL3_CK_EDH_DSS_DES_192_CBC3_SHA, | 469 | SSL3_CK_EDH_DSS_DES_192_CBC3_SHA, |
470 | SSL_kEDH, | 470 | SSL_kEDH, |
471 | SSL_aDSS, | 471 | SSL_aDSS, |
472 | SSL_3DES, | 472 | SSL_3DES, |
473 | SSL_SHA1, | 473 | SSL_SHA1, |
474 | SSL_SSLV3, | 474 | SSL_SSLV3, |
475 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 475 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
476 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 476 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
477 | 168, | 477 | 168, |
478 | 168, | 478 | 168, |
479 | }, | 479 | }, |
480 | 480 | ||
481 | /* Cipher 14 */ | 481 | /* Cipher 14 */ |
482 | { | 482 | { |
483 | 1, | 483 | 1, |
484 | SSL3_TXT_EDH_RSA_DES_40_CBC_SHA, | 484 | SSL3_TXT_EDH_RSA_DES_40_CBC_SHA, |
485 | SSL3_CK_EDH_RSA_DES_40_CBC_SHA, | 485 | SSL3_CK_EDH_RSA_DES_40_CBC_SHA, |
486 | SSL_kEDH, | 486 | SSL_kEDH, |
487 | SSL_aRSA, | 487 | SSL_aRSA, |
488 | SSL_DES, | 488 | SSL_DES, |
489 | SSL_SHA1, | 489 | SSL_SHA1, |
490 | SSL_SSLV3, | 490 | SSL_SSLV3, |
491 | SSL_EXPORT|SSL_EXP40, | 491 | SSL_EXPORT|SSL_EXP40, |
492 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 492 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
493 | 40, | 493 | 40, |
494 | 56, | 494 | 56, |
495 | }, | 495 | }, |
496 | 496 | ||
497 | /* Cipher 15 */ | 497 | /* Cipher 15 */ |
498 | { | 498 | { |
499 | 1, | 499 | 1, |
500 | SSL3_TXT_EDH_RSA_DES_64_CBC_SHA, | 500 | SSL3_TXT_EDH_RSA_DES_64_CBC_SHA, |
501 | SSL3_CK_EDH_RSA_DES_64_CBC_SHA, | 501 | SSL3_CK_EDH_RSA_DES_64_CBC_SHA, |
502 | SSL_kEDH, | 502 | SSL_kEDH, |
503 | SSL_aRSA, | 503 | SSL_aRSA, |
504 | SSL_DES, | 504 | SSL_DES, |
505 | SSL_SHA1, | 505 | SSL_SHA1, |
506 | SSL_SSLV3, | 506 | SSL_SSLV3, |
507 | SSL_NOT_EXP|SSL_LOW, | 507 | SSL_NOT_EXP|SSL_LOW, |
508 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 508 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
509 | 56, | 509 | 56, |
510 | 56, | 510 | 56, |
511 | }, | 511 | }, |
512 | 512 | ||
513 | /* Cipher 16 */ | 513 | /* Cipher 16 */ |
514 | { | 514 | { |
515 | 1, | 515 | 1, |
516 | SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA, | 516 | SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA, |
517 | SSL3_CK_EDH_RSA_DES_192_CBC3_SHA, | 517 | SSL3_CK_EDH_RSA_DES_192_CBC3_SHA, |
518 | SSL_kEDH, | 518 | SSL_kEDH, |
519 | SSL_aRSA, | 519 | SSL_aRSA, |
520 | SSL_3DES, | 520 | SSL_3DES, |
521 | SSL_SHA1, | 521 | SSL_SHA1, |
522 | SSL_SSLV3, | 522 | SSL_SSLV3, |
523 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 523 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
524 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 524 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
525 | 168, | 525 | 168, |
526 | 168, | 526 | 168, |
527 | }, | 527 | }, |
528 | 528 | ||
529 | /* Cipher 17 */ | 529 | /* Cipher 17 */ |
530 | { | 530 | { |
531 | 1, | 531 | 1, |
532 | SSL3_TXT_ADH_RC4_40_MD5, | 532 | SSL3_TXT_ADH_RC4_40_MD5, |
533 | SSL3_CK_ADH_RC4_40_MD5, | 533 | SSL3_CK_ADH_RC4_40_MD5, |
534 | SSL_kEDH, | 534 | SSL_kEDH, |
535 | SSL_aNULL, | 535 | SSL_aNULL, |
536 | SSL_RC4, | 536 | SSL_RC4, |
537 | SSL_MD5, | 537 | SSL_MD5, |
538 | SSL_SSLV3, | 538 | SSL_SSLV3, |
539 | SSL_EXPORT|SSL_EXP40, | 539 | SSL_EXPORT|SSL_EXP40, |
540 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 540 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
541 | 40, | 541 | 40, |
542 | 128, | 542 | 128, |
543 | }, | 543 | }, |
544 | 544 | ||
545 | /* Cipher 18 */ | 545 | /* Cipher 18 */ |
546 | { | 546 | { |
547 | 1, | 547 | 1, |
548 | SSL3_TXT_ADH_RC4_128_MD5, | 548 | SSL3_TXT_ADH_RC4_128_MD5, |
549 | SSL3_CK_ADH_RC4_128_MD5, | 549 | SSL3_CK_ADH_RC4_128_MD5, |
550 | SSL_kEDH, | 550 | SSL_kEDH, |
551 | SSL_aNULL, | 551 | SSL_aNULL, |
552 | SSL_RC4, | 552 | SSL_RC4, |
553 | SSL_MD5, | 553 | SSL_MD5, |
554 | SSL_SSLV3, | 554 | SSL_SSLV3, |
555 | SSL_NOT_EXP|SSL_MEDIUM, | 555 | SSL_NOT_EXP|SSL_MEDIUM, |
556 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 556 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
557 | 128, | 557 | 128, |
558 | 128, | 558 | 128, |
559 | }, | 559 | }, |
560 | 560 | ||
561 | /* Cipher 19 */ | 561 | /* Cipher 19 */ |
562 | { | 562 | { |
563 | 1, | 563 | 1, |
564 | SSL3_TXT_ADH_DES_40_CBC_SHA, | 564 | SSL3_TXT_ADH_DES_40_CBC_SHA, |
565 | SSL3_CK_ADH_DES_40_CBC_SHA, | 565 | SSL3_CK_ADH_DES_40_CBC_SHA, |
566 | SSL_kEDH, | 566 | SSL_kEDH, |
567 | SSL_aNULL, | 567 | SSL_aNULL, |
568 | SSL_DES, | 568 | SSL_DES, |
569 | SSL_SHA1, | 569 | SSL_SHA1, |
570 | SSL_SSLV3, | 570 | SSL_SSLV3, |
571 | SSL_EXPORT|SSL_EXP40, | 571 | SSL_EXPORT|SSL_EXP40, |
572 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 572 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
573 | 40, | 573 | 40, |
574 | 128, | 574 | 128, |
575 | }, | 575 | }, |
576 | 576 | ||
577 | /* Cipher 1A */ | 577 | /* Cipher 1A */ |
578 | { | 578 | { |
579 | 1, | 579 | 1, |
580 | SSL3_TXT_ADH_DES_64_CBC_SHA, | 580 | SSL3_TXT_ADH_DES_64_CBC_SHA, |
581 | SSL3_CK_ADH_DES_64_CBC_SHA, | 581 | SSL3_CK_ADH_DES_64_CBC_SHA, |
582 | SSL_kEDH, | 582 | SSL_kEDH, |
583 | SSL_aNULL, | 583 | SSL_aNULL, |
584 | SSL_DES, | 584 | SSL_DES, |
585 | SSL_SHA1, | 585 | SSL_SHA1, |
586 | SSL_SSLV3, | 586 | SSL_SSLV3, |
587 | SSL_NOT_EXP|SSL_LOW, | 587 | SSL_NOT_EXP|SSL_LOW, |
588 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 588 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
589 | 56, | 589 | 56, |
590 | 56, | 590 | 56, |
591 | }, | 591 | }, |
592 | 592 | ||
593 | /* Cipher 1B */ | 593 | /* Cipher 1B */ |
594 | { | 594 | { |
595 | 1, | 595 | 1, |
596 | SSL3_TXT_ADH_DES_192_CBC_SHA, | 596 | SSL3_TXT_ADH_DES_192_CBC_SHA, |
597 | SSL3_CK_ADH_DES_192_CBC_SHA, | 597 | SSL3_CK_ADH_DES_192_CBC_SHA, |
598 | SSL_kEDH, | 598 | SSL_kEDH, |
599 | SSL_aNULL, | 599 | SSL_aNULL, |
600 | SSL_3DES, | 600 | SSL_3DES, |
601 | SSL_SHA1, | 601 | SSL_SHA1, |
602 | SSL_SSLV3, | 602 | SSL_SSLV3, |
603 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 603 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
604 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 604 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
605 | 168, | 605 | 168, |
606 | 168, | 606 | 168, |
607 | }, | 607 | }, |
608 | 608 | ||
609 | /* Fortezza ciphersuite from SSL 3.0 spec */ | 609 | /* Fortezza ciphersuite from SSL 3.0 spec */ |
610 | #if 0 | 610 | #if 0 |
611 | /* Cipher 1C */ | 611 | /* Cipher 1C */ |
612 | { | 612 | { |
613 | 0, | 613 | 0, |
614 | SSL3_TXT_FZA_DMS_NULL_SHA, | 614 | SSL3_TXT_FZA_DMS_NULL_SHA, |
615 | SSL3_CK_FZA_DMS_NULL_SHA, | 615 | SSL3_CK_FZA_DMS_NULL_SHA, |
616 | SSL_kFZA, | 616 | SSL_kFZA, |
617 | SSL_aFZA, | 617 | SSL_aFZA, |
618 | SSL_eNULL, | 618 | SSL_eNULL, |
619 | SSL_SHA1, | 619 | SSL_SHA1, |
620 | SSL_SSLV3, | 620 | SSL_SSLV3, |
621 | SSL_NOT_EXP|SSL_STRONG_NONE, | 621 | SSL_NOT_EXP|SSL_STRONG_NONE, |
622 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 622 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
623 | 0, | 623 | 0, |
624 | 0, | 624 | 0, |
625 | }, | 625 | }, |
626 | 626 | ||
627 | /* Cipher 1D */ | 627 | /* Cipher 1D */ |
628 | { | 628 | { |
629 | 0, | 629 | 0, |
630 | SSL3_TXT_FZA_DMS_FZA_SHA, | 630 | SSL3_TXT_FZA_DMS_FZA_SHA, |
631 | SSL3_CK_FZA_DMS_FZA_SHA, | 631 | SSL3_CK_FZA_DMS_FZA_SHA, |
632 | SSL_kFZA, | 632 | SSL_kFZA, |
633 | SSL_aFZA, | 633 | SSL_aFZA, |
634 | SSL_eFZA, | 634 | SSL_eFZA, |
635 | SSL_SHA1, | 635 | SSL_SHA1, |
636 | SSL_SSLV3, | 636 | SSL_SSLV3, |
637 | SSL_NOT_EXP|SSL_STRONG_NONE, | 637 | SSL_NOT_EXP|SSL_STRONG_NONE, |
638 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 638 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
639 | 0, | 639 | 0, |
640 | 0, | 640 | 0, |
641 | }, | 641 | }, |
642 | 642 | ||
643 | /* Cipher 1E */ | 643 | /* Cipher 1E */ |
644 | { | 644 | { |
645 | 0, | 645 | 0, |
646 | SSL3_TXT_FZA_DMS_RC4_SHA, | 646 | SSL3_TXT_FZA_DMS_RC4_SHA, |
647 | SSL3_CK_FZA_DMS_RC4_SHA, | 647 | SSL3_CK_FZA_DMS_RC4_SHA, |
648 | SSL_kFZA, | 648 | SSL_kFZA, |
649 | SSL_aFZA, | 649 | SSL_aFZA, |
650 | SSL_RC4, | 650 | SSL_RC4, |
651 | SSL_SHA1, | 651 | SSL_SHA1, |
652 | SSL_SSLV3, | 652 | SSL_SSLV3, |
653 | SSL_NOT_EXP|SSL_MEDIUM, | 653 | SSL_NOT_EXP|SSL_MEDIUM, |
654 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 654 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
655 | 128, | 655 | 128, |
656 | 128, | 656 | 128, |
657 | }, | 657 | }, |
658 | #endif | 658 | #endif |
659 | 659 | ||
@@ -661,511 +661,511 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
661 | /* The Kerberos ciphers*/ | 661 | /* The Kerberos ciphers*/ |
662 | /* Cipher 1E */ | 662 | /* Cipher 1E */ |
663 | { | 663 | { |
664 | 1, | 664 | 1, |
665 | SSL3_TXT_KRB5_DES_64_CBC_SHA, | 665 | SSL3_TXT_KRB5_DES_64_CBC_SHA, |
666 | SSL3_CK_KRB5_DES_64_CBC_SHA, | 666 | SSL3_CK_KRB5_DES_64_CBC_SHA, |
667 | SSL_kKRB5, | 667 | SSL_kKRB5, |
668 | SSL_aKRB5, | 668 | SSL_aKRB5, |
669 | SSL_DES, | 669 | SSL_DES, |
670 | SSL_SHA1, | 670 | SSL_SHA1, |
671 | SSL_SSLV3, | 671 | SSL_SSLV3, |
672 | SSL_NOT_EXP|SSL_LOW, | 672 | SSL_NOT_EXP|SSL_LOW, |
673 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 673 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
674 | 56, | 674 | 56, |
675 | 56, | 675 | 56, |
676 | }, | 676 | }, |
677 | 677 | ||
678 | /* Cipher 1F */ | 678 | /* Cipher 1F */ |
679 | { | 679 | { |
680 | 1, | 680 | 1, |
681 | SSL3_TXT_KRB5_DES_192_CBC3_SHA, | 681 | SSL3_TXT_KRB5_DES_192_CBC3_SHA, |
682 | SSL3_CK_KRB5_DES_192_CBC3_SHA, | 682 | SSL3_CK_KRB5_DES_192_CBC3_SHA, |
683 | SSL_kKRB5, | 683 | SSL_kKRB5, |
684 | SSL_aKRB5, | 684 | SSL_aKRB5, |
685 | SSL_3DES, | 685 | SSL_3DES, |
686 | SSL_SHA1, | 686 | SSL_SHA1, |
687 | SSL_SSLV3, | 687 | SSL_SSLV3, |
688 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 688 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
689 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 689 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
690 | 168, | 690 | 168, |
691 | 168, | 691 | 168, |
692 | }, | 692 | }, |
693 | 693 | ||
694 | /* Cipher 20 */ | 694 | /* Cipher 20 */ |
695 | { | 695 | { |
696 | 1, | 696 | 1, |
697 | SSL3_TXT_KRB5_RC4_128_SHA, | 697 | SSL3_TXT_KRB5_RC4_128_SHA, |
698 | SSL3_CK_KRB5_RC4_128_SHA, | 698 | SSL3_CK_KRB5_RC4_128_SHA, |
699 | SSL_kKRB5, | 699 | SSL_kKRB5, |
700 | SSL_aKRB5, | 700 | SSL_aKRB5, |
701 | SSL_RC4, | 701 | SSL_RC4, |
702 | SSL_SHA1, | 702 | SSL_SHA1, |
703 | SSL_SSLV3, | 703 | SSL_SSLV3, |
704 | SSL_NOT_EXP|SSL_MEDIUM, | 704 | SSL_NOT_EXP|SSL_MEDIUM, |
705 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 705 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
706 | 128, | 706 | 128, |
707 | 128, | 707 | 128, |
708 | }, | 708 | }, |
709 | 709 | ||
710 | /* Cipher 21 */ | 710 | /* Cipher 21 */ |
711 | { | 711 | { |
712 | 1, | 712 | 1, |
713 | SSL3_TXT_KRB5_IDEA_128_CBC_SHA, | 713 | SSL3_TXT_KRB5_IDEA_128_CBC_SHA, |
714 | SSL3_CK_KRB5_IDEA_128_CBC_SHA, | 714 | SSL3_CK_KRB5_IDEA_128_CBC_SHA, |
715 | SSL_kKRB5, | 715 | SSL_kKRB5, |
716 | SSL_aKRB5, | 716 | SSL_aKRB5, |
717 | SSL_IDEA, | 717 | SSL_IDEA, |
718 | SSL_SHA1, | 718 | SSL_SHA1, |
719 | SSL_SSLV3, | 719 | SSL_SSLV3, |
720 | SSL_NOT_EXP|SSL_MEDIUM, | 720 | SSL_NOT_EXP|SSL_MEDIUM, |
721 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 721 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
722 | 128, | 722 | 128, |
723 | 128, | 723 | 128, |
724 | }, | 724 | }, |
725 | 725 | ||
726 | /* Cipher 22 */ | 726 | /* Cipher 22 */ |
727 | { | 727 | { |
728 | 1, | 728 | 1, |
729 | SSL3_TXT_KRB5_DES_64_CBC_MD5, | 729 | SSL3_TXT_KRB5_DES_64_CBC_MD5, |
730 | SSL3_CK_KRB5_DES_64_CBC_MD5, | 730 | SSL3_CK_KRB5_DES_64_CBC_MD5, |
731 | SSL_kKRB5, | 731 | SSL_kKRB5, |
732 | SSL_aKRB5, | 732 | SSL_aKRB5, |
733 | SSL_DES, | 733 | SSL_DES, |
734 | SSL_MD5, | 734 | SSL_MD5, |
735 | SSL_SSLV3, | 735 | SSL_SSLV3, |
736 | SSL_NOT_EXP|SSL_LOW, | 736 | SSL_NOT_EXP|SSL_LOW, |
737 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 737 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
738 | 56, | 738 | 56, |
739 | 56, | 739 | 56, |
740 | }, | 740 | }, |
741 | 741 | ||
742 | /* Cipher 23 */ | 742 | /* Cipher 23 */ |
743 | { | 743 | { |
744 | 1, | 744 | 1, |
745 | SSL3_TXT_KRB5_DES_192_CBC3_MD5, | 745 | SSL3_TXT_KRB5_DES_192_CBC3_MD5, |
746 | SSL3_CK_KRB5_DES_192_CBC3_MD5, | 746 | SSL3_CK_KRB5_DES_192_CBC3_MD5, |
747 | SSL_kKRB5, | 747 | SSL_kKRB5, |
748 | SSL_aKRB5, | 748 | SSL_aKRB5, |
749 | SSL_3DES, | 749 | SSL_3DES, |
750 | SSL_MD5, | 750 | SSL_MD5, |
751 | SSL_SSLV3, | 751 | SSL_SSLV3, |
752 | SSL_NOT_EXP|SSL_HIGH, | 752 | SSL_NOT_EXP|SSL_HIGH, |
753 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 753 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
754 | 168, | 754 | 168, |
755 | 168, | 755 | 168, |
756 | }, | 756 | }, |
757 | 757 | ||
758 | /* Cipher 24 */ | 758 | /* Cipher 24 */ |
759 | { | 759 | { |
760 | 1, | 760 | 1, |
761 | SSL3_TXT_KRB5_RC4_128_MD5, | 761 | SSL3_TXT_KRB5_RC4_128_MD5, |
762 | SSL3_CK_KRB5_RC4_128_MD5, | 762 | SSL3_CK_KRB5_RC4_128_MD5, |
763 | SSL_kKRB5, | 763 | SSL_kKRB5, |
764 | SSL_aKRB5, | 764 | SSL_aKRB5, |
765 | SSL_RC4, | 765 | SSL_RC4, |
766 | SSL_MD5, | 766 | SSL_MD5, |
767 | SSL_SSLV3, | 767 | SSL_SSLV3, |
768 | SSL_NOT_EXP|SSL_MEDIUM, | 768 | SSL_NOT_EXP|SSL_MEDIUM, |
769 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 769 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
770 | 128, | 770 | 128, |
771 | 128, | 771 | 128, |
772 | }, | 772 | }, |
773 | 773 | ||
774 | /* Cipher 25 */ | 774 | /* Cipher 25 */ |
775 | { | 775 | { |
776 | 1, | 776 | 1, |
777 | SSL3_TXT_KRB5_IDEA_128_CBC_MD5, | 777 | SSL3_TXT_KRB5_IDEA_128_CBC_MD5, |
778 | SSL3_CK_KRB5_IDEA_128_CBC_MD5, | 778 | SSL3_CK_KRB5_IDEA_128_CBC_MD5, |
779 | SSL_kKRB5, | 779 | SSL_kKRB5, |
780 | SSL_aKRB5, | 780 | SSL_aKRB5, |
781 | SSL_IDEA, | 781 | SSL_IDEA, |
782 | SSL_MD5, | 782 | SSL_MD5, |
783 | SSL_SSLV3, | 783 | SSL_SSLV3, |
784 | SSL_NOT_EXP|SSL_MEDIUM, | 784 | SSL_NOT_EXP|SSL_MEDIUM, |
785 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 785 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
786 | 128, | 786 | 128, |
787 | 128, | 787 | 128, |
788 | }, | 788 | }, |
789 | 789 | ||
790 | /* Cipher 26 */ | 790 | /* Cipher 26 */ |
791 | { | 791 | { |
792 | 1, | 792 | 1, |
793 | SSL3_TXT_KRB5_DES_40_CBC_SHA, | 793 | SSL3_TXT_KRB5_DES_40_CBC_SHA, |
794 | SSL3_CK_KRB5_DES_40_CBC_SHA, | 794 | SSL3_CK_KRB5_DES_40_CBC_SHA, |
795 | SSL_kKRB5, | 795 | SSL_kKRB5, |
796 | SSL_aKRB5, | 796 | SSL_aKRB5, |
797 | SSL_DES, | 797 | SSL_DES, |
798 | SSL_SHA1, | 798 | SSL_SHA1, |
799 | SSL_SSLV3, | 799 | SSL_SSLV3, |
800 | SSL_EXPORT|SSL_EXP40, | 800 | SSL_EXPORT|SSL_EXP40, |
801 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 801 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
802 | 40, | 802 | 40, |
803 | 56, | 803 | 56, |
804 | }, | 804 | }, |
805 | 805 | ||
806 | /* Cipher 27 */ | 806 | /* Cipher 27 */ |
807 | { | 807 | { |
808 | 1, | 808 | 1, |
809 | SSL3_TXT_KRB5_RC2_40_CBC_SHA, | 809 | SSL3_TXT_KRB5_RC2_40_CBC_SHA, |
810 | SSL3_CK_KRB5_RC2_40_CBC_SHA, | 810 | SSL3_CK_KRB5_RC2_40_CBC_SHA, |
811 | SSL_kKRB5, | 811 | SSL_kKRB5, |
812 | SSL_aKRB5, | 812 | SSL_aKRB5, |
813 | SSL_RC2, | 813 | SSL_RC2, |
814 | SSL_SHA1, | 814 | SSL_SHA1, |
815 | SSL_SSLV3, | 815 | SSL_SSLV3, |
816 | SSL_EXPORT|SSL_EXP40, | 816 | SSL_EXPORT|SSL_EXP40, |
817 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 817 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
818 | 40, | 818 | 40, |
819 | 128, | 819 | 128, |
820 | }, | 820 | }, |
821 | 821 | ||
822 | /* Cipher 28 */ | 822 | /* Cipher 28 */ |
823 | { | 823 | { |
824 | 1, | 824 | 1, |
825 | SSL3_TXT_KRB5_RC4_40_SHA, | 825 | SSL3_TXT_KRB5_RC4_40_SHA, |
826 | SSL3_CK_KRB5_RC4_40_SHA, | 826 | SSL3_CK_KRB5_RC4_40_SHA, |
827 | SSL_kKRB5, | 827 | SSL_kKRB5, |
828 | SSL_aKRB5, | 828 | SSL_aKRB5, |
829 | SSL_RC4, | 829 | SSL_RC4, |
830 | SSL_SHA1, | 830 | SSL_SHA1, |
831 | SSL_SSLV3, | 831 | SSL_SSLV3, |
832 | SSL_EXPORT|SSL_EXP40, | 832 | SSL_EXPORT|SSL_EXP40, |
833 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 833 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
834 | 40, | 834 | 40, |
835 | 128, | 835 | 128, |
836 | }, | 836 | }, |
837 | 837 | ||
838 | /* Cipher 29 */ | 838 | /* Cipher 29 */ |
839 | { | 839 | { |
840 | 1, | 840 | 1, |
841 | SSL3_TXT_KRB5_DES_40_CBC_MD5, | 841 | SSL3_TXT_KRB5_DES_40_CBC_MD5, |
842 | SSL3_CK_KRB5_DES_40_CBC_MD5, | 842 | SSL3_CK_KRB5_DES_40_CBC_MD5, |
843 | SSL_kKRB5, | 843 | SSL_kKRB5, |
844 | SSL_aKRB5, | 844 | SSL_aKRB5, |
845 | SSL_DES, | 845 | SSL_DES, |
846 | SSL_MD5, | 846 | SSL_MD5, |
847 | SSL_SSLV3, | 847 | SSL_SSLV3, |
848 | SSL_EXPORT|SSL_EXP40, | 848 | SSL_EXPORT|SSL_EXP40, |
849 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 849 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
850 | 40, | 850 | 40, |
851 | 56, | 851 | 56, |
852 | }, | 852 | }, |
853 | 853 | ||
854 | /* Cipher 2A */ | 854 | /* Cipher 2A */ |
855 | { | 855 | { |
856 | 1, | 856 | 1, |
857 | SSL3_TXT_KRB5_RC2_40_CBC_MD5, | 857 | SSL3_TXT_KRB5_RC2_40_CBC_MD5, |
858 | SSL3_CK_KRB5_RC2_40_CBC_MD5, | 858 | SSL3_CK_KRB5_RC2_40_CBC_MD5, |
859 | SSL_kKRB5, | 859 | SSL_kKRB5, |
860 | SSL_aKRB5, | 860 | SSL_aKRB5, |
861 | SSL_RC2, | 861 | SSL_RC2, |
862 | SSL_MD5, | 862 | SSL_MD5, |
863 | SSL_SSLV3, | 863 | SSL_SSLV3, |
864 | SSL_EXPORT|SSL_EXP40, | 864 | SSL_EXPORT|SSL_EXP40, |
865 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 865 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
866 | 40, | 866 | 40, |
867 | 128, | 867 | 128, |
868 | }, | 868 | }, |
869 | 869 | ||
870 | /* Cipher 2B */ | 870 | /* Cipher 2B */ |
871 | { | 871 | { |
872 | 1, | 872 | 1, |
873 | SSL3_TXT_KRB5_RC4_40_MD5, | 873 | SSL3_TXT_KRB5_RC4_40_MD5, |
874 | SSL3_CK_KRB5_RC4_40_MD5, | 874 | SSL3_CK_KRB5_RC4_40_MD5, |
875 | SSL_kKRB5, | 875 | SSL_kKRB5, |
876 | SSL_aKRB5, | 876 | SSL_aKRB5, |
877 | SSL_RC4, | 877 | SSL_RC4, |
878 | SSL_MD5, | 878 | SSL_MD5, |
879 | SSL_SSLV3, | 879 | SSL_SSLV3, |
880 | SSL_EXPORT|SSL_EXP40, | 880 | SSL_EXPORT|SSL_EXP40, |
881 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 881 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
882 | 40, | 882 | 40, |
883 | 128, | 883 | 128, |
884 | }, | 884 | }, |
885 | #endif /* OPENSSL_NO_KRB5 */ | 885 | #endif /* OPENSSL_NO_KRB5 */ |
886 | 886 | ||
887 | /* New AES ciphersuites */ | 887 | /* New AES ciphersuites */ |
888 | /* Cipher 2F */ | 888 | /* Cipher 2F */ |
889 | { | 889 | { |
890 | 1, | 890 | 1, |
891 | TLS1_TXT_RSA_WITH_AES_128_SHA, | 891 | TLS1_TXT_RSA_WITH_AES_128_SHA, |
892 | TLS1_CK_RSA_WITH_AES_128_SHA, | 892 | TLS1_CK_RSA_WITH_AES_128_SHA, |
893 | SSL_kRSA, | 893 | SSL_kRSA, |
894 | SSL_aRSA, | 894 | SSL_aRSA, |
895 | SSL_AES128, | 895 | SSL_AES128, |
896 | SSL_SHA1, | 896 | SSL_SHA1, |
897 | SSL_TLSV1, | 897 | SSL_TLSV1, |
898 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 898 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
899 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 899 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
900 | 128, | 900 | 128, |
901 | 128, | 901 | 128, |
902 | }, | 902 | }, |
903 | /* Cipher 30 */ | 903 | /* Cipher 30 */ |
904 | { | 904 | { |
905 | 0, | 905 | 0, |
906 | TLS1_TXT_DH_DSS_WITH_AES_128_SHA, | 906 | TLS1_TXT_DH_DSS_WITH_AES_128_SHA, |
907 | TLS1_CK_DH_DSS_WITH_AES_128_SHA, | 907 | TLS1_CK_DH_DSS_WITH_AES_128_SHA, |
908 | SSL_kDHd, | 908 | SSL_kDHd, |
909 | SSL_aDH, | 909 | SSL_aDH, |
910 | SSL_AES128, | 910 | SSL_AES128, |
911 | SSL_SHA1, | 911 | SSL_SHA1, |
912 | SSL_TLSV1, | 912 | SSL_TLSV1, |
913 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 913 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
914 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 914 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
915 | 128, | 915 | 128, |
916 | 128, | 916 | 128, |
917 | }, | 917 | }, |
918 | /* Cipher 31 */ | 918 | /* Cipher 31 */ |
919 | { | 919 | { |
920 | 0, | 920 | 0, |
921 | TLS1_TXT_DH_RSA_WITH_AES_128_SHA, | 921 | TLS1_TXT_DH_RSA_WITH_AES_128_SHA, |
922 | TLS1_CK_DH_RSA_WITH_AES_128_SHA, | 922 | TLS1_CK_DH_RSA_WITH_AES_128_SHA, |
923 | SSL_kDHr, | 923 | SSL_kDHr, |
924 | SSL_aDH, | 924 | SSL_aDH, |
925 | SSL_AES128, | 925 | SSL_AES128, |
926 | SSL_SHA1, | 926 | SSL_SHA1, |
927 | SSL_TLSV1, | 927 | SSL_TLSV1, |
928 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 928 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
929 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 929 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
930 | 128, | 930 | 128, |
931 | 128, | 931 | 128, |
932 | }, | 932 | }, |
933 | /* Cipher 32 */ | 933 | /* Cipher 32 */ |
934 | { | 934 | { |
935 | 1, | 935 | 1, |
936 | TLS1_TXT_DHE_DSS_WITH_AES_128_SHA, | 936 | TLS1_TXT_DHE_DSS_WITH_AES_128_SHA, |
937 | TLS1_CK_DHE_DSS_WITH_AES_128_SHA, | 937 | TLS1_CK_DHE_DSS_WITH_AES_128_SHA, |
938 | SSL_kEDH, | 938 | SSL_kEDH, |
939 | SSL_aDSS, | 939 | SSL_aDSS, |
940 | SSL_AES128, | 940 | SSL_AES128, |
941 | SSL_SHA1, | 941 | SSL_SHA1, |
942 | SSL_TLSV1, | 942 | SSL_TLSV1, |
943 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 943 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
944 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 944 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
945 | 128, | 945 | 128, |
946 | 128, | 946 | 128, |
947 | }, | 947 | }, |
948 | /* Cipher 33 */ | 948 | /* Cipher 33 */ |
949 | { | 949 | { |
950 | 1, | 950 | 1, |
951 | TLS1_TXT_DHE_RSA_WITH_AES_128_SHA, | 951 | TLS1_TXT_DHE_RSA_WITH_AES_128_SHA, |
952 | TLS1_CK_DHE_RSA_WITH_AES_128_SHA, | 952 | TLS1_CK_DHE_RSA_WITH_AES_128_SHA, |
953 | SSL_kEDH, | 953 | SSL_kEDH, |
954 | SSL_aRSA, | 954 | SSL_aRSA, |
955 | SSL_AES128, | 955 | SSL_AES128, |
956 | SSL_SHA1, | 956 | SSL_SHA1, |
957 | SSL_TLSV1, | 957 | SSL_TLSV1, |
958 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 958 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
959 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 959 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
960 | 128, | 960 | 128, |
961 | 128, | 961 | 128, |
962 | }, | 962 | }, |
963 | /* Cipher 34 */ | 963 | /* Cipher 34 */ |
964 | { | 964 | { |
965 | 1, | 965 | 1, |
966 | TLS1_TXT_ADH_WITH_AES_128_SHA, | 966 | TLS1_TXT_ADH_WITH_AES_128_SHA, |
967 | TLS1_CK_ADH_WITH_AES_128_SHA, | 967 | TLS1_CK_ADH_WITH_AES_128_SHA, |
968 | SSL_kEDH, | 968 | SSL_kEDH, |
969 | SSL_aNULL, | 969 | SSL_aNULL, |
970 | SSL_AES128, | 970 | SSL_AES128, |
971 | SSL_SHA1, | 971 | SSL_SHA1, |
972 | SSL_TLSV1, | 972 | SSL_TLSV1, |
973 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 973 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
974 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 974 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
975 | 128, | 975 | 128, |
976 | 128, | 976 | 128, |
977 | }, | 977 | }, |
978 | 978 | ||
979 | /* Cipher 35 */ | 979 | /* Cipher 35 */ |
980 | { | 980 | { |
981 | 1, | 981 | 1, |
982 | TLS1_TXT_RSA_WITH_AES_256_SHA, | 982 | TLS1_TXT_RSA_WITH_AES_256_SHA, |
983 | TLS1_CK_RSA_WITH_AES_256_SHA, | 983 | TLS1_CK_RSA_WITH_AES_256_SHA, |
984 | SSL_kRSA, | 984 | SSL_kRSA, |
985 | SSL_aRSA, | 985 | SSL_aRSA, |
986 | SSL_AES256, | 986 | SSL_AES256, |
987 | SSL_SHA1, | 987 | SSL_SHA1, |
988 | SSL_TLSV1, | 988 | SSL_TLSV1, |
989 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 989 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
990 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 990 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
991 | 256, | 991 | 256, |
992 | 256, | 992 | 256, |
993 | }, | 993 | }, |
994 | /* Cipher 36 */ | 994 | /* Cipher 36 */ |
995 | { | 995 | { |
996 | 0, | 996 | 0, |
997 | TLS1_TXT_DH_DSS_WITH_AES_256_SHA, | 997 | TLS1_TXT_DH_DSS_WITH_AES_256_SHA, |
998 | TLS1_CK_DH_DSS_WITH_AES_256_SHA, | 998 | TLS1_CK_DH_DSS_WITH_AES_256_SHA, |
999 | SSL_kDHd, | 999 | SSL_kDHd, |
1000 | SSL_aDH, | 1000 | SSL_aDH, |
1001 | SSL_AES256, | 1001 | SSL_AES256, |
1002 | SSL_SHA1, | 1002 | SSL_SHA1, |
1003 | SSL_TLSV1, | 1003 | SSL_TLSV1, |
1004 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1004 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1005 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1005 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1006 | 256, | 1006 | 256, |
1007 | 256, | 1007 | 256, |
1008 | }, | 1008 | }, |
1009 | 1009 | ||
1010 | /* Cipher 37 */ | 1010 | /* Cipher 37 */ |
1011 | { | 1011 | { |
1012 | 0, /* not implemented (non-ephemeral DH) */ | 1012 | 0, /* not implemented (non-ephemeral DH) */ |
1013 | TLS1_TXT_DH_RSA_WITH_AES_256_SHA, | 1013 | TLS1_TXT_DH_RSA_WITH_AES_256_SHA, |
1014 | TLS1_CK_DH_RSA_WITH_AES_256_SHA, | 1014 | TLS1_CK_DH_RSA_WITH_AES_256_SHA, |
1015 | SSL_kDHr, | 1015 | SSL_kDHr, |
1016 | SSL_aDH, | 1016 | SSL_aDH, |
1017 | SSL_AES256, | 1017 | SSL_AES256, |
1018 | SSL_SHA1, | 1018 | SSL_SHA1, |
1019 | SSL_TLSV1, | 1019 | SSL_TLSV1, |
1020 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1020 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1021 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1021 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1022 | 256, | 1022 | 256, |
1023 | 256, | 1023 | 256, |
1024 | }, | 1024 | }, |
1025 | 1025 | ||
1026 | /* Cipher 38 */ | 1026 | /* Cipher 38 */ |
1027 | { | 1027 | { |
1028 | 1, | 1028 | 1, |
1029 | TLS1_TXT_DHE_DSS_WITH_AES_256_SHA, | 1029 | TLS1_TXT_DHE_DSS_WITH_AES_256_SHA, |
1030 | TLS1_CK_DHE_DSS_WITH_AES_256_SHA, | 1030 | TLS1_CK_DHE_DSS_WITH_AES_256_SHA, |
1031 | SSL_kEDH, | 1031 | SSL_kEDH, |
1032 | SSL_aDSS, | 1032 | SSL_aDSS, |
1033 | SSL_AES256, | 1033 | SSL_AES256, |
1034 | SSL_SHA1, | 1034 | SSL_SHA1, |
1035 | SSL_TLSV1, | 1035 | SSL_TLSV1, |
1036 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1036 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1037 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1037 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1038 | 256, | 1038 | 256, |
1039 | 256, | 1039 | 256, |
1040 | }, | 1040 | }, |
1041 | 1041 | ||
1042 | /* Cipher 39 */ | 1042 | /* Cipher 39 */ |
1043 | { | 1043 | { |
1044 | 1, | 1044 | 1, |
1045 | TLS1_TXT_DHE_RSA_WITH_AES_256_SHA, | 1045 | TLS1_TXT_DHE_RSA_WITH_AES_256_SHA, |
1046 | TLS1_CK_DHE_RSA_WITH_AES_256_SHA, | 1046 | TLS1_CK_DHE_RSA_WITH_AES_256_SHA, |
1047 | SSL_kEDH, | 1047 | SSL_kEDH, |
1048 | SSL_aRSA, | 1048 | SSL_aRSA, |
1049 | SSL_AES256, | 1049 | SSL_AES256, |
1050 | SSL_SHA1, | 1050 | SSL_SHA1, |
1051 | SSL_TLSV1, | 1051 | SSL_TLSV1, |
1052 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1052 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1053 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1053 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1054 | 256, | 1054 | 256, |
1055 | 256, | 1055 | 256, |
1056 | }, | 1056 | }, |
1057 | 1057 | ||
1058 | /* Cipher 3A */ | 1058 | /* Cipher 3A */ |
1059 | { | 1059 | { |
1060 | 1, | 1060 | 1, |
1061 | TLS1_TXT_ADH_WITH_AES_256_SHA, | 1061 | TLS1_TXT_ADH_WITH_AES_256_SHA, |
1062 | TLS1_CK_ADH_WITH_AES_256_SHA, | 1062 | TLS1_CK_ADH_WITH_AES_256_SHA, |
1063 | SSL_kEDH, | 1063 | SSL_kEDH, |
1064 | SSL_aNULL, | 1064 | SSL_aNULL, |
1065 | SSL_AES256, | 1065 | SSL_AES256, |
1066 | SSL_SHA1, | 1066 | SSL_SHA1, |
1067 | SSL_TLSV1, | 1067 | SSL_TLSV1, |
1068 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1068 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1069 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1069 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1070 | 256, | 1070 | 256, |
1071 | 256, | 1071 | 256, |
1072 | }, | 1072 | }, |
1073 | 1073 | ||
1074 | /* TLS v1.2 ciphersuites */ | 1074 | /* TLS v1.2 ciphersuites */ |
1075 | /* Cipher 3B */ | 1075 | /* Cipher 3B */ |
1076 | { | 1076 | { |
1077 | 1, | 1077 | 1, |
1078 | TLS1_TXT_RSA_WITH_NULL_SHA256, | 1078 | TLS1_TXT_RSA_WITH_NULL_SHA256, |
1079 | TLS1_CK_RSA_WITH_NULL_SHA256, | 1079 | TLS1_CK_RSA_WITH_NULL_SHA256, |
1080 | SSL_kRSA, | 1080 | SSL_kRSA, |
1081 | SSL_aRSA, | 1081 | SSL_aRSA, |
1082 | SSL_eNULL, | 1082 | SSL_eNULL, |
1083 | SSL_SHA256, | 1083 | SSL_SHA256, |
1084 | SSL_TLSV1_2, | 1084 | SSL_TLSV1_2, |
1085 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 1085 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
1086 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1086 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1087 | 0, | 1087 | 0, |
1088 | 0, | 1088 | 0, |
1089 | }, | 1089 | }, |
1090 | 1090 | ||
1091 | /* Cipher 3C */ | 1091 | /* Cipher 3C */ |
1092 | { | 1092 | { |
1093 | 1, | 1093 | 1, |
1094 | TLS1_TXT_RSA_WITH_AES_128_SHA256, | 1094 | TLS1_TXT_RSA_WITH_AES_128_SHA256, |
1095 | TLS1_CK_RSA_WITH_AES_128_SHA256, | 1095 | TLS1_CK_RSA_WITH_AES_128_SHA256, |
1096 | SSL_kRSA, | 1096 | SSL_kRSA, |
1097 | SSL_aRSA, | 1097 | SSL_aRSA, |
1098 | SSL_AES128, | 1098 | SSL_AES128, |
1099 | SSL_SHA256, | 1099 | SSL_SHA256, |
1100 | SSL_TLSV1_2, | 1100 | SSL_TLSV1_2, |
1101 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1101 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1102 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1102 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1103 | 128, | 1103 | 128, |
1104 | 128, | 1104 | 128, |
1105 | }, | 1105 | }, |
1106 | 1106 | ||
1107 | /* Cipher 3D */ | 1107 | /* Cipher 3D */ |
1108 | { | 1108 | { |
1109 | 1, | 1109 | 1, |
1110 | TLS1_TXT_RSA_WITH_AES_256_SHA256, | 1110 | TLS1_TXT_RSA_WITH_AES_256_SHA256, |
1111 | TLS1_CK_RSA_WITH_AES_256_SHA256, | 1111 | TLS1_CK_RSA_WITH_AES_256_SHA256, |
1112 | SSL_kRSA, | 1112 | SSL_kRSA, |
1113 | SSL_aRSA, | 1113 | SSL_aRSA, |
1114 | SSL_AES256, | 1114 | SSL_AES256, |
1115 | SSL_SHA256, | 1115 | SSL_SHA256, |
1116 | SSL_TLSV1_2, | 1116 | SSL_TLSV1_2, |
1117 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1117 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1118 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1118 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1119 | 256, | 1119 | 256, |
1120 | 256, | 1120 | 256, |
1121 | }, | 1121 | }, |
1122 | 1122 | ||
1123 | /* Cipher 3E */ | 1123 | /* Cipher 3E */ |
1124 | { | 1124 | { |
1125 | 0, /* not implemented (non-ephemeral DH) */ | 1125 | 0, /* not implemented (non-ephemeral DH) */ |
1126 | TLS1_TXT_DH_DSS_WITH_AES_128_SHA256, | 1126 | TLS1_TXT_DH_DSS_WITH_AES_128_SHA256, |
1127 | TLS1_CK_DH_DSS_WITH_AES_128_SHA256, | 1127 | TLS1_CK_DH_DSS_WITH_AES_128_SHA256, |
1128 | SSL_kDHd, | 1128 | SSL_kDHd, |
1129 | SSL_aDH, | 1129 | SSL_aDH, |
1130 | SSL_AES128, | 1130 | SSL_AES128, |
1131 | SSL_SHA256, | 1131 | SSL_SHA256, |
1132 | SSL_TLSV1_2, | 1132 | SSL_TLSV1_2, |
1133 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1133 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1134 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1134 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1135 | 128, | 1135 | 128, |
1136 | 128, | 1136 | 128, |
1137 | }, | 1137 | }, |
1138 | 1138 | ||
1139 | /* Cipher 3F */ | 1139 | /* Cipher 3F */ |
1140 | { | 1140 | { |
1141 | 0, /* not implemented (non-ephemeral DH) */ | 1141 | 0, /* not implemented (non-ephemeral DH) */ |
1142 | TLS1_TXT_DH_RSA_WITH_AES_128_SHA256, | 1142 | TLS1_TXT_DH_RSA_WITH_AES_128_SHA256, |
1143 | TLS1_CK_DH_RSA_WITH_AES_128_SHA256, | 1143 | TLS1_CK_DH_RSA_WITH_AES_128_SHA256, |
1144 | SSL_kDHr, | 1144 | SSL_kDHr, |
1145 | SSL_aDH, | 1145 | SSL_aDH, |
1146 | SSL_AES128, | 1146 | SSL_AES128, |
1147 | SSL_SHA256, | 1147 | SSL_SHA256, |
1148 | SSL_TLSV1_2, | 1148 | SSL_TLSV1_2, |
1149 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1149 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1150 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1150 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1151 | 128, | 1151 | 128, |
1152 | 128, | 1152 | 128, |
1153 | }, | 1153 | }, |
1154 | 1154 | ||
1155 | /* Cipher 40 */ | 1155 | /* Cipher 40 */ |
1156 | { | 1156 | { |
1157 | 1, | 1157 | 1, |
1158 | TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256, | 1158 | TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256, |
1159 | TLS1_CK_DHE_DSS_WITH_AES_128_SHA256, | 1159 | TLS1_CK_DHE_DSS_WITH_AES_128_SHA256, |
1160 | SSL_kEDH, | 1160 | SSL_kEDH, |
1161 | SSL_aDSS, | 1161 | SSL_aDSS, |
1162 | SSL_AES128, | 1162 | SSL_AES128, |
1163 | SSL_SHA256, | 1163 | SSL_SHA256, |
1164 | SSL_TLSV1_2, | 1164 | SSL_TLSV1_2, |
1165 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1165 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1166 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1166 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1167 | 128, | 1167 | 128, |
1168 | 128, | 1168 | 128, |
1169 | }, | 1169 | }, |
1170 | 1170 | ||
1171 | #ifndef OPENSSL_NO_CAMELLIA | 1171 | #ifndef OPENSSL_NO_CAMELLIA |
@@ -1173,98 +1173,98 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
1173 | 1173 | ||
1174 | /* Cipher 41 */ | 1174 | /* Cipher 41 */ |
1175 | { | 1175 | { |
1176 | 1, | 1176 | 1, |
1177 | TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA, | 1177 | TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA, |
1178 | TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA, | 1178 | TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA, |
1179 | SSL_kRSA, | 1179 | SSL_kRSA, |
1180 | SSL_aRSA, | 1180 | SSL_aRSA, |
1181 | SSL_CAMELLIA128, | 1181 | SSL_CAMELLIA128, |
1182 | SSL_SHA1, | 1182 | SSL_SHA1, |
1183 | SSL_TLSV1, | 1183 | SSL_TLSV1, |
1184 | SSL_NOT_EXP|SSL_HIGH, | 1184 | SSL_NOT_EXP|SSL_HIGH, |
1185 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1185 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1186 | 128, | 1186 | 128, |
1187 | 128, | 1187 | 128, |
1188 | }, | 1188 | }, |
1189 | 1189 | ||
1190 | /* Cipher 42 */ | 1190 | /* Cipher 42 */ |
1191 | { | 1191 | { |
1192 | 0, /* not implemented (non-ephemeral DH) */ | 1192 | 0, /* not implemented (non-ephemeral DH) */ |
1193 | TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, | 1193 | TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, |
1194 | TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, | 1194 | TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, |
1195 | SSL_kDHd, | 1195 | SSL_kDHd, |
1196 | SSL_aDH, | 1196 | SSL_aDH, |
1197 | SSL_CAMELLIA128, | 1197 | SSL_CAMELLIA128, |
1198 | SSL_SHA1, | 1198 | SSL_SHA1, |
1199 | SSL_TLSV1, | 1199 | SSL_TLSV1, |
1200 | SSL_NOT_EXP|SSL_HIGH, | 1200 | SSL_NOT_EXP|SSL_HIGH, |
1201 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1201 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1202 | 128, | 1202 | 128, |
1203 | 128, | 1203 | 128, |
1204 | }, | 1204 | }, |
1205 | 1205 | ||
1206 | /* Cipher 43 */ | 1206 | /* Cipher 43 */ |
1207 | { | 1207 | { |
1208 | 0, /* not implemented (non-ephemeral DH) */ | 1208 | 0, /* not implemented (non-ephemeral DH) */ |
1209 | TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, | 1209 | TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, |
1210 | TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, | 1210 | TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, |
1211 | SSL_kDHr, | 1211 | SSL_kDHr, |
1212 | SSL_aDH, | 1212 | SSL_aDH, |
1213 | SSL_CAMELLIA128, | 1213 | SSL_CAMELLIA128, |
1214 | SSL_SHA1, | 1214 | SSL_SHA1, |
1215 | SSL_TLSV1, | 1215 | SSL_TLSV1, |
1216 | SSL_NOT_EXP|SSL_HIGH, | 1216 | SSL_NOT_EXP|SSL_HIGH, |
1217 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1217 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1218 | 128, | 1218 | 128, |
1219 | 128, | 1219 | 128, |
1220 | }, | 1220 | }, |
1221 | 1221 | ||
1222 | /* Cipher 44 */ | 1222 | /* Cipher 44 */ |
1223 | { | 1223 | { |
1224 | 1, | 1224 | 1, |
1225 | TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, | 1225 | TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, |
1226 | TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, | 1226 | TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, |
1227 | SSL_kEDH, | 1227 | SSL_kEDH, |
1228 | SSL_aDSS, | 1228 | SSL_aDSS, |
1229 | SSL_CAMELLIA128, | 1229 | SSL_CAMELLIA128, |
1230 | SSL_SHA1, | 1230 | SSL_SHA1, |
1231 | SSL_TLSV1, | 1231 | SSL_TLSV1, |
1232 | SSL_NOT_EXP|SSL_HIGH, | 1232 | SSL_NOT_EXP|SSL_HIGH, |
1233 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1233 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1234 | 128, | 1234 | 128, |
1235 | 128, | 1235 | 128, |
1236 | }, | 1236 | }, |
1237 | 1237 | ||
1238 | /* Cipher 45 */ | 1238 | /* Cipher 45 */ |
1239 | { | 1239 | { |
1240 | 1, | 1240 | 1, |
1241 | TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, | 1241 | TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, |
1242 | TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, | 1242 | TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, |
1243 | SSL_kEDH, | 1243 | SSL_kEDH, |
1244 | SSL_aRSA, | 1244 | SSL_aRSA, |
1245 | SSL_CAMELLIA128, | 1245 | SSL_CAMELLIA128, |
1246 | SSL_SHA1, | 1246 | SSL_SHA1, |
1247 | SSL_TLSV1, | 1247 | SSL_TLSV1, |
1248 | SSL_NOT_EXP|SSL_HIGH, | 1248 | SSL_NOT_EXP|SSL_HIGH, |
1249 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1249 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1250 | 128, | 1250 | 128, |
1251 | 128, | 1251 | 128, |
1252 | }, | 1252 | }, |
1253 | 1253 | ||
1254 | /* Cipher 46 */ | 1254 | /* Cipher 46 */ |
1255 | { | 1255 | { |
1256 | 1, | 1256 | 1, |
1257 | TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA, | 1257 | TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA, |
1258 | TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA, | 1258 | TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA, |
1259 | SSL_kEDH, | 1259 | SSL_kEDH, |
1260 | SSL_aNULL, | 1260 | SSL_aNULL, |
1261 | SSL_CAMELLIA128, | 1261 | SSL_CAMELLIA128, |
1262 | SSL_SHA1, | 1262 | SSL_SHA1, |
1263 | SSL_TLSV1, | 1263 | SSL_TLSV1, |
1264 | SSL_NOT_EXP|SSL_HIGH, | 1264 | SSL_NOT_EXP|SSL_HIGH, |
1265 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1265 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1266 | 128, | 1266 | 128, |
1267 | 128, | 1267 | 128, |
1268 | }, | 1268 | }, |
1269 | #endif /* OPENSSL_NO_CAMELLIA */ | 1269 | #endif /* OPENSSL_NO_CAMELLIA */ |
1270 | 1270 | ||
@@ -1273,288 +1273,288 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
1273 | #if 0 | 1273 | #if 0 |
1274 | /* Cipher 60 */ | 1274 | /* Cipher 60 */ |
1275 | { | 1275 | { |
1276 | 1, | 1276 | 1, |
1277 | TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5, | 1277 | TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5, |
1278 | TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5, | 1278 | TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5, |
1279 | SSL_kRSA, | 1279 | SSL_kRSA, |
1280 | SSL_aRSA, | 1280 | SSL_aRSA, |
1281 | SSL_RC4, | 1281 | SSL_RC4, |
1282 | SSL_MD5, | 1282 | SSL_MD5, |
1283 | SSL_TLSV1, | 1283 | SSL_TLSV1, |
1284 | SSL_EXPORT|SSL_EXP56, | 1284 | SSL_EXPORT|SSL_EXP56, |
1285 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1285 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1286 | 56, | 1286 | 56, |
1287 | 128, | 1287 | 128, |
1288 | }, | 1288 | }, |
1289 | 1289 | ||
1290 | /* Cipher 61 */ | 1290 | /* Cipher 61 */ |
1291 | { | 1291 | { |
1292 | 1, | 1292 | 1, |
1293 | TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5, | 1293 | TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5, |
1294 | TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5, | 1294 | TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5, |
1295 | SSL_kRSA, | 1295 | SSL_kRSA, |
1296 | SSL_aRSA, | 1296 | SSL_aRSA, |
1297 | SSL_RC2, | 1297 | SSL_RC2, |
1298 | SSL_MD5, | 1298 | SSL_MD5, |
1299 | SSL_TLSV1, | 1299 | SSL_TLSV1, |
1300 | SSL_EXPORT|SSL_EXP56, | 1300 | SSL_EXPORT|SSL_EXP56, |
1301 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1301 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1302 | 56, | 1302 | 56, |
1303 | 128, | 1303 | 128, |
1304 | }, | 1304 | }, |
1305 | #endif | 1305 | #endif |
1306 | 1306 | ||
1307 | /* Cipher 62 */ | 1307 | /* Cipher 62 */ |
1308 | { | 1308 | { |
1309 | 1, | 1309 | 1, |
1310 | TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA, | 1310 | TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA, |
1311 | TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA, | 1311 | TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA, |
1312 | SSL_kRSA, | 1312 | SSL_kRSA, |
1313 | SSL_aRSA, | 1313 | SSL_aRSA, |
1314 | SSL_DES, | 1314 | SSL_DES, |
1315 | SSL_SHA1, | 1315 | SSL_SHA1, |
1316 | SSL_TLSV1, | 1316 | SSL_TLSV1, |
1317 | SSL_EXPORT|SSL_EXP56, | 1317 | SSL_EXPORT|SSL_EXP56, |
1318 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1318 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1319 | 56, | 1319 | 56, |
1320 | 56, | 1320 | 56, |
1321 | }, | 1321 | }, |
1322 | 1322 | ||
1323 | /* Cipher 63 */ | 1323 | /* Cipher 63 */ |
1324 | { | 1324 | { |
1325 | 1, | 1325 | 1, |
1326 | TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA, | 1326 | TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA, |
1327 | TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA, | 1327 | TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA, |
1328 | SSL_kEDH, | 1328 | SSL_kEDH, |
1329 | SSL_aDSS, | 1329 | SSL_aDSS, |
1330 | SSL_DES, | 1330 | SSL_DES, |
1331 | SSL_SHA1, | 1331 | SSL_SHA1, |
1332 | SSL_TLSV1, | 1332 | SSL_TLSV1, |
1333 | SSL_EXPORT|SSL_EXP56, | 1333 | SSL_EXPORT|SSL_EXP56, |
1334 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1334 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1335 | 56, | 1335 | 56, |
1336 | 56, | 1336 | 56, |
1337 | }, | 1337 | }, |
1338 | 1338 | ||
1339 | /* Cipher 64 */ | 1339 | /* Cipher 64 */ |
1340 | { | 1340 | { |
1341 | 1, | 1341 | 1, |
1342 | TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA, | 1342 | TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA, |
1343 | TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA, | 1343 | TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA, |
1344 | SSL_kRSA, | 1344 | SSL_kRSA, |
1345 | SSL_aRSA, | 1345 | SSL_aRSA, |
1346 | SSL_RC4, | 1346 | SSL_RC4, |
1347 | SSL_SHA1, | 1347 | SSL_SHA1, |
1348 | SSL_TLSV1, | 1348 | SSL_TLSV1, |
1349 | SSL_EXPORT|SSL_EXP56, | 1349 | SSL_EXPORT|SSL_EXP56, |
1350 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1350 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1351 | 56, | 1351 | 56, |
1352 | 128, | 1352 | 128, |
1353 | }, | 1353 | }, |
1354 | 1354 | ||
1355 | /* Cipher 65 */ | 1355 | /* Cipher 65 */ |
1356 | { | 1356 | { |
1357 | 1, | 1357 | 1, |
1358 | TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, | 1358 | TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, |
1359 | TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, | 1359 | TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, |
1360 | SSL_kEDH, | 1360 | SSL_kEDH, |
1361 | SSL_aDSS, | 1361 | SSL_aDSS, |
1362 | SSL_RC4, | 1362 | SSL_RC4, |
1363 | SSL_SHA1, | 1363 | SSL_SHA1, |
1364 | SSL_TLSV1, | 1364 | SSL_TLSV1, |
1365 | SSL_EXPORT|SSL_EXP56, | 1365 | SSL_EXPORT|SSL_EXP56, |
1366 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1366 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1367 | 56, | 1367 | 56, |
1368 | 128, | 1368 | 128, |
1369 | }, | 1369 | }, |
1370 | 1370 | ||
1371 | /* Cipher 66 */ | 1371 | /* Cipher 66 */ |
1372 | { | 1372 | { |
1373 | 1, | 1373 | 1, |
1374 | TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA, | 1374 | TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA, |
1375 | TLS1_CK_DHE_DSS_WITH_RC4_128_SHA, | 1375 | TLS1_CK_DHE_DSS_WITH_RC4_128_SHA, |
1376 | SSL_kEDH, | 1376 | SSL_kEDH, |
1377 | SSL_aDSS, | 1377 | SSL_aDSS, |
1378 | SSL_RC4, | 1378 | SSL_RC4, |
1379 | SSL_SHA1, | 1379 | SSL_SHA1, |
1380 | SSL_TLSV1, | 1380 | SSL_TLSV1, |
1381 | SSL_NOT_EXP|SSL_MEDIUM, | 1381 | SSL_NOT_EXP|SSL_MEDIUM, |
1382 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1382 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1383 | 128, | 1383 | 128, |
1384 | 128, | 1384 | 128, |
1385 | }, | 1385 | }, |
1386 | #endif | 1386 | #endif |
1387 | 1387 | ||
1388 | /* TLS v1.2 ciphersuites */ | 1388 | /* TLS v1.2 ciphersuites */ |
1389 | /* Cipher 67 */ | 1389 | /* Cipher 67 */ |
1390 | { | 1390 | { |
1391 | 1, | 1391 | 1, |
1392 | TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256, | 1392 | TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256, |
1393 | TLS1_CK_DHE_RSA_WITH_AES_128_SHA256, | 1393 | TLS1_CK_DHE_RSA_WITH_AES_128_SHA256, |
1394 | SSL_kEDH, | 1394 | SSL_kEDH, |
1395 | SSL_aRSA, | 1395 | SSL_aRSA, |
1396 | SSL_AES128, | 1396 | SSL_AES128, |
1397 | SSL_SHA256, | 1397 | SSL_SHA256, |
1398 | SSL_TLSV1_2, | 1398 | SSL_TLSV1_2, |
1399 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1399 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1400 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1400 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1401 | 128, | 1401 | 128, |
1402 | 128, | 1402 | 128, |
1403 | }, | 1403 | }, |
1404 | 1404 | ||
1405 | /* Cipher 68 */ | 1405 | /* Cipher 68 */ |
1406 | { | 1406 | { |
1407 | 0, /* not implemented (non-ephemeral DH) */ | 1407 | 0, /* not implemented (non-ephemeral DH) */ |
1408 | TLS1_TXT_DH_DSS_WITH_AES_256_SHA256, | 1408 | TLS1_TXT_DH_DSS_WITH_AES_256_SHA256, |
1409 | TLS1_CK_DH_DSS_WITH_AES_256_SHA256, | 1409 | TLS1_CK_DH_DSS_WITH_AES_256_SHA256, |
1410 | SSL_kDHd, | 1410 | SSL_kDHd, |
1411 | SSL_aDH, | 1411 | SSL_aDH, |
1412 | SSL_AES256, | 1412 | SSL_AES256, |
1413 | SSL_SHA256, | 1413 | SSL_SHA256, |
1414 | SSL_TLSV1_2, | 1414 | SSL_TLSV1_2, |
1415 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1415 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1416 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1416 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1417 | 256, | 1417 | 256, |
1418 | 256, | 1418 | 256, |
1419 | }, | 1419 | }, |
1420 | 1420 | ||
1421 | /* Cipher 69 */ | 1421 | /* Cipher 69 */ |
1422 | { | 1422 | { |
1423 | 0, /* not implemented (non-ephemeral DH) */ | 1423 | 0, /* not implemented (non-ephemeral DH) */ |
1424 | TLS1_TXT_DH_RSA_WITH_AES_256_SHA256, | 1424 | TLS1_TXT_DH_RSA_WITH_AES_256_SHA256, |
1425 | TLS1_CK_DH_RSA_WITH_AES_256_SHA256, | 1425 | TLS1_CK_DH_RSA_WITH_AES_256_SHA256, |
1426 | SSL_kDHr, | 1426 | SSL_kDHr, |
1427 | SSL_aDH, | 1427 | SSL_aDH, |
1428 | SSL_AES256, | 1428 | SSL_AES256, |
1429 | SSL_SHA256, | 1429 | SSL_SHA256, |
1430 | SSL_TLSV1_2, | 1430 | SSL_TLSV1_2, |
1431 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1431 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1432 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1432 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1433 | 256, | 1433 | 256, |
1434 | 256, | 1434 | 256, |
1435 | }, | 1435 | }, |
1436 | 1436 | ||
1437 | /* Cipher 6A */ | 1437 | /* Cipher 6A */ |
1438 | { | 1438 | { |
1439 | 1, | 1439 | 1, |
1440 | TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256, | 1440 | TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256, |
1441 | TLS1_CK_DHE_DSS_WITH_AES_256_SHA256, | 1441 | TLS1_CK_DHE_DSS_WITH_AES_256_SHA256, |
1442 | SSL_kEDH, | 1442 | SSL_kEDH, |
1443 | SSL_aDSS, | 1443 | SSL_aDSS, |
1444 | SSL_AES256, | 1444 | SSL_AES256, |
1445 | SSL_SHA256, | 1445 | SSL_SHA256, |
1446 | SSL_TLSV1_2, | 1446 | SSL_TLSV1_2, |
1447 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1447 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1448 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1448 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1449 | 256, | 1449 | 256, |
1450 | 256, | 1450 | 256, |
1451 | }, | 1451 | }, |
1452 | 1452 | ||
1453 | /* Cipher 6B */ | 1453 | /* Cipher 6B */ |
1454 | { | 1454 | { |
1455 | 1, | 1455 | 1, |
1456 | TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256, | 1456 | TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256, |
1457 | TLS1_CK_DHE_RSA_WITH_AES_256_SHA256, | 1457 | TLS1_CK_DHE_RSA_WITH_AES_256_SHA256, |
1458 | SSL_kEDH, | 1458 | SSL_kEDH, |
1459 | SSL_aRSA, | 1459 | SSL_aRSA, |
1460 | SSL_AES256, | 1460 | SSL_AES256, |
1461 | SSL_SHA256, | 1461 | SSL_SHA256, |
1462 | SSL_TLSV1_2, | 1462 | SSL_TLSV1_2, |
1463 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1463 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1464 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1464 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1465 | 256, | 1465 | 256, |
1466 | 256, | 1466 | 256, |
1467 | }, | 1467 | }, |
1468 | 1468 | ||
1469 | /* Cipher 6C */ | 1469 | /* Cipher 6C */ |
1470 | { | 1470 | { |
1471 | 1, | 1471 | 1, |
1472 | TLS1_TXT_ADH_WITH_AES_128_SHA256, | 1472 | TLS1_TXT_ADH_WITH_AES_128_SHA256, |
1473 | TLS1_CK_ADH_WITH_AES_128_SHA256, | 1473 | TLS1_CK_ADH_WITH_AES_128_SHA256, |
1474 | SSL_kEDH, | 1474 | SSL_kEDH, |
1475 | SSL_aNULL, | 1475 | SSL_aNULL, |
1476 | SSL_AES128, | 1476 | SSL_AES128, |
1477 | SSL_SHA256, | 1477 | SSL_SHA256, |
1478 | SSL_TLSV1_2, | 1478 | SSL_TLSV1_2, |
1479 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1479 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1480 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1480 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1481 | 128, | 1481 | 128, |
1482 | 128, | 1482 | 128, |
1483 | }, | 1483 | }, |
1484 | 1484 | ||
1485 | /* Cipher 6D */ | 1485 | /* Cipher 6D */ |
1486 | { | 1486 | { |
1487 | 1, | 1487 | 1, |
1488 | TLS1_TXT_ADH_WITH_AES_256_SHA256, | 1488 | TLS1_TXT_ADH_WITH_AES_256_SHA256, |
1489 | TLS1_CK_ADH_WITH_AES_256_SHA256, | 1489 | TLS1_CK_ADH_WITH_AES_256_SHA256, |
1490 | SSL_kEDH, | 1490 | SSL_kEDH, |
1491 | SSL_aNULL, | 1491 | SSL_aNULL, |
1492 | SSL_AES256, | 1492 | SSL_AES256, |
1493 | SSL_SHA256, | 1493 | SSL_SHA256, |
1494 | SSL_TLSV1_2, | 1494 | SSL_TLSV1_2, |
1495 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1495 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1496 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1496 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1497 | 256, | 1497 | 256, |
1498 | 256, | 1498 | 256, |
1499 | }, | 1499 | }, |
1500 | 1500 | ||
1501 | /* GOST Ciphersuites */ | 1501 | /* GOST Ciphersuites */ |
1502 | 1502 | ||
1503 | { | 1503 | { |
1504 | 1, | 1504 | 1, |
1505 | "GOST94-GOST89-GOST89", | 1505 | "GOST94-GOST89-GOST89", |
1506 | 0x3000080, | 1506 | 0x3000080, |
1507 | SSL_kGOST, | 1507 | SSL_kGOST, |
1508 | SSL_aGOST94, | 1508 | SSL_aGOST94, |
1509 | SSL_eGOST2814789CNT, | 1509 | SSL_eGOST2814789CNT, |
1510 | SSL_GOST89MAC, | 1510 | SSL_GOST89MAC, |
1511 | SSL_TLSV1, | 1511 | SSL_TLSV1, |
1512 | SSL_NOT_EXP|SSL_HIGH, | 1512 | SSL_NOT_EXP|SSL_HIGH, |
1513 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94|TLS1_STREAM_MAC, | 1513 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94|TLS1_STREAM_MAC, |
1514 | 256, | 1514 | 256, |
1515 | 256 | 1515 | 256 |
1516 | }, | 1516 | }, |
1517 | { | 1517 | { |
1518 | 1, | 1518 | 1, |
1519 | "GOST2001-GOST89-GOST89", | 1519 | "GOST2001-GOST89-GOST89", |
1520 | 0x3000081, | 1520 | 0x3000081, |
1521 | SSL_kGOST, | 1521 | SSL_kGOST, |
1522 | SSL_aGOST01, | 1522 | SSL_aGOST01, |
1523 | SSL_eGOST2814789CNT, | 1523 | SSL_eGOST2814789CNT, |
1524 | SSL_GOST89MAC, | 1524 | SSL_GOST89MAC, |
1525 | SSL_TLSV1, | 1525 | SSL_TLSV1, |
1526 | SSL_NOT_EXP|SSL_HIGH, | 1526 | SSL_NOT_EXP|SSL_HIGH, |
1527 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94|TLS1_STREAM_MAC, | 1527 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94|TLS1_STREAM_MAC, |
1528 | 256, | 1528 | 256, |
1529 | 256 | 1529 | 256 |
1530 | }, | 1530 | }, |
1531 | { | 1531 | { |
1532 | 1, | 1532 | 1, |
1533 | "GOST94-NULL-GOST94", | 1533 | "GOST94-NULL-GOST94", |
1534 | 0x3000082, | 1534 | 0x3000082, |
1535 | SSL_kGOST, | 1535 | SSL_kGOST, |
1536 | SSL_aGOST94, | 1536 | SSL_aGOST94, |
1537 | SSL_eNULL, | 1537 | SSL_eNULL, |
1538 | SSL_GOST94, | 1538 | SSL_GOST94, |
1539 | SSL_TLSV1, | 1539 | SSL_TLSV1, |
1540 | SSL_NOT_EXP|SSL_STRONG_NONE, | 1540 | SSL_NOT_EXP|SSL_STRONG_NONE, |
1541 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94, | 1541 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94, |
1542 | 0, | 1542 | 0, |
1543 | 0 | 1543 | 0 |
1544 | }, | 1544 | }, |
1545 | { | 1545 | { |
1546 | 1, | 1546 | 1, |
1547 | "GOST2001-NULL-GOST94", | 1547 | "GOST2001-NULL-GOST94", |
1548 | 0x3000083, | 1548 | 0x3000083, |
1549 | SSL_kGOST, | 1549 | SSL_kGOST, |
1550 | SSL_aGOST01, | 1550 | SSL_aGOST01, |
1551 | SSL_eNULL, | 1551 | SSL_eNULL, |
1552 | SSL_GOST94, | 1552 | SSL_GOST94, |
1553 | SSL_TLSV1, | 1553 | SSL_TLSV1, |
1554 | SSL_NOT_EXP|SSL_STRONG_NONE, | 1554 | SSL_NOT_EXP|SSL_STRONG_NONE, |
1555 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94, | 1555 | SSL_HANDSHAKE_MAC_GOST94|TLS1_PRF_GOST94, |
1556 | 0, | 1556 | 0, |
1557 | 0 | 1557 | 0 |
1558 | }, | 1558 | }, |
1559 | 1559 | ||
1560 | #ifndef OPENSSL_NO_CAMELLIA | 1560 | #ifndef OPENSSL_NO_CAMELLIA |
@@ -1562,163 +1562,163 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
1562 | 1562 | ||
1563 | /* Cipher 84 */ | 1563 | /* Cipher 84 */ |
1564 | { | 1564 | { |
1565 | 1, | 1565 | 1, |
1566 | TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA, | 1566 | TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA, |
1567 | TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA, | 1567 | TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA, |
1568 | SSL_kRSA, | 1568 | SSL_kRSA, |
1569 | SSL_aRSA, | 1569 | SSL_aRSA, |
1570 | SSL_CAMELLIA256, | 1570 | SSL_CAMELLIA256, |
1571 | SSL_SHA1, | 1571 | SSL_SHA1, |
1572 | SSL_TLSV1, | 1572 | SSL_TLSV1, |
1573 | SSL_NOT_EXP|SSL_HIGH, | 1573 | SSL_NOT_EXP|SSL_HIGH, |
1574 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1574 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1575 | 256, | 1575 | 256, |
1576 | 256, | 1576 | 256, |
1577 | }, | 1577 | }, |
1578 | /* Cipher 85 */ | 1578 | /* Cipher 85 */ |
1579 | { | 1579 | { |
1580 | 0, /* not implemented (non-ephemeral DH) */ | 1580 | 0, /* not implemented (non-ephemeral DH) */ |
1581 | TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, | 1581 | TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, |
1582 | TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, | 1582 | TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, |
1583 | SSL_kDHd, | 1583 | SSL_kDHd, |
1584 | SSL_aDH, | 1584 | SSL_aDH, |
1585 | SSL_CAMELLIA256, | 1585 | SSL_CAMELLIA256, |
1586 | SSL_SHA1, | 1586 | SSL_SHA1, |
1587 | SSL_TLSV1, | 1587 | SSL_TLSV1, |
1588 | SSL_NOT_EXP|SSL_HIGH, | 1588 | SSL_NOT_EXP|SSL_HIGH, |
1589 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1589 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1590 | 256, | 1590 | 256, |
1591 | 256, | 1591 | 256, |
1592 | }, | 1592 | }, |
1593 | 1593 | ||
1594 | /* Cipher 86 */ | 1594 | /* Cipher 86 */ |
1595 | { | 1595 | { |
1596 | 0, /* not implemented (non-ephemeral DH) */ | 1596 | 0, /* not implemented (non-ephemeral DH) */ |
1597 | TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, | 1597 | TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, |
1598 | TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, | 1598 | TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, |
1599 | SSL_kDHr, | 1599 | SSL_kDHr, |
1600 | SSL_aDH, | 1600 | SSL_aDH, |
1601 | SSL_CAMELLIA256, | 1601 | SSL_CAMELLIA256, |
1602 | SSL_SHA1, | 1602 | SSL_SHA1, |
1603 | SSL_TLSV1, | 1603 | SSL_TLSV1, |
1604 | SSL_NOT_EXP|SSL_HIGH, | 1604 | SSL_NOT_EXP|SSL_HIGH, |
1605 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1605 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1606 | 256, | 1606 | 256, |
1607 | 256, | 1607 | 256, |
1608 | }, | 1608 | }, |
1609 | 1609 | ||
1610 | /* Cipher 87 */ | 1610 | /* Cipher 87 */ |
1611 | { | 1611 | { |
1612 | 1, | 1612 | 1, |
1613 | TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, | 1613 | TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, |
1614 | TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, | 1614 | TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, |
1615 | SSL_kEDH, | 1615 | SSL_kEDH, |
1616 | SSL_aDSS, | 1616 | SSL_aDSS, |
1617 | SSL_CAMELLIA256, | 1617 | SSL_CAMELLIA256, |
1618 | SSL_SHA1, | 1618 | SSL_SHA1, |
1619 | SSL_TLSV1, | 1619 | SSL_TLSV1, |
1620 | SSL_NOT_EXP|SSL_HIGH, | 1620 | SSL_NOT_EXP|SSL_HIGH, |
1621 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1621 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1622 | 256, | 1622 | 256, |
1623 | 256, | 1623 | 256, |
1624 | }, | 1624 | }, |
1625 | 1625 | ||
1626 | /* Cipher 88 */ | 1626 | /* Cipher 88 */ |
1627 | { | 1627 | { |
1628 | 1, | 1628 | 1, |
1629 | TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, | 1629 | TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, |
1630 | TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, | 1630 | TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, |
1631 | SSL_kEDH, | 1631 | SSL_kEDH, |
1632 | SSL_aRSA, | 1632 | SSL_aRSA, |
1633 | SSL_CAMELLIA256, | 1633 | SSL_CAMELLIA256, |
1634 | SSL_SHA1, | 1634 | SSL_SHA1, |
1635 | SSL_TLSV1, | 1635 | SSL_TLSV1, |
1636 | SSL_NOT_EXP|SSL_HIGH, | 1636 | SSL_NOT_EXP|SSL_HIGH, |
1637 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1637 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1638 | 256, | 1638 | 256, |
1639 | 256, | 1639 | 256, |
1640 | }, | 1640 | }, |
1641 | 1641 | ||
1642 | /* Cipher 89 */ | 1642 | /* Cipher 89 */ |
1643 | { | 1643 | { |
1644 | 1, | 1644 | 1, |
1645 | TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA, | 1645 | TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA, |
1646 | TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA, | 1646 | TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA, |
1647 | SSL_kEDH, | 1647 | SSL_kEDH, |
1648 | SSL_aNULL, | 1648 | SSL_aNULL, |
1649 | SSL_CAMELLIA256, | 1649 | SSL_CAMELLIA256, |
1650 | SSL_SHA1, | 1650 | SSL_SHA1, |
1651 | SSL_TLSV1, | 1651 | SSL_TLSV1, |
1652 | SSL_NOT_EXP|SSL_HIGH, | 1652 | SSL_NOT_EXP|SSL_HIGH, |
1653 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1653 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1654 | 256, | 1654 | 256, |
1655 | 256, | 1655 | 256, |
1656 | }, | 1656 | }, |
1657 | #endif /* OPENSSL_NO_CAMELLIA */ | 1657 | #endif /* OPENSSL_NO_CAMELLIA */ |
1658 | 1658 | ||
1659 | #ifndef OPENSSL_NO_PSK | 1659 | #ifndef OPENSSL_NO_PSK |
1660 | /* Cipher 8A */ | 1660 | /* Cipher 8A */ |
1661 | { | 1661 | { |
1662 | 1, | 1662 | 1, |
1663 | TLS1_TXT_PSK_WITH_RC4_128_SHA, | 1663 | TLS1_TXT_PSK_WITH_RC4_128_SHA, |
1664 | TLS1_CK_PSK_WITH_RC4_128_SHA, | 1664 | TLS1_CK_PSK_WITH_RC4_128_SHA, |
1665 | SSL_kPSK, | 1665 | SSL_kPSK, |
1666 | SSL_aPSK, | 1666 | SSL_aPSK, |
1667 | SSL_RC4, | 1667 | SSL_RC4, |
1668 | SSL_SHA1, | 1668 | SSL_SHA1, |
1669 | SSL_TLSV1, | 1669 | SSL_TLSV1, |
1670 | SSL_NOT_EXP|SSL_MEDIUM, | 1670 | SSL_NOT_EXP|SSL_MEDIUM, |
1671 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1671 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1672 | 128, | 1672 | 128, |
1673 | 128, | 1673 | 128, |
1674 | }, | 1674 | }, |
1675 | 1675 | ||
1676 | /* Cipher 8B */ | 1676 | /* Cipher 8B */ |
1677 | { | 1677 | { |
1678 | 1, | 1678 | 1, |
1679 | TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA, | 1679 | TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA, |
1680 | TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA, | 1680 | TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA, |
1681 | SSL_kPSK, | 1681 | SSL_kPSK, |
1682 | SSL_aPSK, | 1682 | SSL_aPSK, |
1683 | SSL_3DES, | 1683 | SSL_3DES, |
1684 | SSL_SHA1, | 1684 | SSL_SHA1, |
1685 | SSL_TLSV1, | 1685 | SSL_TLSV1, |
1686 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1686 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1687 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1687 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1688 | 168, | 1688 | 168, |
1689 | 168, | 1689 | 168, |
1690 | }, | 1690 | }, |
1691 | 1691 | ||
1692 | /* Cipher 8C */ | 1692 | /* Cipher 8C */ |
1693 | { | 1693 | { |
1694 | 1, | 1694 | 1, |
1695 | TLS1_TXT_PSK_WITH_AES_128_CBC_SHA, | 1695 | TLS1_TXT_PSK_WITH_AES_128_CBC_SHA, |
1696 | TLS1_CK_PSK_WITH_AES_128_CBC_SHA, | 1696 | TLS1_CK_PSK_WITH_AES_128_CBC_SHA, |
1697 | SSL_kPSK, | 1697 | SSL_kPSK, |
1698 | SSL_aPSK, | 1698 | SSL_aPSK, |
1699 | SSL_AES128, | 1699 | SSL_AES128, |
1700 | SSL_SHA1, | 1700 | SSL_SHA1, |
1701 | SSL_TLSV1, | 1701 | SSL_TLSV1, |
1702 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1702 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1703 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1703 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1704 | 128, | 1704 | 128, |
1705 | 128, | 1705 | 128, |
1706 | }, | 1706 | }, |
1707 | 1707 | ||
1708 | /* Cipher 8D */ | 1708 | /* Cipher 8D */ |
1709 | { | 1709 | { |
1710 | 1, | 1710 | 1, |
1711 | TLS1_TXT_PSK_WITH_AES_256_CBC_SHA, | 1711 | TLS1_TXT_PSK_WITH_AES_256_CBC_SHA, |
1712 | TLS1_CK_PSK_WITH_AES_256_CBC_SHA, | 1712 | TLS1_CK_PSK_WITH_AES_256_CBC_SHA, |
1713 | SSL_kPSK, | 1713 | SSL_kPSK, |
1714 | SSL_aPSK, | 1714 | SSL_aPSK, |
1715 | SSL_AES256, | 1715 | SSL_AES256, |
1716 | SSL_SHA1, | 1716 | SSL_SHA1, |
1717 | SSL_TLSV1, | 1717 | SSL_TLSV1, |
1718 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1718 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1719 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1719 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1720 | 256, | 1720 | 256, |
1721 | 256, | 1721 | 256, |
1722 | }, | 1722 | }, |
1723 | #endif /* OPENSSL_NO_PSK */ | 1723 | #endif /* OPENSSL_NO_PSK */ |
1724 | 1724 | ||
@@ -1727,98 +1727,98 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
1727 | 1727 | ||
1728 | /* Cipher 96 */ | 1728 | /* Cipher 96 */ |
1729 | { | 1729 | { |
1730 | 1, | 1730 | 1, |
1731 | TLS1_TXT_RSA_WITH_SEED_SHA, | 1731 | TLS1_TXT_RSA_WITH_SEED_SHA, |
1732 | TLS1_CK_RSA_WITH_SEED_SHA, | 1732 | TLS1_CK_RSA_WITH_SEED_SHA, |
1733 | SSL_kRSA, | 1733 | SSL_kRSA, |
1734 | SSL_aRSA, | 1734 | SSL_aRSA, |
1735 | SSL_SEED, | 1735 | SSL_SEED, |
1736 | SSL_SHA1, | 1736 | SSL_SHA1, |
1737 | SSL_TLSV1, | 1737 | SSL_TLSV1, |
1738 | SSL_NOT_EXP|SSL_MEDIUM, | 1738 | SSL_NOT_EXP|SSL_MEDIUM, |
1739 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1739 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1740 | 128, | 1740 | 128, |
1741 | 128, | 1741 | 128, |
1742 | }, | 1742 | }, |
1743 | 1743 | ||
1744 | /* Cipher 97 */ | 1744 | /* Cipher 97 */ |
1745 | { | 1745 | { |
1746 | 0, /* not implemented (non-ephemeral DH) */ | 1746 | 0, /* not implemented (non-ephemeral DH) */ |
1747 | TLS1_TXT_DH_DSS_WITH_SEED_SHA, | 1747 | TLS1_TXT_DH_DSS_WITH_SEED_SHA, |
1748 | TLS1_CK_DH_DSS_WITH_SEED_SHA, | 1748 | TLS1_CK_DH_DSS_WITH_SEED_SHA, |
1749 | SSL_kDHd, | 1749 | SSL_kDHd, |
1750 | SSL_aDH, | 1750 | SSL_aDH, |
1751 | SSL_SEED, | 1751 | SSL_SEED, |
1752 | SSL_SHA1, | 1752 | SSL_SHA1, |
1753 | SSL_TLSV1, | 1753 | SSL_TLSV1, |
1754 | SSL_NOT_EXP|SSL_MEDIUM, | 1754 | SSL_NOT_EXP|SSL_MEDIUM, |
1755 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1755 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1756 | 128, | 1756 | 128, |
1757 | 128, | 1757 | 128, |
1758 | }, | 1758 | }, |
1759 | 1759 | ||
1760 | /* Cipher 98 */ | 1760 | /* Cipher 98 */ |
1761 | { | 1761 | { |
1762 | 0, /* not implemented (non-ephemeral DH) */ | 1762 | 0, /* not implemented (non-ephemeral DH) */ |
1763 | TLS1_TXT_DH_RSA_WITH_SEED_SHA, | 1763 | TLS1_TXT_DH_RSA_WITH_SEED_SHA, |
1764 | TLS1_CK_DH_RSA_WITH_SEED_SHA, | 1764 | TLS1_CK_DH_RSA_WITH_SEED_SHA, |
1765 | SSL_kDHr, | 1765 | SSL_kDHr, |
1766 | SSL_aDH, | 1766 | SSL_aDH, |
1767 | SSL_SEED, | 1767 | SSL_SEED, |
1768 | SSL_SHA1, | 1768 | SSL_SHA1, |
1769 | SSL_TLSV1, | 1769 | SSL_TLSV1, |
1770 | SSL_NOT_EXP|SSL_MEDIUM, | 1770 | SSL_NOT_EXP|SSL_MEDIUM, |
1771 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1771 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1772 | 128, | 1772 | 128, |
1773 | 128, | 1773 | 128, |
1774 | }, | 1774 | }, |
1775 | 1775 | ||
1776 | /* Cipher 99 */ | 1776 | /* Cipher 99 */ |
1777 | { | 1777 | { |
1778 | 1, | 1778 | 1, |
1779 | TLS1_TXT_DHE_DSS_WITH_SEED_SHA, | 1779 | TLS1_TXT_DHE_DSS_WITH_SEED_SHA, |
1780 | TLS1_CK_DHE_DSS_WITH_SEED_SHA, | 1780 | TLS1_CK_DHE_DSS_WITH_SEED_SHA, |
1781 | SSL_kEDH, | 1781 | SSL_kEDH, |
1782 | SSL_aDSS, | 1782 | SSL_aDSS, |
1783 | SSL_SEED, | 1783 | SSL_SEED, |
1784 | SSL_SHA1, | 1784 | SSL_SHA1, |
1785 | SSL_TLSV1, | 1785 | SSL_TLSV1, |
1786 | SSL_NOT_EXP|SSL_MEDIUM, | 1786 | SSL_NOT_EXP|SSL_MEDIUM, |
1787 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1787 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1788 | 128, | 1788 | 128, |
1789 | 128, | 1789 | 128, |
1790 | }, | 1790 | }, |
1791 | 1791 | ||
1792 | /* Cipher 9A */ | 1792 | /* Cipher 9A */ |
1793 | { | 1793 | { |
1794 | 1, | 1794 | 1, |
1795 | TLS1_TXT_DHE_RSA_WITH_SEED_SHA, | 1795 | TLS1_TXT_DHE_RSA_WITH_SEED_SHA, |
1796 | TLS1_CK_DHE_RSA_WITH_SEED_SHA, | 1796 | TLS1_CK_DHE_RSA_WITH_SEED_SHA, |
1797 | SSL_kEDH, | 1797 | SSL_kEDH, |
1798 | SSL_aRSA, | 1798 | SSL_aRSA, |
1799 | SSL_SEED, | 1799 | SSL_SEED, |
1800 | SSL_SHA1, | 1800 | SSL_SHA1, |
1801 | SSL_TLSV1, | 1801 | SSL_TLSV1, |
1802 | SSL_NOT_EXP|SSL_MEDIUM, | 1802 | SSL_NOT_EXP|SSL_MEDIUM, |
1803 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1803 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1804 | 128, | 1804 | 128, |
1805 | 128, | 1805 | 128, |
1806 | }, | 1806 | }, |
1807 | 1807 | ||
1808 | /* Cipher 9B */ | 1808 | /* Cipher 9B */ |
1809 | { | 1809 | { |
1810 | 1, | 1810 | 1, |
1811 | TLS1_TXT_ADH_WITH_SEED_SHA, | 1811 | TLS1_TXT_ADH_WITH_SEED_SHA, |
1812 | TLS1_CK_ADH_WITH_SEED_SHA, | 1812 | TLS1_CK_ADH_WITH_SEED_SHA, |
1813 | SSL_kEDH, | 1813 | SSL_kEDH, |
1814 | SSL_aNULL, | 1814 | SSL_aNULL, |
1815 | SSL_SEED, | 1815 | SSL_SEED, |
1816 | SSL_SHA1, | 1816 | SSL_SHA1, |
1817 | SSL_TLSV1, | 1817 | SSL_TLSV1, |
1818 | SSL_NOT_EXP|SSL_MEDIUM, | 1818 | SSL_NOT_EXP|SSL_MEDIUM, |
1819 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 1819 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
1820 | 128, | 1820 | 128, |
1821 | 128, | 1821 | 128, |
1822 | }, | 1822 | }, |
1823 | 1823 | ||
1824 | #endif /* OPENSSL_NO_SEED */ | 1824 | #endif /* OPENSSL_NO_SEED */ |
@@ -1827,741 +1827,741 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
1827 | 1827 | ||
1828 | /* Cipher 9C */ | 1828 | /* Cipher 9C */ |
1829 | { | 1829 | { |
1830 | 1, | 1830 | 1, |
1831 | TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256, | 1831 | TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256, |
1832 | TLS1_CK_RSA_WITH_AES_128_GCM_SHA256, | 1832 | TLS1_CK_RSA_WITH_AES_128_GCM_SHA256, |
1833 | SSL_kRSA, | 1833 | SSL_kRSA, |
1834 | SSL_aRSA, | 1834 | SSL_aRSA, |
1835 | SSL_AES128GCM, | 1835 | SSL_AES128GCM, |
1836 | SSL_AEAD, | 1836 | SSL_AEAD, |
1837 | SSL_TLSV1_2, | 1837 | SSL_TLSV1_2, |
1838 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1838 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1839 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 1839 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1840 | 128, | 1840 | 128, |
1841 | 128, | 1841 | 128, |
1842 | }, | 1842 | }, |
1843 | 1843 | ||
1844 | /* Cipher 9D */ | 1844 | /* Cipher 9D */ |
1845 | { | 1845 | { |
1846 | 1, | 1846 | 1, |
1847 | TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384, | 1847 | TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384, |
1848 | TLS1_CK_RSA_WITH_AES_256_GCM_SHA384, | 1848 | TLS1_CK_RSA_WITH_AES_256_GCM_SHA384, |
1849 | SSL_kRSA, | 1849 | SSL_kRSA, |
1850 | SSL_aRSA, | 1850 | SSL_aRSA, |
1851 | SSL_AES256GCM, | 1851 | SSL_AES256GCM, |
1852 | SSL_AEAD, | 1852 | SSL_AEAD, |
1853 | SSL_TLSV1_2, | 1853 | SSL_TLSV1_2, |
1854 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1854 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1855 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 1855 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1856 | 256, | 1856 | 256, |
1857 | 256, | 1857 | 256, |
1858 | }, | 1858 | }, |
1859 | 1859 | ||
1860 | /* Cipher 9E */ | 1860 | /* Cipher 9E */ |
1861 | { | 1861 | { |
1862 | 1, | 1862 | 1, |
1863 | TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256, | 1863 | TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256, |
1864 | TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256, | 1864 | TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256, |
1865 | SSL_kEDH, | 1865 | SSL_kEDH, |
1866 | SSL_aRSA, | 1866 | SSL_aRSA, |
1867 | SSL_AES128GCM, | 1867 | SSL_AES128GCM, |
1868 | SSL_AEAD, | 1868 | SSL_AEAD, |
1869 | SSL_TLSV1_2, | 1869 | SSL_TLSV1_2, |
1870 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1870 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1871 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 1871 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1872 | 128, | 1872 | 128, |
1873 | 128, | 1873 | 128, |
1874 | }, | 1874 | }, |
1875 | 1875 | ||
1876 | /* Cipher 9F */ | 1876 | /* Cipher 9F */ |
1877 | { | 1877 | { |
1878 | 1, | 1878 | 1, |
1879 | TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384, | 1879 | TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384, |
1880 | TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384, | 1880 | TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384, |
1881 | SSL_kEDH, | 1881 | SSL_kEDH, |
1882 | SSL_aRSA, | 1882 | SSL_aRSA, |
1883 | SSL_AES256GCM, | 1883 | SSL_AES256GCM, |
1884 | SSL_AEAD, | 1884 | SSL_AEAD, |
1885 | SSL_TLSV1_2, | 1885 | SSL_TLSV1_2, |
1886 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1886 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1887 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 1887 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1888 | 256, | 1888 | 256, |
1889 | 256, | 1889 | 256, |
1890 | }, | 1890 | }, |
1891 | 1891 | ||
1892 | /* Cipher A0 */ | 1892 | /* Cipher A0 */ |
1893 | { | 1893 | { |
1894 | 0, | 1894 | 0, |
1895 | TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256, | 1895 | TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256, |
1896 | TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256, | 1896 | TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256, |
1897 | SSL_kDHr, | 1897 | SSL_kDHr, |
1898 | SSL_aDH, | 1898 | SSL_aDH, |
1899 | SSL_AES128GCM, | 1899 | SSL_AES128GCM, |
1900 | SSL_AEAD, | 1900 | SSL_AEAD, |
1901 | SSL_TLSV1_2, | 1901 | SSL_TLSV1_2, |
1902 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1902 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1903 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 1903 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1904 | 128, | 1904 | 128, |
1905 | 128, | 1905 | 128, |
1906 | }, | 1906 | }, |
1907 | 1907 | ||
1908 | /* Cipher A1 */ | 1908 | /* Cipher A1 */ |
1909 | { | 1909 | { |
1910 | 0, | 1910 | 0, |
1911 | TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384, | 1911 | TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384, |
1912 | TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384, | 1912 | TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384, |
1913 | SSL_kDHr, | 1913 | SSL_kDHr, |
1914 | SSL_aDH, | 1914 | SSL_aDH, |
1915 | SSL_AES256GCM, | 1915 | SSL_AES256GCM, |
1916 | SSL_AEAD, | 1916 | SSL_AEAD, |
1917 | SSL_TLSV1_2, | 1917 | SSL_TLSV1_2, |
1918 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1918 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1919 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 1919 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1920 | 256, | 1920 | 256, |
1921 | 256, | 1921 | 256, |
1922 | }, | 1922 | }, |
1923 | 1923 | ||
1924 | /* Cipher A2 */ | 1924 | /* Cipher A2 */ |
1925 | { | 1925 | { |
1926 | 1, | 1926 | 1, |
1927 | TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256, | 1927 | TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256, |
1928 | TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256, | 1928 | TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256, |
1929 | SSL_kEDH, | 1929 | SSL_kEDH, |
1930 | SSL_aDSS, | 1930 | SSL_aDSS, |
1931 | SSL_AES128GCM, | 1931 | SSL_AES128GCM, |
1932 | SSL_AEAD, | 1932 | SSL_AEAD, |
1933 | SSL_TLSV1_2, | 1933 | SSL_TLSV1_2, |
1934 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1934 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1935 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 1935 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1936 | 128, | 1936 | 128, |
1937 | 128, | 1937 | 128, |
1938 | }, | 1938 | }, |
1939 | 1939 | ||
1940 | /* Cipher A3 */ | 1940 | /* Cipher A3 */ |
1941 | { | 1941 | { |
1942 | 1, | 1942 | 1, |
1943 | TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384, | 1943 | TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384, |
1944 | TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384, | 1944 | TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384, |
1945 | SSL_kEDH, | 1945 | SSL_kEDH, |
1946 | SSL_aDSS, | 1946 | SSL_aDSS, |
1947 | SSL_AES256GCM, | 1947 | SSL_AES256GCM, |
1948 | SSL_AEAD, | 1948 | SSL_AEAD, |
1949 | SSL_TLSV1_2, | 1949 | SSL_TLSV1_2, |
1950 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1950 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1951 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 1951 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1952 | 256, | 1952 | 256, |
1953 | 256, | 1953 | 256, |
1954 | }, | 1954 | }, |
1955 | 1955 | ||
1956 | /* Cipher A4 */ | 1956 | /* Cipher A4 */ |
1957 | { | 1957 | { |
1958 | 0, | 1958 | 0, |
1959 | TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256, | 1959 | TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256, |
1960 | TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256, | 1960 | TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256, |
1961 | SSL_kDHd, | 1961 | SSL_kDHd, |
1962 | SSL_aDH, | 1962 | SSL_aDH, |
1963 | SSL_AES128GCM, | 1963 | SSL_AES128GCM, |
1964 | SSL_AEAD, | 1964 | SSL_AEAD, |
1965 | SSL_TLSV1_2, | 1965 | SSL_TLSV1_2, |
1966 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1966 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1967 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 1967 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
1968 | 128, | 1968 | 128, |
1969 | 128, | 1969 | 128, |
1970 | }, | 1970 | }, |
1971 | 1971 | ||
1972 | /* Cipher A5 */ | 1972 | /* Cipher A5 */ |
1973 | { | 1973 | { |
1974 | 0, | 1974 | 0, |
1975 | TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384, | 1975 | TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384, |
1976 | TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384, | 1976 | TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384, |
1977 | SSL_kDHd, | 1977 | SSL_kDHd, |
1978 | SSL_aDH, | 1978 | SSL_aDH, |
1979 | SSL_AES256GCM, | 1979 | SSL_AES256GCM, |
1980 | SSL_AEAD, | 1980 | SSL_AEAD, |
1981 | SSL_TLSV1_2, | 1981 | SSL_TLSV1_2, |
1982 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1982 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1983 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 1983 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
1984 | 256, | 1984 | 256, |
1985 | 256, | 1985 | 256, |
1986 | }, | 1986 | }, |
1987 | 1987 | ||
1988 | /* Cipher A6 */ | 1988 | /* Cipher A6 */ |
1989 | { | 1989 | { |
1990 | 1, | 1990 | 1, |
1991 | TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256, | 1991 | TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256, |
1992 | TLS1_CK_ADH_WITH_AES_128_GCM_SHA256, | 1992 | TLS1_CK_ADH_WITH_AES_128_GCM_SHA256, |
1993 | SSL_kEDH, | 1993 | SSL_kEDH, |
1994 | SSL_aNULL, | 1994 | SSL_aNULL, |
1995 | SSL_AES128GCM, | 1995 | SSL_AES128GCM, |
1996 | SSL_AEAD, | 1996 | SSL_AEAD, |
1997 | SSL_TLSV1_2, | 1997 | SSL_TLSV1_2, |
1998 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 1998 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
1999 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 1999 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2000 | 128, | 2000 | 128, |
2001 | 128, | 2001 | 128, |
2002 | }, | 2002 | }, |
2003 | 2003 | ||
2004 | /* Cipher A7 */ | 2004 | /* Cipher A7 */ |
2005 | { | 2005 | { |
2006 | 1, | 2006 | 1, |
2007 | TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384, | 2007 | TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384, |
2008 | TLS1_CK_ADH_WITH_AES_256_GCM_SHA384, | 2008 | TLS1_CK_ADH_WITH_AES_256_GCM_SHA384, |
2009 | SSL_kEDH, | 2009 | SSL_kEDH, |
2010 | SSL_aNULL, | 2010 | SSL_aNULL, |
2011 | SSL_AES256GCM, | 2011 | SSL_AES256GCM, |
2012 | SSL_AEAD, | 2012 | SSL_AEAD, |
2013 | SSL_TLSV1_2, | 2013 | SSL_TLSV1_2, |
2014 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2014 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2015 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2015 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2016 | 256, | 2016 | 256, |
2017 | 256, | 2017 | 256, |
2018 | }, | 2018 | }, |
2019 | 2019 | ||
2020 | #ifndef OPENSSL_NO_ECDH | 2020 | #ifndef OPENSSL_NO_ECDH |
2021 | /* Cipher C001 */ | 2021 | /* Cipher C001 */ |
2022 | { | 2022 | { |
2023 | 1, | 2023 | 1, |
2024 | TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA, | 2024 | TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA, |
2025 | TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA, | 2025 | TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA, |
2026 | SSL_kECDHe, | 2026 | SSL_kECDHe, |
2027 | SSL_aECDH, | 2027 | SSL_aECDH, |
2028 | SSL_eNULL, | 2028 | SSL_eNULL, |
2029 | SSL_SHA1, | 2029 | SSL_SHA1, |
2030 | SSL_TLSV1, | 2030 | SSL_TLSV1, |
2031 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 2031 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
2032 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2032 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2033 | 0, | 2033 | 0, |
2034 | 0, | 2034 | 0, |
2035 | }, | 2035 | }, |
2036 | 2036 | ||
2037 | /* Cipher C002 */ | 2037 | /* Cipher C002 */ |
2038 | { | 2038 | { |
2039 | 1, | 2039 | 1, |
2040 | TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA, | 2040 | TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA, |
2041 | TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA, | 2041 | TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA, |
2042 | SSL_kECDHe, | 2042 | SSL_kECDHe, |
2043 | SSL_aECDH, | 2043 | SSL_aECDH, |
2044 | SSL_RC4, | 2044 | SSL_RC4, |
2045 | SSL_SHA1, | 2045 | SSL_SHA1, |
2046 | SSL_TLSV1, | 2046 | SSL_TLSV1, |
2047 | SSL_NOT_EXP|SSL_MEDIUM, | 2047 | SSL_NOT_EXP|SSL_MEDIUM, |
2048 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2048 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2049 | 128, | 2049 | 128, |
2050 | 128, | 2050 | 128, |
2051 | }, | 2051 | }, |
2052 | 2052 | ||
2053 | /* Cipher C003 */ | 2053 | /* Cipher C003 */ |
2054 | { | 2054 | { |
2055 | 1, | 2055 | 1, |
2056 | TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA, | 2056 | TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA, |
2057 | TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA, | 2057 | TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA, |
2058 | SSL_kECDHe, | 2058 | SSL_kECDHe, |
2059 | SSL_aECDH, | 2059 | SSL_aECDH, |
2060 | SSL_3DES, | 2060 | SSL_3DES, |
2061 | SSL_SHA1, | 2061 | SSL_SHA1, |
2062 | SSL_TLSV1, | 2062 | SSL_TLSV1, |
2063 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2063 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2064 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2064 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2065 | 168, | 2065 | 168, |
2066 | 168, | 2066 | 168, |
2067 | }, | 2067 | }, |
2068 | 2068 | ||
2069 | /* Cipher C004 */ | 2069 | /* Cipher C004 */ |
2070 | { | 2070 | { |
2071 | 1, | 2071 | 1, |
2072 | TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA, | 2072 | TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA, |
2073 | TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA, | 2073 | TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA, |
2074 | SSL_kECDHe, | 2074 | SSL_kECDHe, |
2075 | SSL_aECDH, | 2075 | SSL_aECDH, |
2076 | SSL_AES128, | 2076 | SSL_AES128, |
2077 | SSL_SHA1, | 2077 | SSL_SHA1, |
2078 | SSL_TLSV1, | 2078 | SSL_TLSV1, |
2079 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2079 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2080 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2080 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2081 | 128, | 2081 | 128, |
2082 | 128, | 2082 | 128, |
2083 | }, | 2083 | }, |
2084 | 2084 | ||
2085 | /* Cipher C005 */ | 2085 | /* Cipher C005 */ |
2086 | { | 2086 | { |
2087 | 1, | 2087 | 1, |
2088 | TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA, | 2088 | TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA, |
2089 | TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA, | 2089 | TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA, |
2090 | SSL_kECDHe, | 2090 | SSL_kECDHe, |
2091 | SSL_aECDH, | 2091 | SSL_aECDH, |
2092 | SSL_AES256, | 2092 | SSL_AES256, |
2093 | SSL_SHA1, | 2093 | SSL_SHA1, |
2094 | SSL_TLSV1, | 2094 | SSL_TLSV1, |
2095 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2095 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2096 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2096 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2097 | 256, | 2097 | 256, |
2098 | 256, | 2098 | 256, |
2099 | }, | 2099 | }, |
2100 | 2100 | ||
2101 | /* Cipher C006 */ | 2101 | /* Cipher C006 */ |
2102 | { | 2102 | { |
2103 | 1, | 2103 | 1, |
2104 | TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA, | 2104 | TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA, |
2105 | TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA, | 2105 | TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA, |
2106 | SSL_kEECDH, | 2106 | SSL_kEECDH, |
2107 | SSL_aECDSA, | 2107 | SSL_aECDSA, |
2108 | SSL_eNULL, | 2108 | SSL_eNULL, |
2109 | SSL_SHA1, | 2109 | SSL_SHA1, |
2110 | SSL_TLSV1, | 2110 | SSL_TLSV1, |
2111 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 2111 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
2112 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2112 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2113 | 0, | 2113 | 0, |
2114 | 0, | 2114 | 0, |
2115 | }, | 2115 | }, |
2116 | 2116 | ||
2117 | /* Cipher C007 */ | 2117 | /* Cipher C007 */ |
2118 | { | 2118 | { |
2119 | 1, | 2119 | 1, |
2120 | TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA, | 2120 | TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA, |
2121 | TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA, | 2121 | TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA, |
2122 | SSL_kEECDH, | 2122 | SSL_kEECDH, |
2123 | SSL_aECDSA, | 2123 | SSL_aECDSA, |
2124 | SSL_RC4, | 2124 | SSL_RC4, |
2125 | SSL_SHA1, | 2125 | SSL_SHA1, |
2126 | SSL_TLSV1, | 2126 | SSL_TLSV1, |
2127 | SSL_NOT_EXP|SSL_MEDIUM, | 2127 | SSL_NOT_EXP|SSL_MEDIUM, |
2128 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2128 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2129 | 128, | 2129 | 128, |
2130 | 128, | 2130 | 128, |
2131 | }, | 2131 | }, |
2132 | 2132 | ||
2133 | /* Cipher C008 */ | 2133 | /* Cipher C008 */ |
2134 | { | 2134 | { |
2135 | 1, | 2135 | 1, |
2136 | TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA, | 2136 | TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA, |
2137 | TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA, | 2137 | TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA, |
2138 | SSL_kEECDH, | 2138 | SSL_kEECDH, |
2139 | SSL_aECDSA, | 2139 | SSL_aECDSA, |
2140 | SSL_3DES, | 2140 | SSL_3DES, |
2141 | SSL_SHA1, | 2141 | SSL_SHA1, |
2142 | SSL_TLSV1, | 2142 | SSL_TLSV1, |
2143 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2143 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2144 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2144 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2145 | 168, | 2145 | 168, |
2146 | 168, | 2146 | 168, |
2147 | }, | 2147 | }, |
2148 | 2148 | ||
2149 | /* Cipher C009 */ | 2149 | /* Cipher C009 */ |
2150 | { | 2150 | { |
2151 | 1, | 2151 | 1, |
2152 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, | 2152 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, |
2153 | TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, | 2153 | TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, |
2154 | SSL_kEECDH, | 2154 | SSL_kEECDH, |
2155 | SSL_aECDSA, | 2155 | SSL_aECDSA, |
2156 | SSL_AES128, | 2156 | SSL_AES128, |
2157 | SSL_SHA1, | 2157 | SSL_SHA1, |
2158 | SSL_TLSV1, | 2158 | SSL_TLSV1, |
2159 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2159 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2160 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2160 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2161 | 128, | 2161 | 128, |
2162 | 128, | 2162 | 128, |
2163 | }, | 2163 | }, |
2164 | 2164 | ||
2165 | /* Cipher C00A */ | 2165 | /* Cipher C00A */ |
2166 | { | 2166 | { |
2167 | 1, | 2167 | 1, |
2168 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, | 2168 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, |
2169 | TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, | 2169 | TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, |
2170 | SSL_kEECDH, | 2170 | SSL_kEECDH, |
2171 | SSL_aECDSA, | 2171 | SSL_aECDSA, |
2172 | SSL_AES256, | 2172 | SSL_AES256, |
2173 | SSL_SHA1, | 2173 | SSL_SHA1, |
2174 | SSL_TLSV1, | 2174 | SSL_TLSV1, |
2175 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2175 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2176 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2176 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2177 | 256, | 2177 | 256, |
2178 | 256, | 2178 | 256, |
2179 | }, | 2179 | }, |
2180 | 2180 | ||
2181 | /* Cipher C00B */ | 2181 | /* Cipher C00B */ |
2182 | { | 2182 | { |
2183 | 1, | 2183 | 1, |
2184 | TLS1_TXT_ECDH_RSA_WITH_NULL_SHA, | 2184 | TLS1_TXT_ECDH_RSA_WITH_NULL_SHA, |
2185 | TLS1_CK_ECDH_RSA_WITH_NULL_SHA, | 2185 | TLS1_CK_ECDH_RSA_WITH_NULL_SHA, |
2186 | SSL_kECDHr, | 2186 | SSL_kECDHr, |
2187 | SSL_aECDH, | 2187 | SSL_aECDH, |
2188 | SSL_eNULL, | 2188 | SSL_eNULL, |
2189 | SSL_SHA1, | 2189 | SSL_SHA1, |
2190 | SSL_TLSV1, | 2190 | SSL_TLSV1, |
2191 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 2191 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
2192 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2192 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2193 | 0, | 2193 | 0, |
2194 | 0, | 2194 | 0, |
2195 | }, | 2195 | }, |
2196 | 2196 | ||
2197 | /* Cipher C00C */ | 2197 | /* Cipher C00C */ |
2198 | { | 2198 | { |
2199 | 1, | 2199 | 1, |
2200 | TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA, | 2200 | TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA, |
2201 | TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA, | 2201 | TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA, |
2202 | SSL_kECDHr, | 2202 | SSL_kECDHr, |
2203 | SSL_aECDH, | 2203 | SSL_aECDH, |
2204 | SSL_RC4, | 2204 | SSL_RC4, |
2205 | SSL_SHA1, | 2205 | SSL_SHA1, |
2206 | SSL_TLSV1, | 2206 | SSL_TLSV1, |
2207 | SSL_NOT_EXP|SSL_MEDIUM, | 2207 | SSL_NOT_EXP|SSL_MEDIUM, |
2208 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2208 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2209 | 128, | 2209 | 128, |
2210 | 128, | 2210 | 128, |
2211 | }, | 2211 | }, |
2212 | 2212 | ||
2213 | /* Cipher C00D */ | 2213 | /* Cipher C00D */ |
2214 | { | 2214 | { |
2215 | 1, | 2215 | 1, |
2216 | TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA, | 2216 | TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA, |
2217 | TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA, | 2217 | TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA, |
2218 | SSL_kECDHr, | 2218 | SSL_kECDHr, |
2219 | SSL_aECDH, | 2219 | SSL_aECDH, |
2220 | SSL_3DES, | 2220 | SSL_3DES, |
2221 | SSL_SHA1, | 2221 | SSL_SHA1, |
2222 | SSL_TLSV1, | 2222 | SSL_TLSV1, |
2223 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2223 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2224 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2224 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2225 | 168, | 2225 | 168, |
2226 | 168, | 2226 | 168, |
2227 | }, | 2227 | }, |
2228 | 2228 | ||
2229 | /* Cipher C00E */ | 2229 | /* Cipher C00E */ |
2230 | { | 2230 | { |
2231 | 1, | 2231 | 1, |
2232 | TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA, | 2232 | TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA, |
2233 | TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA, | 2233 | TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA, |
2234 | SSL_kECDHr, | 2234 | SSL_kECDHr, |
2235 | SSL_aECDH, | 2235 | SSL_aECDH, |
2236 | SSL_AES128, | 2236 | SSL_AES128, |
2237 | SSL_SHA1, | 2237 | SSL_SHA1, |
2238 | SSL_TLSV1, | 2238 | SSL_TLSV1, |
2239 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2239 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2240 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2240 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2241 | 128, | 2241 | 128, |
2242 | 128, | 2242 | 128, |
2243 | }, | 2243 | }, |
2244 | 2244 | ||
2245 | /* Cipher C00F */ | 2245 | /* Cipher C00F */ |
2246 | { | 2246 | { |
2247 | 1, | 2247 | 1, |
2248 | TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA, | 2248 | TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA, |
2249 | TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA, | 2249 | TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA, |
2250 | SSL_kECDHr, | 2250 | SSL_kECDHr, |
2251 | SSL_aECDH, | 2251 | SSL_aECDH, |
2252 | SSL_AES256, | 2252 | SSL_AES256, |
2253 | SSL_SHA1, | 2253 | SSL_SHA1, |
2254 | SSL_TLSV1, | 2254 | SSL_TLSV1, |
2255 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2255 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2256 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2256 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2257 | 256, | 2257 | 256, |
2258 | 256, | 2258 | 256, |
2259 | }, | 2259 | }, |
2260 | 2260 | ||
2261 | /* Cipher C010 */ | 2261 | /* Cipher C010 */ |
2262 | { | 2262 | { |
2263 | 1, | 2263 | 1, |
2264 | TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA, | 2264 | TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA, |
2265 | TLS1_CK_ECDHE_RSA_WITH_NULL_SHA, | 2265 | TLS1_CK_ECDHE_RSA_WITH_NULL_SHA, |
2266 | SSL_kEECDH, | 2266 | SSL_kEECDH, |
2267 | SSL_aRSA, | 2267 | SSL_aRSA, |
2268 | SSL_eNULL, | 2268 | SSL_eNULL, |
2269 | SSL_SHA1, | 2269 | SSL_SHA1, |
2270 | SSL_TLSV1, | 2270 | SSL_TLSV1, |
2271 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 2271 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
2272 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2272 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2273 | 0, | 2273 | 0, |
2274 | 0, | 2274 | 0, |
2275 | }, | 2275 | }, |
2276 | 2276 | ||
2277 | /* Cipher C011 */ | 2277 | /* Cipher C011 */ |
2278 | { | 2278 | { |
2279 | 1, | 2279 | 1, |
2280 | TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA, | 2280 | TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA, |
2281 | TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA, | 2281 | TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA, |
2282 | SSL_kEECDH, | 2282 | SSL_kEECDH, |
2283 | SSL_aRSA, | 2283 | SSL_aRSA, |
2284 | SSL_RC4, | 2284 | SSL_RC4, |
2285 | SSL_SHA1, | 2285 | SSL_SHA1, |
2286 | SSL_TLSV1, | 2286 | SSL_TLSV1, |
2287 | SSL_NOT_EXP|SSL_MEDIUM, | 2287 | SSL_NOT_EXP|SSL_MEDIUM, |
2288 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2288 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2289 | 128, | 2289 | 128, |
2290 | 128, | 2290 | 128, |
2291 | }, | 2291 | }, |
2292 | 2292 | ||
2293 | /* Cipher C012 */ | 2293 | /* Cipher C012 */ |
2294 | { | 2294 | { |
2295 | 1, | 2295 | 1, |
2296 | TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA, | 2296 | TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA, |
2297 | TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA, | 2297 | TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA, |
2298 | SSL_kEECDH, | 2298 | SSL_kEECDH, |
2299 | SSL_aRSA, | 2299 | SSL_aRSA, |
2300 | SSL_3DES, | 2300 | SSL_3DES, |
2301 | SSL_SHA1, | 2301 | SSL_SHA1, |
2302 | SSL_TLSV1, | 2302 | SSL_TLSV1, |
2303 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2303 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2304 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2304 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2305 | 168, | 2305 | 168, |
2306 | 168, | 2306 | 168, |
2307 | }, | 2307 | }, |
2308 | 2308 | ||
2309 | /* Cipher C013 */ | 2309 | /* Cipher C013 */ |
2310 | { | 2310 | { |
2311 | 1, | 2311 | 1, |
2312 | TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA, | 2312 | TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA, |
2313 | TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA, | 2313 | TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA, |
2314 | SSL_kEECDH, | 2314 | SSL_kEECDH, |
2315 | SSL_aRSA, | 2315 | SSL_aRSA, |
2316 | SSL_AES128, | 2316 | SSL_AES128, |
2317 | SSL_SHA1, | 2317 | SSL_SHA1, |
2318 | SSL_TLSV1, | 2318 | SSL_TLSV1, |
2319 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2319 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2320 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2320 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2321 | 128, | 2321 | 128, |
2322 | 128, | 2322 | 128, |
2323 | }, | 2323 | }, |
2324 | 2324 | ||
2325 | /* Cipher C014 */ | 2325 | /* Cipher C014 */ |
2326 | { | 2326 | { |
2327 | 1, | 2327 | 1, |
2328 | TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA, | 2328 | TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA, |
2329 | TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA, | 2329 | TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA, |
2330 | SSL_kEECDH, | 2330 | SSL_kEECDH, |
2331 | SSL_aRSA, | 2331 | SSL_aRSA, |
2332 | SSL_AES256, | 2332 | SSL_AES256, |
2333 | SSL_SHA1, | 2333 | SSL_SHA1, |
2334 | SSL_TLSV1, | 2334 | SSL_TLSV1, |
2335 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2335 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2336 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2336 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2337 | 256, | 2337 | 256, |
2338 | 256, | 2338 | 256, |
2339 | }, | 2339 | }, |
2340 | 2340 | ||
2341 | /* Cipher C015 */ | 2341 | /* Cipher C015 */ |
2342 | { | 2342 | { |
2343 | 1, | 2343 | 1, |
2344 | TLS1_TXT_ECDH_anon_WITH_NULL_SHA, | 2344 | TLS1_TXT_ECDH_anon_WITH_NULL_SHA, |
2345 | TLS1_CK_ECDH_anon_WITH_NULL_SHA, | 2345 | TLS1_CK_ECDH_anon_WITH_NULL_SHA, |
2346 | SSL_kEECDH, | 2346 | SSL_kEECDH, |
2347 | SSL_aNULL, | 2347 | SSL_aNULL, |
2348 | SSL_eNULL, | 2348 | SSL_eNULL, |
2349 | SSL_SHA1, | 2349 | SSL_SHA1, |
2350 | SSL_TLSV1, | 2350 | SSL_TLSV1, |
2351 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, | 2351 | SSL_NOT_EXP|SSL_STRONG_NONE|SSL_FIPS, |
2352 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2352 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2353 | 0, | 2353 | 0, |
2354 | 0, | 2354 | 0, |
2355 | }, | 2355 | }, |
2356 | 2356 | ||
2357 | /* Cipher C016 */ | 2357 | /* Cipher C016 */ |
2358 | { | 2358 | { |
2359 | 1, | 2359 | 1, |
2360 | TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA, | 2360 | TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA, |
2361 | TLS1_CK_ECDH_anon_WITH_RC4_128_SHA, | 2361 | TLS1_CK_ECDH_anon_WITH_RC4_128_SHA, |
2362 | SSL_kEECDH, | 2362 | SSL_kEECDH, |
2363 | SSL_aNULL, | 2363 | SSL_aNULL, |
2364 | SSL_RC4, | 2364 | SSL_RC4, |
2365 | SSL_SHA1, | 2365 | SSL_SHA1, |
2366 | SSL_TLSV1, | 2366 | SSL_TLSV1, |
2367 | SSL_NOT_EXP|SSL_MEDIUM, | 2367 | SSL_NOT_EXP|SSL_MEDIUM, |
2368 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2368 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2369 | 128, | 2369 | 128, |
2370 | 128, | 2370 | 128, |
2371 | }, | 2371 | }, |
2372 | 2372 | ||
2373 | /* Cipher C017 */ | 2373 | /* Cipher C017 */ |
2374 | { | 2374 | { |
2375 | 1, | 2375 | 1, |
2376 | TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA, | 2376 | TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA, |
2377 | TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA, | 2377 | TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA, |
2378 | SSL_kEECDH, | 2378 | SSL_kEECDH, |
2379 | SSL_aNULL, | 2379 | SSL_aNULL, |
2380 | SSL_3DES, | 2380 | SSL_3DES, |
2381 | SSL_SHA1, | 2381 | SSL_SHA1, |
2382 | SSL_TLSV1, | 2382 | SSL_TLSV1, |
2383 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2383 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2384 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2384 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2385 | 168, | 2385 | 168, |
2386 | 168, | 2386 | 168, |
2387 | }, | 2387 | }, |
2388 | 2388 | ||
2389 | /* Cipher C018 */ | 2389 | /* Cipher C018 */ |
2390 | { | 2390 | { |
2391 | 1, | 2391 | 1, |
2392 | TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA, | 2392 | TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA, |
2393 | TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA, | 2393 | TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA, |
2394 | SSL_kEECDH, | 2394 | SSL_kEECDH, |
2395 | SSL_aNULL, | 2395 | SSL_aNULL, |
2396 | SSL_AES128, | 2396 | SSL_AES128, |
2397 | SSL_SHA1, | 2397 | SSL_SHA1, |
2398 | SSL_TLSV1, | 2398 | SSL_TLSV1, |
2399 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2399 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2400 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2400 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2401 | 128, | 2401 | 128, |
2402 | 128, | 2402 | 128, |
2403 | }, | 2403 | }, |
2404 | 2404 | ||
2405 | /* Cipher C019 */ | 2405 | /* Cipher C019 */ |
2406 | { | 2406 | { |
2407 | 1, | 2407 | 1, |
2408 | TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA, | 2408 | TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA, |
2409 | TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA, | 2409 | TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA, |
2410 | SSL_kEECDH, | 2410 | SSL_kEECDH, |
2411 | SSL_aNULL, | 2411 | SSL_aNULL, |
2412 | SSL_AES256, | 2412 | SSL_AES256, |
2413 | SSL_SHA1, | 2413 | SSL_SHA1, |
2414 | SSL_TLSV1, | 2414 | SSL_TLSV1, |
2415 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2415 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2416 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2416 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2417 | 256, | 2417 | 256, |
2418 | 256, | 2418 | 256, |
2419 | }, | 2419 | }, |
2420 | #endif /* OPENSSL_NO_ECDH */ | 2420 | #endif /* OPENSSL_NO_ECDH */ |
2421 | 2421 | ||
2422 | #ifndef OPENSSL_NO_SRP | 2422 | #ifndef OPENSSL_NO_SRP |
2423 | /* Cipher C01A */ | 2423 | /* Cipher C01A */ |
2424 | { | 2424 | { |
2425 | 1, | 2425 | 1, |
2426 | TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA, | 2426 | TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA, |
2427 | TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA, | 2427 | TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA, |
2428 | SSL_kSRP, | 2428 | SSL_kSRP, |
2429 | SSL_aNULL, | 2429 | SSL_aNULL, |
2430 | SSL_3DES, | 2430 | SSL_3DES, |
2431 | SSL_SHA1, | 2431 | SSL_SHA1, |
2432 | SSL_TLSV1, | 2432 | SSL_TLSV1, |
2433 | SSL_NOT_EXP|SSL_HIGH, | 2433 | SSL_NOT_EXP|SSL_HIGH, |
2434 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2434 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2435 | 168, | 2435 | 168, |
2436 | 168, | 2436 | 168, |
2437 | }, | 2437 | }, |
2438 | 2438 | ||
2439 | /* Cipher C01B */ | 2439 | /* Cipher C01B */ |
2440 | { | 2440 | { |
2441 | 1, | 2441 | 1, |
2442 | TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, | 2442 | TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, |
2443 | TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, | 2443 | TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, |
2444 | SSL_kSRP, | 2444 | SSL_kSRP, |
2445 | SSL_aRSA, | 2445 | SSL_aRSA, |
2446 | SSL_3DES, | 2446 | SSL_3DES, |
2447 | SSL_SHA1, | 2447 | SSL_SHA1, |
2448 | SSL_TLSV1, | 2448 | SSL_TLSV1, |
2449 | SSL_NOT_EXP|SSL_HIGH, | 2449 | SSL_NOT_EXP|SSL_HIGH, |
2450 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2450 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2451 | 168, | 2451 | 168, |
2452 | 168, | 2452 | 168, |
2453 | }, | 2453 | }, |
2454 | 2454 | ||
2455 | /* Cipher C01C */ | 2455 | /* Cipher C01C */ |
2456 | { | 2456 | { |
2457 | 1, | 2457 | 1, |
2458 | TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, | 2458 | TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, |
2459 | TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, | 2459 | TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, |
2460 | SSL_kSRP, | 2460 | SSL_kSRP, |
2461 | SSL_aDSS, | 2461 | SSL_aDSS, |
2462 | SSL_3DES, | 2462 | SSL_3DES, |
2463 | SSL_SHA1, | 2463 | SSL_SHA1, |
2464 | SSL_TLSV1, | 2464 | SSL_TLSV1, |
2465 | SSL_NOT_EXP|SSL_HIGH, | 2465 | SSL_NOT_EXP|SSL_HIGH, |
2466 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2466 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2467 | 168, | 2467 | 168, |
2468 | 168, | 2468 | 168, |
2469 | }, | 2469 | }, |
2470 | 2470 | ||
2471 | /* Cipher C01D */ | 2471 | /* Cipher C01D */ |
2472 | { | 2472 | { |
2473 | 1, | 2473 | 1, |
2474 | TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA, | 2474 | TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA, |
2475 | TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA, | 2475 | TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA, |
2476 | SSL_kSRP, | 2476 | SSL_kSRP, |
2477 | SSL_aNULL, | 2477 | SSL_aNULL, |
2478 | SSL_AES128, | 2478 | SSL_AES128, |
2479 | SSL_SHA1, | 2479 | SSL_SHA1, |
2480 | SSL_TLSV1, | 2480 | SSL_TLSV1, |
2481 | SSL_NOT_EXP|SSL_HIGH, | 2481 | SSL_NOT_EXP|SSL_HIGH, |
2482 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2482 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2483 | 128, | 2483 | 128, |
2484 | 128, | 2484 | 128, |
2485 | }, | 2485 | }, |
2486 | 2486 | ||
2487 | /* Cipher C01E */ | 2487 | /* Cipher C01E */ |
2488 | { | 2488 | { |
2489 | 1, | 2489 | 1, |
2490 | TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, | 2490 | TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, |
2491 | TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, | 2491 | TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, |
2492 | SSL_kSRP, | 2492 | SSL_kSRP, |
2493 | SSL_aRSA, | 2493 | SSL_aRSA, |
2494 | SSL_AES128, | 2494 | SSL_AES128, |
2495 | SSL_SHA1, | 2495 | SSL_SHA1, |
2496 | SSL_TLSV1, | 2496 | SSL_TLSV1, |
2497 | SSL_NOT_EXP|SSL_HIGH, | 2497 | SSL_NOT_EXP|SSL_HIGH, |
2498 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2498 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2499 | 128, | 2499 | 128, |
2500 | 128, | 2500 | 128, |
2501 | }, | 2501 | }, |
2502 | 2502 | ||
2503 | /* Cipher C01F */ | 2503 | /* Cipher C01F */ |
2504 | { | 2504 | { |
2505 | 1, | 2505 | 1, |
2506 | TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, | 2506 | TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, |
2507 | TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, | 2507 | TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, |
2508 | SSL_kSRP, | 2508 | SSL_kSRP, |
2509 | SSL_aDSS, | 2509 | SSL_aDSS, |
2510 | SSL_AES128, | 2510 | SSL_AES128, |
2511 | SSL_SHA1, | 2511 | SSL_SHA1, |
2512 | SSL_TLSV1, | 2512 | SSL_TLSV1, |
2513 | SSL_NOT_EXP|SSL_HIGH, | 2513 | SSL_NOT_EXP|SSL_HIGH, |
2514 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2514 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2515 | 128, | 2515 | 128, |
2516 | 128, | 2516 | 128, |
2517 | }, | 2517 | }, |
2518 | 2518 | ||
2519 | /* Cipher C020 */ | 2519 | /* Cipher C020 */ |
2520 | { | 2520 | { |
2521 | 1, | 2521 | 1, |
2522 | TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA, | 2522 | TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA, |
2523 | TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA, | 2523 | TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA, |
2524 | SSL_kSRP, | 2524 | SSL_kSRP, |
2525 | SSL_aNULL, | 2525 | SSL_aNULL, |
2526 | SSL_AES256, | 2526 | SSL_AES256, |
2527 | SSL_SHA1, | 2527 | SSL_SHA1, |
2528 | SSL_TLSV1, | 2528 | SSL_TLSV1, |
2529 | SSL_NOT_EXP|SSL_HIGH, | 2529 | SSL_NOT_EXP|SSL_HIGH, |
2530 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2530 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2531 | 256, | 2531 | 256, |
2532 | 256, | 2532 | 256, |
2533 | }, | 2533 | }, |
2534 | 2534 | ||
2535 | /* Cipher C021 */ | 2535 | /* Cipher C021 */ |
2536 | { | 2536 | { |
2537 | 1, | 2537 | 1, |
2538 | TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, | 2538 | TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, |
2539 | TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, | 2539 | TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, |
2540 | SSL_kSRP, | 2540 | SSL_kSRP, |
2541 | SSL_aRSA, | 2541 | SSL_aRSA, |
2542 | SSL_AES256, | 2542 | SSL_AES256, |
2543 | SSL_SHA1, | 2543 | SSL_SHA1, |
2544 | SSL_TLSV1, | 2544 | SSL_TLSV1, |
2545 | SSL_NOT_EXP|SSL_HIGH, | 2545 | SSL_NOT_EXP|SSL_HIGH, |
2546 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2546 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2547 | 256, | 2547 | 256, |
2548 | 256, | 2548 | 256, |
2549 | }, | 2549 | }, |
2550 | 2550 | ||
2551 | /* Cipher C022 */ | 2551 | /* Cipher C022 */ |
2552 | { | 2552 | { |
2553 | 1, | 2553 | 1, |
2554 | TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, | 2554 | TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, |
2555 | TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, | 2555 | TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, |
2556 | SSL_kSRP, | 2556 | SSL_kSRP, |
2557 | SSL_aDSS, | 2557 | SSL_aDSS, |
2558 | SSL_AES256, | 2558 | SSL_AES256, |
2559 | SSL_SHA1, | 2559 | SSL_SHA1, |
2560 | SSL_TLSV1, | 2560 | SSL_TLSV1, |
2561 | SSL_NOT_EXP|SSL_HIGH, | 2561 | SSL_NOT_EXP|SSL_HIGH, |
2562 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2562 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2563 | 256, | 2563 | 256, |
2564 | 256, | 2564 | 256, |
2565 | }, | 2565 | }, |
2566 | #endif /* OPENSSL_NO_SRP */ | 2566 | #endif /* OPENSSL_NO_SRP */ |
2567 | #ifndef OPENSSL_NO_ECDH | 2567 | #ifndef OPENSSL_NO_ECDH |
@@ -2570,260 +2570,260 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
2570 | 2570 | ||
2571 | /* Cipher C023 */ | 2571 | /* Cipher C023 */ |
2572 | { | 2572 | { |
2573 | 1, | 2573 | 1, |
2574 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256, | 2574 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256, |
2575 | TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256, | 2575 | TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256, |
2576 | SSL_kEECDH, | 2576 | SSL_kEECDH, |
2577 | SSL_aECDSA, | 2577 | SSL_aECDSA, |
2578 | SSL_AES128, | 2578 | SSL_AES128, |
2579 | SSL_SHA256, | 2579 | SSL_SHA256, |
2580 | SSL_TLSV1_2, | 2580 | SSL_TLSV1_2, |
2581 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2581 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2582 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2582 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2583 | 128, | 2583 | 128, |
2584 | 128, | 2584 | 128, |
2585 | }, | 2585 | }, |
2586 | 2586 | ||
2587 | /* Cipher C024 */ | 2587 | /* Cipher C024 */ |
2588 | { | 2588 | { |
2589 | 1, | 2589 | 1, |
2590 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384, | 2590 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384, |
2591 | TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384, | 2591 | TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384, |
2592 | SSL_kEECDH, | 2592 | SSL_kEECDH, |
2593 | SSL_aECDSA, | 2593 | SSL_aECDSA, |
2594 | SSL_AES256, | 2594 | SSL_AES256, |
2595 | SSL_SHA384, | 2595 | SSL_SHA384, |
2596 | SSL_TLSV1_2, | 2596 | SSL_TLSV1_2, |
2597 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2597 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2598 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2598 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2599 | 256, | 2599 | 256, |
2600 | 256, | 2600 | 256, |
2601 | }, | 2601 | }, |
2602 | 2602 | ||
2603 | /* Cipher C025 */ | 2603 | /* Cipher C025 */ |
2604 | { | 2604 | { |
2605 | 1, | 2605 | 1, |
2606 | TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256, | 2606 | TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256, |
2607 | TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256, | 2607 | TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256, |
2608 | SSL_kECDHe, | 2608 | SSL_kECDHe, |
2609 | SSL_aECDH, | 2609 | SSL_aECDH, |
2610 | SSL_AES128, | 2610 | SSL_AES128, |
2611 | SSL_SHA256, | 2611 | SSL_SHA256, |
2612 | SSL_TLSV1_2, | 2612 | SSL_TLSV1_2, |
2613 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2613 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2614 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2614 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2615 | 128, | 2615 | 128, |
2616 | 128, | 2616 | 128, |
2617 | }, | 2617 | }, |
2618 | 2618 | ||
2619 | /* Cipher C026 */ | 2619 | /* Cipher C026 */ |
2620 | { | 2620 | { |
2621 | 1, | 2621 | 1, |
2622 | TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384, | 2622 | TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384, |
2623 | TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384, | 2623 | TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384, |
2624 | SSL_kECDHe, | 2624 | SSL_kECDHe, |
2625 | SSL_aECDH, | 2625 | SSL_aECDH, |
2626 | SSL_AES256, | 2626 | SSL_AES256, |
2627 | SSL_SHA384, | 2627 | SSL_SHA384, |
2628 | SSL_TLSV1_2, | 2628 | SSL_TLSV1_2, |
2629 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2629 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2630 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2630 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2631 | 256, | 2631 | 256, |
2632 | 256, | 2632 | 256, |
2633 | }, | 2633 | }, |
2634 | 2634 | ||
2635 | /* Cipher C027 */ | 2635 | /* Cipher C027 */ |
2636 | { | 2636 | { |
2637 | 1, | 2637 | 1, |
2638 | TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256, | 2638 | TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256, |
2639 | TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256, | 2639 | TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256, |
2640 | SSL_kEECDH, | 2640 | SSL_kEECDH, |
2641 | SSL_aRSA, | 2641 | SSL_aRSA, |
2642 | SSL_AES128, | 2642 | SSL_AES128, |
2643 | SSL_SHA256, | 2643 | SSL_SHA256, |
2644 | SSL_TLSV1_2, | 2644 | SSL_TLSV1_2, |
2645 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2645 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2646 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2646 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2647 | 128, | 2647 | 128, |
2648 | 128, | 2648 | 128, |
2649 | }, | 2649 | }, |
2650 | 2650 | ||
2651 | /* Cipher C028 */ | 2651 | /* Cipher C028 */ |
2652 | { | 2652 | { |
2653 | 1, | 2653 | 1, |
2654 | TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384, | 2654 | TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384, |
2655 | TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384, | 2655 | TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384, |
2656 | SSL_kEECDH, | 2656 | SSL_kEECDH, |
2657 | SSL_aRSA, | 2657 | SSL_aRSA, |
2658 | SSL_AES256, | 2658 | SSL_AES256, |
2659 | SSL_SHA384, | 2659 | SSL_SHA384, |
2660 | SSL_TLSV1_2, | 2660 | SSL_TLSV1_2, |
2661 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2661 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2662 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2662 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2663 | 256, | 2663 | 256, |
2664 | 256, | 2664 | 256, |
2665 | }, | 2665 | }, |
2666 | 2666 | ||
2667 | /* Cipher C029 */ | 2667 | /* Cipher C029 */ |
2668 | { | 2668 | { |
2669 | 1, | 2669 | 1, |
2670 | TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256, | 2670 | TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256, |
2671 | TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256, | 2671 | TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256, |
2672 | SSL_kECDHr, | 2672 | SSL_kECDHr, |
2673 | SSL_aECDH, | 2673 | SSL_aECDH, |
2674 | SSL_AES128, | 2674 | SSL_AES128, |
2675 | SSL_SHA256, | 2675 | SSL_SHA256, |
2676 | SSL_TLSV1_2, | 2676 | SSL_TLSV1_2, |
2677 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2677 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2678 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2678 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2679 | 128, | 2679 | 128, |
2680 | 128, | 2680 | 128, |
2681 | }, | 2681 | }, |
2682 | 2682 | ||
2683 | /* Cipher C02A */ | 2683 | /* Cipher C02A */ |
2684 | { | 2684 | { |
2685 | 1, | 2685 | 1, |
2686 | TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384, | 2686 | TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384, |
2687 | TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384, | 2687 | TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384, |
2688 | SSL_kECDHr, | 2688 | SSL_kECDHr, |
2689 | SSL_aECDH, | 2689 | SSL_aECDH, |
2690 | SSL_AES256, | 2690 | SSL_AES256, |
2691 | SSL_SHA384, | 2691 | SSL_SHA384, |
2692 | SSL_TLSV1_2, | 2692 | SSL_TLSV1_2, |
2693 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2693 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2694 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2694 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2695 | 256, | 2695 | 256, |
2696 | 256, | 2696 | 256, |
2697 | }, | 2697 | }, |
2698 | 2698 | ||
2699 | /* GCM based TLS v1.2 ciphersuites from RFC5289 */ | 2699 | /* GCM based TLS v1.2 ciphersuites from RFC5289 */ |
2700 | 2700 | ||
2701 | /* Cipher C02B */ | 2701 | /* Cipher C02B */ |
2702 | { | 2702 | { |
2703 | 1, | 2703 | 1, |
2704 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, | 2704 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, |
2705 | TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, | 2705 | TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, |
2706 | SSL_kEECDH, | 2706 | SSL_kEECDH, |
2707 | SSL_aECDSA, | 2707 | SSL_aECDSA, |
2708 | SSL_AES128GCM, | 2708 | SSL_AES128GCM, |
2709 | SSL_AEAD, | 2709 | SSL_AEAD, |
2710 | SSL_TLSV1_2, | 2710 | SSL_TLSV1_2, |
2711 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2711 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2712 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2712 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2713 | 128, | 2713 | 128, |
2714 | 128, | 2714 | 128, |
2715 | }, | 2715 | }, |
2716 | 2716 | ||
2717 | /* Cipher C02C */ | 2717 | /* Cipher C02C */ |
2718 | { | 2718 | { |
2719 | 1, | 2719 | 1, |
2720 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, | 2720 | TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, |
2721 | TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, | 2721 | TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, |
2722 | SSL_kEECDH, | 2722 | SSL_kEECDH, |
2723 | SSL_aECDSA, | 2723 | SSL_aECDSA, |
2724 | SSL_AES256GCM, | 2724 | SSL_AES256GCM, |
2725 | SSL_AEAD, | 2725 | SSL_AEAD, |
2726 | SSL_TLSV1_2, | 2726 | SSL_TLSV1_2, |
2727 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2727 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2728 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2728 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2729 | 256, | 2729 | 256, |
2730 | 256, | 2730 | 256, |
2731 | }, | 2731 | }, |
2732 | 2732 | ||
2733 | /* Cipher C02D */ | 2733 | /* Cipher C02D */ |
2734 | { | 2734 | { |
2735 | 1, | 2735 | 1, |
2736 | TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, | 2736 | TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, |
2737 | TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, | 2737 | TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, |
2738 | SSL_kECDHe, | 2738 | SSL_kECDHe, |
2739 | SSL_aECDH, | 2739 | SSL_aECDH, |
2740 | SSL_AES128GCM, | 2740 | SSL_AES128GCM, |
2741 | SSL_AEAD, | 2741 | SSL_AEAD, |
2742 | SSL_TLSV1_2, | 2742 | SSL_TLSV1_2, |
2743 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2743 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2744 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2744 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2745 | 128, | 2745 | 128, |
2746 | 128, | 2746 | 128, |
2747 | }, | 2747 | }, |
2748 | 2748 | ||
2749 | /* Cipher C02E */ | 2749 | /* Cipher C02E */ |
2750 | { | 2750 | { |
2751 | 1, | 2751 | 1, |
2752 | TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, | 2752 | TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, |
2753 | TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, | 2753 | TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, |
2754 | SSL_kECDHe, | 2754 | SSL_kECDHe, |
2755 | SSL_aECDH, | 2755 | SSL_aECDH, |
2756 | SSL_AES256GCM, | 2756 | SSL_AES256GCM, |
2757 | SSL_AEAD, | 2757 | SSL_AEAD, |
2758 | SSL_TLSV1_2, | 2758 | SSL_TLSV1_2, |
2759 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2759 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2760 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2760 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2761 | 256, | 2761 | 256, |
2762 | 256, | 2762 | 256, |
2763 | }, | 2763 | }, |
2764 | 2764 | ||
2765 | /* Cipher C02F */ | 2765 | /* Cipher C02F */ |
2766 | { | 2766 | { |
2767 | 1, | 2767 | 1, |
2768 | TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256, | 2768 | TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256, |
2769 | TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256, | 2769 | TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256, |
2770 | SSL_kEECDH, | 2770 | SSL_kEECDH, |
2771 | SSL_aRSA, | 2771 | SSL_aRSA, |
2772 | SSL_AES128GCM, | 2772 | SSL_AES128GCM, |
2773 | SSL_AEAD, | 2773 | SSL_AEAD, |
2774 | SSL_TLSV1_2, | 2774 | SSL_TLSV1_2, |
2775 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2775 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2776 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2776 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2777 | 128, | 2777 | 128, |
2778 | 128, | 2778 | 128, |
2779 | }, | 2779 | }, |
2780 | 2780 | ||
2781 | /* Cipher C030 */ | 2781 | /* Cipher C030 */ |
2782 | { | 2782 | { |
2783 | 1, | 2783 | 1, |
2784 | TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384, | 2784 | TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384, |
2785 | TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384, | 2785 | TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384, |
2786 | SSL_kEECDH, | 2786 | SSL_kEECDH, |
2787 | SSL_aRSA, | 2787 | SSL_aRSA, |
2788 | SSL_AES256GCM, | 2788 | SSL_AES256GCM, |
2789 | SSL_AEAD, | 2789 | SSL_AEAD, |
2790 | SSL_TLSV1_2, | 2790 | SSL_TLSV1_2, |
2791 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2791 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2792 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2792 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2793 | 256, | 2793 | 256, |
2794 | 256, | 2794 | 256, |
2795 | }, | 2795 | }, |
2796 | 2796 | ||
2797 | /* Cipher C031 */ | 2797 | /* Cipher C031 */ |
2798 | { | 2798 | { |
2799 | 1, | 2799 | 1, |
2800 | TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256, | 2800 | TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256, |
2801 | TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256, | 2801 | TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256, |
2802 | SSL_kECDHr, | 2802 | SSL_kECDHr, |
2803 | SSL_aECDH, | 2803 | SSL_aECDH, |
2804 | SSL_AES128GCM, | 2804 | SSL_AES128GCM, |
2805 | SSL_AEAD, | 2805 | SSL_AEAD, |
2806 | SSL_TLSV1_2, | 2806 | SSL_TLSV1_2, |
2807 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2807 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2808 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, | 2808 | SSL_HANDSHAKE_MAC_SHA256|TLS1_PRF_SHA256, |
2809 | 128, | 2809 | 128, |
2810 | 128, | 2810 | 128, |
2811 | }, | 2811 | }, |
2812 | 2812 | ||
2813 | /* Cipher C032 */ | 2813 | /* Cipher C032 */ |
2814 | { | 2814 | { |
2815 | 1, | 2815 | 1, |
2816 | TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384, | 2816 | TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384, |
2817 | TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384, | 2817 | TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384, |
2818 | SSL_kECDHr, | 2818 | SSL_kECDHr, |
2819 | SSL_aECDH, | 2819 | SSL_aECDH, |
2820 | SSL_AES256GCM, | 2820 | SSL_AES256GCM, |
2821 | SSL_AEAD, | 2821 | SSL_AEAD, |
2822 | SSL_TLSV1_2, | 2822 | SSL_TLSV1_2, |
2823 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, | 2823 | SSL_NOT_EXP|SSL_HIGH|SSL_FIPS, |
2824 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, | 2824 | SSL_HANDSHAKE_MAC_SHA384|TLS1_PRF_SHA384, |
2825 | 256, | 2825 | 256, |
2826 | 256, | 2826 | 256, |
2827 | }, | 2827 | }, |
2828 | 2828 | ||
2829 | #endif /* OPENSSL_NO_ECDH */ | 2829 | #endif /* OPENSSL_NO_ECDH */ |
@@ -2832,135 +2832,141 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
2832 | #ifdef TEMP_GOST_TLS | 2832 | #ifdef TEMP_GOST_TLS |
2833 | /* Cipher FF00 */ | 2833 | /* Cipher FF00 */ |
2834 | { | 2834 | { |
2835 | 1, | 2835 | 1, |
2836 | "GOST-MD5", | 2836 | "GOST-MD5", |
2837 | 0x0300ff00, | 2837 | 0x0300ff00, |
2838 | SSL_kRSA, | 2838 | SSL_kRSA, |
2839 | SSL_aRSA, | 2839 | SSL_aRSA, |
2840 | SSL_eGOST2814789CNT, | 2840 | SSL_eGOST2814789CNT, |
2841 | SSL_MD5, | 2841 | SSL_MD5, |
2842 | SSL_TLSV1, | 2842 | SSL_TLSV1, |
2843 | SSL_NOT_EXP|SSL_HIGH, | 2843 | SSL_NOT_EXP|SSL_HIGH, |
2844 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2844 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2845 | 256, | 2845 | 256, |
2846 | 256, | 2846 | 256, |
2847 | }, | 2847 | }, |
2848 | { | 2848 | { |
2849 | 1, | 2849 | 1, |
2850 | "GOST-GOST94", | 2850 | "GOST-GOST94", |
2851 | 0x0300ff01, | 2851 | 0x0300ff01, |
2852 | SSL_kRSA, | 2852 | SSL_kRSA, |
2853 | SSL_aRSA, | 2853 | SSL_aRSA, |
2854 | SSL_eGOST2814789CNT, | 2854 | SSL_eGOST2814789CNT, |
2855 | SSL_GOST94, | 2855 | SSL_GOST94, |
2856 | SSL_TLSV1, | 2856 | SSL_TLSV1, |
2857 | SSL_NOT_EXP|SSL_HIGH, | 2857 | SSL_NOT_EXP|SSL_HIGH, |
2858 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2858 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2859 | 256, | 2859 | 256, |
2860 | 256 | 2860 | 256 |
2861 | }, | 2861 | }, |
2862 | { | 2862 | { |
2863 | 1, | 2863 | 1, |
2864 | "GOST-GOST89MAC", | 2864 | "GOST-GOST89MAC", |
2865 | 0x0300ff02, | 2865 | 0x0300ff02, |
2866 | SSL_kRSA, | 2866 | SSL_kRSA, |
2867 | SSL_aRSA, | 2867 | SSL_aRSA, |
2868 | SSL_eGOST2814789CNT, | 2868 | SSL_eGOST2814789CNT, |
2869 | SSL_GOST89MAC, | 2869 | SSL_GOST89MAC, |
2870 | SSL_TLSV1, | 2870 | SSL_TLSV1, |
2871 | SSL_NOT_EXP|SSL_HIGH, | 2871 | SSL_NOT_EXP|SSL_HIGH, |
2872 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, | 2872 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF, |
2873 | 256, | 2873 | 256, |
2874 | 256 | 2874 | 256 |
2875 | }, | 2875 | }, |
2876 | { | 2876 | { |
2877 | 1, | 2877 | 1, |
2878 | "GOST-GOST89STREAM", | 2878 | "GOST-GOST89STREAM", |
2879 | 0x0300ff03, | 2879 | 0x0300ff03, |
2880 | SSL_kRSA, | 2880 | SSL_kRSA, |
2881 | SSL_aRSA, | 2881 | SSL_aRSA, |
2882 | SSL_eGOST2814789CNT, | 2882 | SSL_eGOST2814789CNT, |
2883 | SSL_GOST89MAC, | 2883 | SSL_GOST89MAC, |
2884 | SSL_TLSV1, | 2884 | SSL_TLSV1, |
2885 | SSL_NOT_EXP|SSL_HIGH, | 2885 | SSL_NOT_EXP|SSL_HIGH, |
2886 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF|TLS1_STREAM_MAC, | 2886 | SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF|TLS1_STREAM_MAC, |
2887 | 256, | 2887 | 256, |
2888 | 256 | 2888 | 256 |
2889 | }, | 2889 | }, |
2890 | #endif | 2890 | #endif |
2891 | 2891 | ||
2892 | /* end of list */ | 2892 | /* end of list */ |
2893 | }; | 2893 | }; |
2894 | 2894 | ||
2895 | SSL3_ENC_METHOD SSLv3_enc_data={ | 2895 | SSL3_ENC_METHOD SSLv3_enc_data = { |
2896 | ssl3_enc, | 2896 | ssl3_enc, |
2897 | n_ssl3_mac, | 2897 | n_ssl3_mac, |
2898 | ssl3_setup_key_block, | 2898 | ssl3_setup_key_block, |
2899 | ssl3_generate_master_secret, | 2899 | ssl3_generate_master_secret, |
2900 | ssl3_change_cipher_state, | 2900 | ssl3_change_cipher_state, |
2901 | ssl3_final_finish_mac, | 2901 | ssl3_final_finish_mac, |
2902 | MD5_DIGEST_LENGTH+SHA_DIGEST_LENGTH, | 2902 | MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH, |
2903 | ssl3_cert_verify_mac, | 2903 | ssl3_cert_verify_mac, |
2904 | SSL3_MD_CLIENT_FINISHED_CONST,4, | 2904 | SSL3_MD_CLIENT_FINISHED_CONST, 4, |
2905 | SSL3_MD_SERVER_FINISHED_CONST,4, | 2905 | SSL3_MD_SERVER_FINISHED_CONST, 4, |
2906 | ssl3_alert_code, | 2906 | ssl3_alert_code, |
2907 | (int (*)(SSL *, unsigned char *, size_t, const char *, | 2907 | (int (*)(SSL *, unsigned char *, size_t, const char *, |
2908 | size_t, const unsigned char *, size_t, | 2908 | size_t, const unsigned char *, size_t, |
2909 | int use_context))ssl_undefined_function, | 2909 | int use_context))ssl_undefined_function, |
2910 | }; | 2910 | }; |
2911 | 2911 | ||
2912 | long ssl3_default_timeout(void) | 2912 | long |
2913 | { | 2913 | ssl3_default_timeout(void) |
2914 | { | ||
2914 | /* 2 hours, the 24 hours mentioned in the SSLv3 spec | 2915 | /* 2 hours, the 24 hours mentioned in the SSLv3 spec |
2915 | * is way too long for http, the cache would over fill */ | 2916 | * is way too long for http, the cache would over fill */ |
2916 | return(60*60*2); | 2917 | return (60*60*2); |
2917 | } | 2918 | } |
2918 | 2919 | ||
2919 | int ssl3_num_ciphers(void) | 2920 | int |
2920 | { | 2921 | ssl3_num_ciphers(void) |
2921 | return(SSL3_NUM_CIPHERS); | 2922 | { |
2922 | } | 2923 | return (SSL3_NUM_CIPHERS); |
2923 | 2924 | } | |
2924 | const SSL_CIPHER *ssl3_get_cipher(unsigned int u) | 2925 | |
2925 | { | 2926 | const SSL_CIPHER |
2927 | *ssl3_get_cipher(unsigned int u) | ||
2928 | { | ||
2926 | if (u < SSL3_NUM_CIPHERS) | 2929 | if (u < SSL3_NUM_CIPHERS) |
2927 | return(&(ssl3_ciphers[SSL3_NUM_CIPHERS-1-u])); | 2930 | return (&(ssl3_ciphers[SSL3_NUM_CIPHERS - 1 - u])); |
2928 | else | 2931 | else |
2929 | return(NULL); | 2932 | return (NULL); |
2930 | } | 2933 | } |
2931 | 2934 | ||
2932 | int ssl3_pending(const SSL *s) | 2935 | int |
2933 | { | 2936 | ssl3_pending(const SSL *s) |
2937 | { | ||
2934 | if (s->rstate == SSL_ST_READ_BODY) | 2938 | if (s->rstate == SSL_ST_READ_BODY) |
2935 | return 0; | 2939 | return 0; |
2936 | 2940 | ||
2937 | return (s->s3->rrec.type == SSL3_RT_APPLICATION_DATA) ? s->s3->rrec.length : 0; | 2941 | return (s->s3->rrec.type == SSL3_RT_APPLICATION_DATA) ? s->s3->rrec.length : 0; |
2938 | } | 2942 | } |
2939 | 2943 | ||
2940 | int ssl3_new(SSL *s) | 2944 | int |
2941 | { | 2945 | ssl3_new(SSL *s) |
2946 | { | ||
2942 | SSL3_STATE *s3; | 2947 | SSL3_STATE *s3; |
2943 | 2948 | ||
2944 | if ((s3=OPENSSL_malloc(sizeof *s3)) == NULL) goto err; | 2949 | if ((s3 = OPENSSL_malloc(sizeof *s3)) == NULL) goto err; |
2945 | memset(s3,0,sizeof *s3); | 2950 | memset(s3, 0, sizeof *s3); |
2946 | memset(s3->rrec.seq_num,0,sizeof(s3->rrec.seq_num)); | 2951 | memset(s3->rrec.seq_num, 0, sizeof(s3->rrec.seq_num)); |
2947 | memset(s3->wrec.seq_num,0,sizeof(s3->wrec.seq_num)); | 2952 | memset(s3->wrec.seq_num, 0, sizeof(s3->wrec.seq_num)); |
2948 | 2953 | ||
2949 | s->s3=s3; | 2954 | s->s3 = s3; |
2950 | 2955 | ||
2951 | #ifndef OPENSSL_NO_SRP | 2956 | #ifndef OPENSSL_NO_SRP |
2952 | SSL_SRP_CTX_init(s); | 2957 | SSL_SRP_CTX_init(s); |
2953 | #endif | 2958 | #endif |
2954 | s->method->ssl_clear(s); | 2959 | s->method->ssl_clear(s); |
2955 | return(1); | 2960 | return (1); |
2956 | err: | 2961 | err: |
2957 | return(0); | 2962 | return (0); |
2958 | } | 2963 | } |
2959 | 2964 | ||
2960 | void ssl3_free(SSL *s) | 2965 | void |
2961 | { | 2966 | ssl3_free(SSL *s) |
2962 | if(s == NULL) | 2967 | { |
2963 | return; | 2968 | if (s == NULL) |
2969 | return; | ||
2964 | 2970 | ||
2965 | #ifdef TLSEXT_TYPE_opaque_prf_input | 2971 | #ifdef TLSEXT_TYPE_opaque_prf_input |
2966 | if (s->s3->client_opaque_prf_input != NULL) | 2972 | if (s->s3->client_opaque_prf_input != NULL) |
@@ -2986,22 +2992,24 @@ void ssl3_free(SSL *s) | |||
2986 | #endif | 2992 | #endif |
2987 | 2993 | ||
2988 | if (s->s3->tmp.ca_names != NULL) | 2994 | if (s->s3->tmp.ca_names != NULL) |
2989 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free); | 2995 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free); |
2990 | if (s->s3->handshake_buffer) { | 2996 | if (s->s3->handshake_buffer) { |
2991 | BIO_free(s->s3->handshake_buffer); | 2997 | BIO_free(s->s3->handshake_buffer); |
2992 | } | 2998 | } |
2993 | if (s->s3->handshake_dgst) ssl3_free_digest_list(s); | 2999 | if (s->s3->handshake_dgst) |
3000 | ssl3_free_digest_list(s); | ||
2994 | #ifndef OPENSSL_NO_SRP | 3001 | #ifndef OPENSSL_NO_SRP |
2995 | SSL_SRP_CTX_free(s); | 3002 | SSL_SRP_CTX_free(s); |
2996 | #endif | 3003 | #endif |
2997 | OPENSSL_cleanse(s->s3,sizeof *s->s3); | 3004 | OPENSSL_cleanse(s->s3, sizeof *s->s3); |
2998 | OPENSSL_free(s->s3); | 3005 | OPENSSL_free(s->s3); |
2999 | s->s3=NULL; | 3006 | s->s3 = NULL; |
3000 | } | 3007 | } |
3001 | 3008 | ||
3002 | void ssl3_clear(SSL *s) | 3009 | void |
3003 | { | 3010 | ssl3_clear(SSL *s) |
3004 | unsigned char *rp,*wp; | 3011 | { |
3012 | unsigned char *rp, *wp; | ||
3005 | size_t rlen, wlen; | 3013 | size_t rlen, wlen; |
3006 | int init_extra; | 3014 | int init_extra; |
3007 | 3015 | ||
@@ -3016,26 +3024,23 @@ void ssl3_clear(SSL *s) | |||
3016 | 3024 | ||
3017 | ssl3_cleanup_key_block(s); | 3025 | ssl3_cleanup_key_block(s); |
3018 | if (s->s3->tmp.ca_names != NULL) | 3026 | if (s->s3->tmp.ca_names != NULL) |
3019 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free); | 3027 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free); |
3020 | 3028 | ||
3021 | if (s->s3->rrec.comp != NULL) | 3029 | if (s->s3->rrec.comp != NULL) { |
3022 | { | ||
3023 | OPENSSL_free(s->s3->rrec.comp); | 3030 | OPENSSL_free(s->s3->rrec.comp); |
3024 | s->s3->rrec.comp=NULL; | 3031 | s->s3->rrec.comp = NULL; |
3025 | } | 3032 | } |
3026 | #ifndef OPENSSL_NO_DH | 3033 | #ifndef OPENSSL_NO_DH |
3027 | if (s->s3->tmp.dh != NULL) | 3034 | if (s->s3->tmp.dh != NULL) { |
3028 | { | ||
3029 | DH_free(s->s3->tmp.dh); | 3035 | DH_free(s->s3->tmp.dh); |
3030 | s->s3->tmp.dh = NULL; | 3036 | s->s3->tmp.dh = NULL; |
3031 | } | 3037 | } |
3032 | #endif | 3038 | #endif |
3033 | #ifndef OPENSSL_NO_ECDH | 3039 | #ifndef OPENSSL_NO_ECDH |
3034 | if (s->s3->tmp.ecdh != NULL) | 3040 | if (s->s3->tmp.ecdh != NULL) { |
3035 | { | ||
3036 | EC_KEY_free(s->s3->tmp.ecdh); | 3041 | EC_KEY_free(s->s3->tmp.ecdh); |
3037 | s->s3->tmp.ecdh = NULL; | 3042 | s->s3->tmp.ecdh = NULL; |
3038 | } | 3043 | } |
3039 | #endif | 3044 | #endif |
3040 | #ifndef OPENSSL_NO_TLSEXT | 3045 | #ifndef OPENSSL_NO_TLSEXT |
3041 | #ifndef OPENSSL_NO_EC | 3046 | #ifndef OPENSSL_NO_EC |
@@ -3046,7 +3051,7 @@ void ssl3_clear(SSL *s) | |||
3046 | rp = s->s3->rbuf.buf; | 3051 | rp = s->s3->rbuf.buf; |
3047 | wp = s->s3->wbuf.buf; | 3052 | wp = s->s3->wbuf.buf; |
3048 | rlen = s->s3->rbuf.len; | 3053 | rlen = s->s3->rbuf.len; |
3049 | wlen = s->s3->wbuf.len; | 3054 | wlen = s->s3->wbuf.len; |
3050 | init_extra = s->s3->init_extra; | 3055 | init_extra = s->s3->init_extra; |
3051 | if (s->s3->handshake_buffer) { | 3056 | if (s->s3->handshake_buffer) { |
3052 | BIO_free(s->s3->handshake_buffer); | 3057 | BIO_free(s->s3->handshake_buffer); |
@@ -3054,104 +3059,100 @@ void ssl3_clear(SSL *s) | |||
3054 | } | 3059 | } |
3055 | if (s->s3->handshake_dgst) { | 3060 | if (s->s3->handshake_dgst) { |
3056 | ssl3_free_digest_list(s); | 3061 | ssl3_free_digest_list(s); |
3057 | } | 3062 | } |
3058 | memset(s->s3,0,sizeof *s->s3); | 3063 | memset(s->s3, 0, sizeof *s->s3); |
3059 | s->s3->rbuf.buf = rp; | 3064 | s->s3->rbuf.buf = rp; |
3060 | s->s3->wbuf.buf = wp; | 3065 | s->s3->wbuf.buf = wp; |
3061 | s->s3->rbuf.len = rlen; | 3066 | s->s3->rbuf.len = rlen; |
3062 | s->s3->wbuf.len = wlen; | 3067 | s->s3->wbuf.len = wlen; |
3063 | s->s3->init_extra = init_extra; | 3068 | s->s3->init_extra = init_extra; |
3064 | 3069 | ||
3065 | ssl_free_wbio_buffer(s); | 3070 | ssl_free_wbio_buffer(s); |
3066 | 3071 | ||
3067 | s->packet_length=0; | 3072 | s->packet_length = 0; |
3068 | s->s3->renegotiate=0; | 3073 | s->s3->renegotiate = 0; |
3069 | s->s3->total_renegotiations=0; | 3074 | s->s3->total_renegotiations = 0; |
3070 | s->s3->num_renegotiations=0; | 3075 | s->s3->num_renegotiations = 0; |
3071 | s->s3->in_read_app_data=0; | 3076 | s->s3->in_read_app_data = 0; |
3072 | s->version=SSL3_VERSION; | 3077 | s->version = SSL3_VERSION; |
3073 | 3078 | ||
3074 | #if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG) | 3079 | #if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG) |
3075 | if (s->next_proto_negotiated) | 3080 | if (s->next_proto_negotiated) { |
3076 | { | ||
3077 | OPENSSL_free(s->next_proto_negotiated); | 3081 | OPENSSL_free(s->next_proto_negotiated); |
3078 | s->next_proto_negotiated = NULL; | 3082 | s->next_proto_negotiated = NULL; |
3079 | s->next_proto_negotiated_len = 0; | 3083 | s->next_proto_negotiated_len = 0; |
3080 | } | ||
3081 | #endif | ||
3082 | } | 3084 | } |
3085 | #endif | ||
3086 | } | ||
3083 | 3087 | ||
3084 | #ifndef OPENSSL_NO_SRP | 3088 | #ifndef OPENSSL_NO_SRP |
3085 | static char * srp_password_from_info_cb(SSL *s, void *arg) | 3089 | static char * |
3086 | { | 3090 | srp_password_from_info_cb(SSL *s, void *arg) |
3087 | return BUF_strdup(s->srp_ctx.info) ; | 3091 | { |
3088 | } | 3092 | return BUF_strdup(s->srp_ctx.info); |
3093 | } | ||
3089 | #endif | 3094 | #endif |
3090 | 3095 | ||
3091 | long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | 3096 | long |
3092 | { | 3097 | ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) |
3093 | int ret=0; | 3098 | { |
3099 | int ret = 0; | ||
3094 | 3100 | ||
3095 | #if !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_RSA) | 3101 | #if !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_RSA) |
3096 | if ( | 3102 | if ( |
3097 | #ifndef OPENSSL_NO_RSA | 3103 | #ifndef OPENSSL_NO_RSA |
3098 | cmd == SSL_CTRL_SET_TMP_RSA || | 3104 | cmd == SSL_CTRL_SET_TMP_RSA || |
3099 | cmd == SSL_CTRL_SET_TMP_RSA_CB || | 3105 | cmd == SSL_CTRL_SET_TMP_RSA_CB || |
3100 | #endif | 3106 | #endif |
3101 | #ifndef OPENSSL_NO_DSA | 3107 | #ifndef OPENSSL_NO_DSA |
3102 | cmd == SSL_CTRL_SET_TMP_DH || | 3108 | cmd == SSL_CTRL_SET_TMP_DH || |
3103 | cmd == SSL_CTRL_SET_TMP_DH_CB || | 3109 | cmd == SSL_CTRL_SET_TMP_DH_CB || |
3104 | #endif | 3110 | #endif |
3105 | 0) | 3111 | 0) { |
3106 | { | 3112 | if (!ssl_cert_inst(&s->cert)) { |
3107 | if (!ssl_cert_inst(&s->cert)) | ||
3108 | { | ||
3109 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_MALLOC_FAILURE); | 3113 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_MALLOC_FAILURE); |
3110 | return(0); | 3114 | return (0); |
3111 | } | ||
3112 | } | 3115 | } |
3116 | } | ||
3113 | #endif | 3117 | #endif |
3114 | 3118 | ||
3115 | switch (cmd) | 3119 | switch (cmd) { |
3116 | { | ||
3117 | case SSL_CTRL_GET_SESSION_REUSED: | 3120 | case SSL_CTRL_GET_SESSION_REUSED: |
3118 | ret=s->hit; | 3121 | ret = s->hit; |
3119 | break; | 3122 | break; |
3120 | case SSL_CTRL_GET_CLIENT_CERT_REQUEST: | 3123 | case SSL_CTRL_GET_CLIENT_CERT_REQUEST: |
3121 | break; | 3124 | break; |
3122 | case SSL_CTRL_GET_NUM_RENEGOTIATIONS: | 3125 | case SSL_CTRL_GET_NUM_RENEGOTIATIONS: |
3123 | ret=s->s3->num_renegotiations; | 3126 | ret = s->s3->num_renegotiations; |
3124 | break; | 3127 | break; |
3125 | case SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS: | 3128 | case SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS: |
3126 | ret=s->s3->num_renegotiations; | 3129 | ret = s->s3->num_renegotiations; |
3127 | s->s3->num_renegotiations=0; | 3130 | s->s3->num_renegotiations = 0; |
3128 | break; | 3131 | break; |
3129 | case SSL_CTRL_GET_TOTAL_RENEGOTIATIONS: | 3132 | case SSL_CTRL_GET_TOTAL_RENEGOTIATIONS: |
3130 | ret=s->s3->total_renegotiations; | 3133 | ret = s->s3->total_renegotiations; |
3131 | break; | 3134 | break; |
3132 | case SSL_CTRL_GET_FLAGS: | 3135 | case SSL_CTRL_GET_FLAGS: |
3133 | ret=(int)(s->s3->flags); | 3136 | ret = (int)(s->s3->flags); |
3134 | break; | 3137 | break; |
3135 | #ifndef OPENSSL_NO_RSA | 3138 | #ifndef OPENSSL_NO_RSA |
3136 | case SSL_CTRL_NEED_TMP_RSA: | 3139 | case SSL_CTRL_NEED_TMP_RSA: |
3137 | if ((s->cert != NULL) && (s->cert->rsa_tmp == NULL) && | 3140 | if ((s->cert != NULL) && (s->cert->rsa_tmp == NULL) && |
3138 | ((s->cert->pkeys[SSL_PKEY_RSA_ENC].privatekey == NULL) || | 3141 | ((s->cert->pkeys[SSL_PKEY_RSA_ENC].privatekey == NULL) || |
3139 | (EVP_PKEY_size(s->cert->pkeys[SSL_PKEY_RSA_ENC].privatekey) > (512/8)))) | 3142 | (EVP_PKEY_size(s->cert->pkeys[SSL_PKEY_RSA_ENC].privatekey) > (512 / 8)))) |
3140 | ret = 1; | 3143 | ret = 1; |
3141 | break; | 3144 | break; |
3142 | case SSL_CTRL_SET_TMP_RSA: | 3145 | case SSL_CTRL_SET_TMP_RSA: |
3143 | { | 3146 | { |
3144 | RSA *rsa = (RSA *)parg; | 3147 | RSA *rsa = (RSA *)parg; |
3145 | if (rsa == NULL) | 3148 | if (rsa == NULL) { |
3146 | { | ||
3147 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); | 3149 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); |
3148 | return(ret); | 3150 | return (ret); |
3149 | } | 3151 | } |
3150 | if ((rsa = RSAPrivateKey_dup(rsa)) == NULL) | 3152 | if ((rsa = RSAPrivateKey_dup(rsa)) == NULL) { |
3151 | { | ||
3152 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_RSA_LIB); | 3153 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_RSA_LIB); |
3153 | return(ret); | 3154 | return (ret); |
3154 | } | 3155 | } |
3155 | if (s->cert->rsa_tmp != NULL) | 3156 | if (s->cert->rsa_tmp != NULL) |
3156 | RSA_free(s->cert->rsa_tmp); | 3157 | RSA_free(s->cert->rsa_tmp); |
3157 | s->cert->rsa_tmp = rsa; | 3158 | s->cert->rsa_tmp = rsa; |
@@ -3160,8 +3161,8 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
3160 | break; | 3161 | break; |
3161 | case SSL_CTRL_SET_TMP_RSA_CB: | 3162 | case SSL_CTRL_SET_TMP_RSA_CB: |
3162 | { | 3163 | { |
3163 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 3164 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
3164 | return(ret); | 3165 | return (ret); |
3165 | } | 3166 | } |
3166 | break; | 3167 | break; |
3167 | #endif | 3168 | #endif |
@@ -3169,25 +3170,21 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
3169 | case SSL_CTRL_SET_TMP_DH: | 3170 | case SSL_CTRL_SET_TMP_DH: |
3170 | { | 3171 | { |
3171 | DH *dh = (DH *)parg; | 3172 | DH *dh = (DH *)parg; |
3172 | if (dh == NULL) | 3173 | if (dh == NULL) { |
3173 | { | ||
3174 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); | 3174 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); |
3175 | return(ret); | 3175 | return (ret); |
3176 | } | 3176 | } |
3177 | if ((dh = DHparams_dup(dh)) == NULL) | 3177 | if ((dh = DHparams_dup(dh)) == NULL) { |
3178 | { | ||
3179 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_DH_LIB); | 3178 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_DH_LIB); |
3180 | return(ret); | 3179 | return (ret); |
3181 | } | 3180 | } |
3182 | if (!(s->options & SSL_OP_SINGLE_DH_USE)) | 3181 | if (!(s->options & SSL_OP_SINGLE_DH_USE)) { |
3183 | { | 3182 | if (!DH_generate_key(dh)) { |
3184 | if (!DH_generate_key(dh)) | ||
3185 | { | ||
3186 | DH_free(dh); | 3183 | DH_free(dh); |
3187 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_DH_LIB); | 3184 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_DH_LIB); |
3188 | return(ret); | 3185 | return (ret); |
3189 | } | ||
3190 | } | 3186 | } |
3187 | } | ||
3191 | if (s->cert->dh_tmp != NULL) | 3188 | if (s->cert->dh_tmp != NULL) |
3192 | DH_free(s->cert->dh_tmp); | 3189 | DH_free(s->cert->dh_tmp); |
3193 | s->cert->dh_tmp = dh; | 3190 | s->cert->dh_tmp = dh; |
@@ -3196,79 +3193,70 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
3196 | break; | 3193 | break; |
3197 | case SSL_CTRL_SET_TMP_DH_CB: | 3194 | case SSL_CTRL_SET_TMP_DH_CB: |
3198 | { | 3195 | { |
3199 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 3196 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
3200 | return(ret); | 3197 | return (ret); |
3201 | } | 3198 | } |
3202 | break; | 3199 | break; |
3203 | #endif | 3200 | #endif |
3204 | #ifndef OPENSSL_NO_ECDH | 3201 | #ifndef OPENSSL_NO_ECDH |
3205 | case SSL_CTRL_SET_TMP_ECDH: | 3202 | case SSL_CTRL_SET_TMP_ECDH: |
3206 | { | 3203 | { |
3207 | EC_KEY *ecdh = NULL; | 3204 | EC_KEY *ecdh = NULL; |
3208 | 3205 | ||
3209 | if (parg == NULL) | 3206 | if (parg == NULL) { |
3210 | { | 3207 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); |
3211 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_PASSED_NULL_PARAMETER); | 3208 | return (ret); |
3212 | return(ret); | ||
3213 | } | 3209 | } |
3214 | if (!EC_KEY_up_ref((EC_KEY *)parg)) | 3210 | if (!EC_KEY_up_ref((EC_KEY *)parg)) { |
3215 | { | 3211 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_ECDH_LIB); |
3216 | SSLerr(SSL_F_SSL3_CTRL,ERR_R_ECDH_LIB); | 3212 | return (ret); |
3217 | return(ret); | ||
3218 | } | 3213 | } |
3219 | ecdh = (EC_KEY *)parg; | 3214 | ecdh = (EC_KEY *)parg; |
3220 | if (!(s->options & SSL_OP_SINGLE_ECDH_USE)) | 3215 | if (!(s->options & SSL_OP_SINGLE_ECDH_USE)) { |
3221 | { | 3216 | if (!EC_KEY_generate_key(ecdh)) { |
3222 | if (!EC_KEY_generate_key(ecdh)) | 3217 | EC_KEY_free(ecdh); |
3223 | { | 3218 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_ECDH_LIB); |
3224 | EC_KEY_free(ecdh); | 3219 | return (ret); |
3225 | SSLerr(SSL_F_SSL3_CTRL,ERR_R_ECDH_LIB); | ||
3226 | return(ret); | ||
3227 | } | 3220 | } |
3228 | } | 3221 | } |
3229 | if (s->cert->ecdh_tmp != NULL) | 3222 | if (s->cert->ecdh_tmp != NULL) |
3230 | EC_KEY_free(s->cert->ecdh_tmp); | 3223 | EC_KEY_free(s->cert->ecdh_tmp); |
3231 | s->cert->ecdh_tmp = ecdh; | 3224 | s->cert->ecdh_tmp = ecdh; |
3232 | ret = 1; | 3225 | ret = 1; |
3233 | } | 3226 | } |
3234 | break; | 3227 | break; |
3235 | case SSL_CTRL_SET_TMP_ECDH_CB: | 3228 | case SSL_CTRL_SET_TMP_ECDH_CB: |
3236 | { | 3229 | { |
3237 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 3230 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
3238 | return(ret); | 3231 | return (ret); |
3239 | } | 3232 | } |
3240 | break; | 3233 | break; |
3241 | #endif /* !OPENSSL_NO_ECDH */ | 3234 | #endif /* !OPENSSL_NO_ECDH */ |
3242 | #ifndef OPENSSL_NO_TLSEXT | 3235 | #ifndef OPENSSL_NO_TLSEXT |
3243 | case SSL_CTRL_SET_TLSEXT_HOSTNAME: | 3236 | case SSL_CTRL_SET_TLSEXT_HOSTNAME: |
3244 | if (larg == TLSEXT_NAMETYPE_host_name) | 3237 | if (larg == TLSEXT_NAMETYPE_host_name) { |
3245 | { | 3238 | if (s->tlsext_hostname != NULL) |
3246 | if (s->tlsext_hostname != NULL) | ||
3247 | OPENSSL_free(s->tlsext_hostname); | 3239 | OPENSSL_free(s->tlsext_hostname); |
3248 | s->tlsext_hostname = NULL; | 3240 | s->tlsext_hostname = NULL; |
3249 | 3241 | ||
3250 | ret = 1; | 3242 | ret = 1; |
3251 | if (parg == NULL) | 3243 | if (parg == NULL) |
3252 | break; | 3244 | break; |
3253 | if (strlen((char *)parg) > TLSEXT_MAXLEN_host_name) | 3245 | if (strlen((char *)parg) > TLSEXT_MAXLEN_host_name) { |
3254 | { | ||
3255 | SSLerr(SSL_F_SSL3_CTRL, SSL_R_SSL3_EXT_INVALID_SERVERNAME); | 3246 | SSLerr(SSL_F_SSL3_CTRL, SSL_R_SSL3_EXT_INVALID_SERVERNAME); |
3256 | return 0; | 3247 | return 0; |
3257 | } | 3248 | } |
3258 | if ((s->tlsext_hostname = BUF_strdup((char *)parg)) == NULL) | 3249 | if ((s->tlsext_hostname = BUF_strdup((char *)parg)) == NULL) { |
3259 | { | ||
3260 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_INTERNAL_ERROR); | 3250 | SSLerr(SSL_F_SSL3_CTRL, ERR_R_INTERNAL_ERROR); |
3261 | return 0; | 3251 | return 0; |
3262 | } | ||
3263 | } | 3252 | } |
3264 | else | 3253 | } else { |
3265 | { | ||
3266 | SSLerr(SSL_F_SSL3_CTRL, SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE); | 3254 | SSLerr(SSL_F_SSL3_CTRL, SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE); |
3267 | return 0; | 3255 | return 0; |
3268 | } | 3256 | } |
3269 | break; | 3257 | break; |
3270 | case SSL_CTRL_SET_TLSEXT_DEBUG_ARG: | 3258 | case SSL_CTRL_SET_TLSEXT_DEBUG_ARG: |
3271 | s->tlsext_debug_arg=parg; | 3259 | s->tlsext_debug_arg = parg; |
3272 | ret = 1; | 3260 | ret = 1; |
3273 | break; | 3261 | break; |
3274 | 3262 | ||
@@ -3276,28 +3264,26 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
3276 | case SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT: | 3264 | case SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT: |
3277 | if (larg > 12288) /* actual internal limit is 2^16 for the complete hello message | 3265 | if (larg > 12288) /* actual internal limit is 2^16 for the complete hello message |
3278 | * (including the cert chain and everything) */ | 3266 | * (including the cert chain and everything) */ |
3279 | { | 3267 | { |
3280 | SSLerr(SSL_F_SSL3_CTRL, SSL_R_OPAQUE_PRF_INPUT_TOO_LONG); | 3268 | SSLerr(SSL_F_SSL3_CTRL, SSL_R_OPAQUE_PRF_INPUT_TOO_LONG); |
3281 | break; | 3269 | break; |
3282 | } | 3270 | } |
3283 | if (s->tlsext_opaque_prf_input != NULL) | 3271 | if (s->tlsext_opaque_prf_input != NULL) |
3284 | OPENSSL_free(s->tlsext_opaque_prf_input); | 3272 | OPENSSL_free(s->tlsext_opaque_prf_input); |
3285 | if ((size_t)larg == 0) | 3273 | if ((size_t)larg == 0) |
3286 | s->tlsext_opaque_prf_input = OPENSSL_malloc(1); /* dummy byte just to get non-NULL */ | 3274 | s->tlsext_opaque_prf_input = OPENSSL_malloc(1); /* dummy byte just to get non-NULL */ |
3287 | else | 3275 | else |
3288 | s->tlsext_opaque_prf_input = BUF_memdup(parg, (size_t)larg); | 3276 | s->tlsext_opaque_prf_input = BUF_memdup(parg, (size_t)larg); |
3289 | if (s->tlsext_opaque_prf_input != NULL) | 3277 | if (s->tlsext_opaque_prf_input != NULL) { |
3290 | { | ||
3291 | s->tlsext_opaque_prf_input_len = (size_t)larg; | 3278 | s->tlsext_opaque_prf_input_len = (size_t)larg; |
3292 | ret = 1; | 3279 | ret = 1; |
3293 | } | 3280 | } else |
3294 | else | ||
3295 | s->tlsext_opaque_prf_input_len = 0; | 3281 | s->tlsext_opaque_prf_input_len = 0; |
3296 | break; | 3282 | break; |
3297 | #endif | 3283 | #endif |
3298 | 3284 | ||
3299 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE: | 3285 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE: |
3300 | s->tlsext_status_type=larg; | 3286 | s->tlsext_status_type = larg; |
3301 | ret = 1; | 3287 | ret = 1; |
3302 | break; | 3288 | break; |
3303 | 3289 | ||
@@ -3324,7 +3310,7 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
3324 | case SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP: | 3310 | case SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP: |
3325 | *(unsigned char **)parg = s->tlsext_ocsp_resp; | 3311 | *(unsigned char **)parg = s->tlsext_ocsp_resp; |
3326 | return s->tlsext_ocsp_resplen; | 3312 | return s->tlsext_ocsp_resplen; |
3327 | 3313 | ||
3328 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP: | 3314 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP: |
3329 | if (s->tlsext_ocsp_resp) | 3315 | if (s->tlsext_ocsp_resp) |
3330 | OPENSSL_free(s->tlsext_ocsp_resp); | 3316 | OPENSSL_free(s->tlsext_ocsp_resp); |
@@ -3357,222 +3343,204 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
3357 | #endif /* !OPENSSL_NO_TLSEXT */ | 3343 | #endif /* !OPENSSL_NO_TLSEXT */ |
3358 | default: | 3344 | default: |
3359 | break; | 3345 | break; |
3360 | } | ||
3361 | return(ret); | ||
3362 | } | 3346 | } |
3347 | return (ret); | ||
3348 | } | ||
3363 | 3349 | ||
3364 | long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void)) | 3350 | long |
3365 | { | 3351 | ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void)) |
3366 | int ret=0; | 3352 | { |
3353 | int ret = 0; | ||
3367 | 3354 | ||
3368 | #if !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_RSA) | 3355 | #if !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_RSA) |
3369 | if ( | 3356 | if ( |
3370 | #ifndef OPENSSL_NO_RSA | 3357 | #ifndef OPENSSL_NO_RSA |
3371 | cmd == SSL_CTRL_SET_TMP_RSA_CB || | 3358 | cmd == SSL_CTRL_SET_TMP_RSA_CB || |
3372 | #endif | 3359 | #endif |
3373 | #ifndef OPENSSL_NO_DSA | 3360 | #ifndef OPENSSL_NO_DSA |
3374 | cmd == SSL_CTRL_SET_TMP_DH_CB || | 3361 | cmd == SSL_CTRL_SET_TMP_DH_CB || |
3375 | #endif | 3362 | #endif |
3376 | 0) | 3363 | 0) { |
3377 | { | 3364 | if (!ssl_cert_inst(&s->cert)) { |
3378 | if (!ssl_cert_inst(&s->cert)) | ||
3379 | { | ||
3380 | SSLerr(SSL_F_SSL3_CALLBACK_CTRL, ERR_R_MALLOC_FAILURE); | 3365 | SSLerr(SSL_F_SSL3_CALLBACK_CTRL, ERR_R_MALLOC_FAILURE); |
3381 | return(0); | 3366 | return (0); |
3382 | } | ||
3383 | } | 3367 | } |
3368 | } | ||
3384 | #endif | 3369 | #endif |
3385 | 3370 | ||
3386 | switch (cmd) | 3371 | switch (cmd) { |
3387 | { | ||
3388 | #ifndef OPENSSL_NO_RSA | 3372 | #ifndef OPENSSL_NO_RSA |
3389 | case SSL_CTRL_SET_TMP_RSA_CB: | 3373 | case SSL_CTRL_SET_TMP_RSA_CB: |
3390 | { | 3374 | { |
3391 | s->cert->rsa_tmp_cb = (RSA *(*)(SSL *, int, int))fp; | 3375 | s->cert->rsa_tmp_cb = (RSA *(*)(SSL *, int, int))fp; |
3392 | } | 3376 | } |
3393 | break; | 3377 | break; |
3394 | #endif | 3378 | #endif |
3395 | #ifndef OPENSSL_NO_DH | 3379 | #ifndef OPENSSL_NO_DH |
3396 | case SSL_CTRL_SET_TMP_DH_CB: | 3380 | case SSL_CTRL_SET_TMP_DH_CB: |
3397 | { | 3381 | { |
3398 | s->cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp; | 3382 | s->cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp; |
3399 | } | 3383 | } |
3400 | break; | 3384 | break; |
3401 | #endif | 3385 | #endif |
3402 | #ifndef OPENSSL_NO_ECDH | 3386 | #ifndef OPENSSL_NO_ECDH |
3403 | case SSL_CTRL_SET_TMP_ECDH_CB: | 3387 | case SSL_CTRL_SET_TMP_ECDH_CB: |
3404 | { | 3388 | { |
3405 | s->cert->ecdh_tmp_cb = (EC_KEY *(*)(SSL *, int, int))fp; | 3389 | s->cert->ecdh_tmp_cb = (EC_KEY *(*)(SSL *, int, int))fp; |
3406 | } | 3390 | } |
3407 | break; | 3391 | break; |
3408 | #endif | 3392 | #endif |
3409 | #ifndef OPENSSL_NO_TLSEXT | 3393 | #ifndef OPENSSL_NO_TLSEXT |
3410 | case SSL_CTRL_SET_TLSEXT_DEBUG_CB: | 3394 | case SSL_CTRL_SET_TLSEXT_DEBUG_CB: |
3411 | s->tlsext_debug_cb=(void (*)(SSL *,int ,int, | 3395 | s->tlsext_debug_cb = (void (*)(SSL *, int , int, |
3412 | unsigned char *, int, void *))fp; | 3396 | unsigned char *, int, void *))fp; |
3413 | break; | 3397 | break; |
3414 | #endif | 3398 | #endif |
3415 | default: | 3399 | default: |
3416 | break; | 3400 | break; |
3417 | } | ||
3418 | return(ret); | ||
3419 | } | 3401 | } |
3402 | return (ret); | ||
3403 | } | ||
3420 | 3404 | ||
3421 | long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) | 3405 | long |
3422 | { | 3406 | ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) |
3407 | { | ||
3423 | CERT *cert; | 3408 | CERT *cert; |
3424 | 3409 | ||
3425 | cert=ctx->cert; | 3410 | cert = ctx->cert; |
3426 | 3411 | ||
3427 | switch (cmd) | 3412 | switch (cmd) { |
3428 | { | ||
3429 | #ifndef OPENSSL_NO_RSA | 3413 | #ifndef OPENSSL_NO_RSA |
3430 | case SSL_CTRL_NEED_TMP_RSA: | 3414 | case SSL_CTRL_NEED_TMP_RSA: |
3431 | if ( (cert->rsa_tmp == NULL) && | 3415 | if ((cert->rsa_tmp == NULL) && |
3432 | ((cert->pkeys[SSL_PKEY_RSA_ENC].privatekey == NULL) || | 3416 | ((cert->pkeys[SSL_PKEY_RSA_ENC].privatekey == NULL) || |
3433 | (EVP_PKEY_size(cert->pkeys[SSL_PKEY_RSA_ENC].privatekey) > (512/8))) | 3417 | (EVP_PKEY_size(cert->pkeys[SSL_PKEY_RSA_ENC].privatekey) > (512 / 8))) |
3434 | ) | 3418 | ) |
3435 | return(1); | 3419 | return (1); |
3436 | else | 3420 | else |
3437 | return(0); | 3421 | return (0); |
3438 | /* break; */ | 3422 | /* break; */ |
3439 | case SSL_CTRL_SET_TMP_RSA: | 3423 | case SSL_CTRL_SET_TMP_RSA: |
3440 | { | 3424 | { |
3441 | RSA *rsa; | 3425 | RSA *rsa; |
3442 | int i; | 3426 | int i; |
3443 | 3427 | ||
3444 | rsa=(RSA *)parg; | 3428 | rsa = (RSA *)parg; |
3445 | i=1; | 3429 | i = 1; |
3446 | if (rsa == NULL) | 3430 | if (rsa == NULL) |
3447 | i=0; | 3431 | i = 0; |
3448 | else | 3432 | else { |
3449 | { | 3433 | if ((rsa = RSAPrivateKey_dup(rsa)) == NULL) |
3450 | if ((rsa=RSAPrivateKey_dup(rsa)) == NULL) | 3434 | i = 0; |
3451 | i=0; | ||
3452 | } | 3435 | } |
3453 | if (!i) | 3436 | if (!i) { |
3454 | { | 3437 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_RSA_LIB); |
3455 | SSLerr(SSL_F_SSL3_CTX_CTRL,ERR_R_RSA_LIB); | 3438 | return (0); |
3456 | return(0); | 3439 | } else { |
3457 | } | 3440 | if (cert->rsa_tmp != NULL) |
3458 | else | 3441 | RSA_free(cert->rsa_tmp); |
3459 | { | 3442 | cert->rsa_tmp = rsa; |
3460 | if (cert->rsa_tmp != NULL) | 3443 | return (1); |
3461 | RSA_free(cert->rsa_tmp); | ||
3462 | cert->rsa_tmp=rsa; | ||
3463 | return(1); | ||
3464 | } | 3444 | } |
3465 | } | 3445 | } |
3466 | /* break; */ | 3446 | /* break; */ |
3467 | case SSL_CTRL_SET_TMP_RSA_CB: | 3447 | case SSL_CTRL_SET_TMP_RSA_CB: |
3468 | { | 3448 | { |
3469 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 3449 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
3470 | return(0); | 3450 | return (0); |
3471 | } | 3451 | } |
3472 | break; | 3452 | break; |
3473 | #endif | 3453 | #endif |
3474 | #ifndef OPENSSL_NO_DH | 3454 | #ifndef OPENSSL_NO_DH |
3475 | case SSL_CTRL_SET_TMP_DH: | 3455 | case SSL_CTRL_SET_TMP_DH: |
3476 | { | 3456 | { |
3477 | DH *new=NULL,*dh; | 3457 | DH *new = NULL, *dh; |
3478 | 3458 | ||
3479 | dh=(DH *)parg; | 3459 | dh = (DH *)parg; |
3480 | if ((new=DHparams_dup(dh)) == NULL) | 3460 | if ((new = DHparams_dup(dh)) == NULL) { |
3481 | { | 3461 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_DH_LIB); |
3482 | SSLerr(SSL_F_SSL3_CTX_CTRL,ERR_R_DH_LIB); | ||
3483 | return 0; | ||
3484 | } | ||
3485 | if (!(ctx->options & SSL_OP_SINGLE_DH_USE)) | ||
3486 | { | ||
3487 | if (!DH_generate_key(new)) | ||
3488 | { | ||
3489 | SSLerr(SSL_F_SSL3_CTX_CTRL,ERR_R_DH_LIB); | ||
3490 | DH_free(new); | ||
3491 | return 0; | 3462 | return 0; |
3463 | } | ||
3464 | if (!(ctx->options & SSL_OP_SINGLE_DH_USE)) { | ||
3465 | if (!DH_generate_key(new)) { | ||
3466 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_DH_LIB); | ||
3467 | DH_free(new); | ||
3468 | return 0; | ||
3492 | } | 3469 | } |
3493 | } | 3470 | } |
3494 | if (cert->dh_tmp != NULL) | 3471 | if (cert->dh_tmp != NULL) |
3495 | DH_free(cert->dh_tmp); | 3472 | DH_free(cert->dh_tmp); |
3496 | cert->dh_tmp=new; | 3473 | cert->dh_tmp = new; |
3497 | return 1; | 3474 | return 1; |
3498 | } | 3475 | } |
3499 | /*break; */ | 3476 | /*break; */ |
3500 | case SSL_CTRL_SET_TMP_DH_CB: | 3477 | case SSL_CTRL_SET_TMP_DH_CB: |
3501 | { | 3478 | { |
3502 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 3479 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
3503 | return(0); | 3480 | return (0); |
3504 | } | 3481 | } |
3505 | break; | 3482 | break; |
3506 | #endif | 3483 | #endif |
3507 | #ifndef OPENSSL_NO_ECDH | 3484 | #ifndef OPENSSL_NO_ECDH |
3508 | case SSL_CTRL_SET_TMP_ECDH: | 3485 | case SSL_CTRL_SET_TMP_ECDH: |
3509 | { | 3486 | { |
3510 | EC_KEY *ecdh = NULL; | 3487 | EC_KEY *ecdh = NULL; |
3511 | 3488 | ||
3512 | if (parg == NULL) | 3489 | if (parg == NULL) { |
3513 | { | 3490 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_ECDH_LIB); |
3514 | SSLerr(SSL_F_SSL3_CTX_CTRL,ERR_R_ECDH_LIB); | 3491 | return 0; |
3515 | return 0; | ||
3516 | } | ||
3517 | ecdh = EC_KEY_dup((EC_KEY *)parg); | ||
3518 | if (ecdh == NULL) | ||
3519 | { | ||
3520 | SSLerr(SSL_F_SSL3_CTX_CTRL,ERR_R_EC_LIB); | ||
3521 | return 0; | ||
3522 | } | 3492 | } |
3523 | if (!(ctx->options & SSL_OP_SINGLE_ECDH_USE)) | 3493 | ecdh = EC_KEY_dup((EC_KEY *)parg); |
3524 | { | 3494 | if (ecdh == NULL) { |
3525 | if (!EC_KEY_generate_key(ecdh)) | 3495 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_EC_LIB); |
3526 | { | ||
3527 | EC_KEY_free(ecdh); | ||
3528 | SSLerr(SSL_F_SSL3_CTX_CTRL,ERR_R_ECDH_LIB); | ||
3529 | return 0; | 3496 | return 0; |
3497 | } | ||
3498 | if (!(ctx->options & SSL_OP_SINGLE_ECDH_USE)) { | ||
3499 | if (!EC_KEY_generate_key(ecdh)) { | ||
3500 | EC_KEY_free(ecdh); | ||
3501 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_ECDH_LIB); | ||
3502 | return 0; | ||
3530 | } | 3503 | } |
3531 | } | 3504 | } |
3532 | 3505 | ||
3533 | if (cert->ecdh_tmp != NULL) | 3506 | if (cert->ecdh_tmp != NULL) { |
3534 | { | 3507 | EC_KEY_free(cert->ecdh_tmp); |
3535 | EC_KEY_free(cert->ecdh_tmp); | ||
3536 | } | 3508 | } |
3537 | cert->ecdh_tmp = ecdh; | 3509 | cert->ecdh_tmp = ecdh; |
3538 | return 1; | 3510 | return 1; |
3539 | } | 3511 | } |
3540 | /* break; */ | 3512 | /* break; */ |
3541 | case SSL_CTRL_SET_TMP_ECDH_CB: | 3513 | case SSL_CTRL_SET_TMP_ECDH_CB: |
3542 | { | 3514 | { |
3543 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); | 3515 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); |
3544 | return(0); | 3516 | return (0); |
3545 | } | 3517 | } |
3546 | break; | 3518 | break; |
3547 | #endif /* !OPENSSL_NO_ECDH */ | 3519 | #endif /* !OPENSSL_NO_ECDH */ |
3548 | #ifndef OPENSSL_NO_TLSEXT | 3520 | #ifndef OPENSSL_NO_TLSEXT |
3549 | case SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG: | 3521 | case SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG: |
3550 | ctx->tlsext_servername_arg=parg; | 3522 | ctx->tlsext_servername_arg = parg; |
3551 | break; | 3523 | break; |
3552 | case SSL_CTRL_SET_TLSEXT_TICKET_KEYS: | 3524 | case SSL_CTRL_SET_TLSEXT_TICKET_KEYS: |
3553 | case SSL_CTRL_GET_TLSEXT_TICKET_KEYS: | 3525 | case SSL_CTRL_GET_TLSEXT_TICKET_KEYS: |
3554 | { | 3526 | { |
3555 | unsigned char *keys = parg; | 3527 | unsigned char *keys = parg; |
3556 | if (!keys) | 3528 | if (!keys) |
3557 | return 48; | 3529 | return 48; |
3558 | if (larg != 48) | 3530 | if (larg != 48) { |
3559 | { | 3531 | SSLerr(SSL_F_SSL3_CTX_CTRL, SSL_R_INVALID_TICKET_KEYS_LENGTH); |
3560 | SSLerr(SSL_F_SSL3_CTX_CTRL, SSL_R_INVALID_TICKET_KEYS_LENGTH); | 3532 | return 0; |
3561 | return 0; | ||
3562 | } | ||
3563 | if (cmd == SSL_CTRL_SET_TLSEXT_TICKET_KEYS) | ||
3564 | { | ||
3565 | memcpy(ctx->tlsext_tick_key_name, keys, 16); | ||
3566 | memcpy(ctx->tlsext_tick_hmac_key, keys + 16, 16); | ||
3567 | memcpy(ctx->tlsext_tick_aes_key, keys + 32, 16); | ||
3568 | } | 3533 | } |
3569 | else | 3534 | if (cmd == SSL_CTRL_SET_TLSEXT_TICKET_KEYS) { |
3570 | { | 3535 | memcpy(ctx->tlsext_tick_key_name, keys, 16); |
3571 | memcpy(keys, ctx->tlsext_tick_key_name, 16); | 3536 | memcpy(ctx->tlsext_tick_hmac_key, keys + 16, 16); |
3572 | memcpy(keys + 16, ctx->tlsext_tick_hmac_key, 16); | 3537 | memcpy(ctx->tlsext_tick_aes_key, keys + 32, 16); |
3573 | memcpy(keys + 32, ctx->tlsext_tick_aes_key, 16); | 3538 | } else { |
3539 | memcpy(keys, ctx->tlsext_tick_key_name, 16); | ||
3540 | memcpy(keys + 16, ctx->tlsext_tick_hmac_key, 16); | ||
3541 | memcpy(keys + 32, ctx->tlsext_tick_aes_key, 16); | ||
3574 | } | 3542 | } |
3575 | return 1; | 3543 | return 1; |
3576 | } | 3544 | } |
3577 | 3545 | ||
3578 | #ifdef TLSEXT_TYPE_opaque_prf_input | 3546 | #ifdef TLSEXT_TYPE_opaque_prf_input |
@@ -3582,7 +3550,7 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) | |||
3582 | #endif | 3550 | #endif |
3583 | 3551 | ||
3584 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG: | 3552 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG: |
3585 | ctx->tlsext_status_arg=parg; | 3553 | ctx->tlsext_status_arg = parg; |
3586 | return 1; | 3554 | return 1; |
3587 | break; | 3555 | break; |
3588 | 3556 | ||
@@ -3594,182 +3562,182 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) | |||
3594 | ctx->srp_ctx.login = NULL; | 3562 | ctx->srp_ctx.login = NULL; |
3595 | if (parg == NULL) | 3563 | if (parg == NULL) |
3596 | break; | 3564 | break; |
3597 | if (strlen((const char *)parg) > 255 || strlen((const char *)parg) < 1) | 3565 | if (strlen((const char *)parg) > 255 || strlen((const char *)parg) < 1) { |
3598 | { | ||
3599 | SSLerr(SSL_F_SSL3_CTX_CTRL, SSL_R_INVALID_SRP_USERNAME); | 3566 | SSLerr(SSL_F_SSL3_CTX_CTRL, SSL_R_INVALID_SRP_USERNAME); |
3600 | return 0; | 3567 | return 0; |
3601 | } | 3568 | } |
3602 | if ((ctx->srp_ctx.login = BUF_strdup((char *)parg)) == NULL) | 3569 | if ((ctx->srp_ctx.login = BUF_strdup((char *)parg)) == NULL) { |
3603 | { | ||
3604 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_INTERNAL_ERROR); | 3570 | SSLerr(SSL_F_SSL3_CTX_CTRL, ERR_R_INTERNAL_ERROR); |
3605 | return 0; | 3571 | return 0; |
3606 | } | 3572 | } |
3607 | break; | 3573 | break; |
3608 | case SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD: | 3574 | case SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD: |
3609 | ctx->srp_ctx.SRP_give_srp_client_pwd_callback=srp_password_from_info_cb; | 3575 | ctx->srp_ctx.SRP_give_srp_client_pwd_callback = srp_password_from_info_cb; |
3610 | ctx->srp_ctx.info=parg; | 3576 | ctx->srp_ctx.info = parg; |
3611 | break; | 3577 | break; |
3612 | case SSL_CTRL_SET_SRP_ARG: | 3578 | case SSL_CTRL_SET_SRP_ARG: |
3613 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; | 3579 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; |
3614 | ctx->srp_ctx.SRP_cb_arg=parg; | 3580 | ctx->srp_ctx.SRP_cb_arg = parg; |
3615 | break; | 3581 | break; |
3616 | 3582 | ||
3617 | case SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH: | 3583 | case SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH: |
3618 | ctx->srp_ctx.strength=larg; | 3584 | ctx->srp_ctx.strength = larg; |
3619 | break; | 3585 | break; |
3620 | #endif | 3586 | #endif |
3621 | #endif /* !OPENSSL_NO_TLSEXT */ | 3587 | #endif /* !OPENSSL_NO_TLSEXT */ |
3622 | 3588 | ||
3623 | /* A Thawte special :-) */ | 3589 | /* A Thawte special :-) */ |
3624 | case SSL_CTRL_EXTRA_CHAIN_CERT: | 3590 | case SSL_CTRL_EXTRA_CHAIN_CERT: |
3625 | if (ctx->extra_certs == NULL) | 3591 | if (ctx->extra_certs == NULL) { |
3626 | { | 3592 | if ((ctx->extra_certs = sk_X509_new_null()) == NULL) |
3627 | if ((ctx->extra_certs=sk_X509_new_null()) == NULL) | 3593 | return (0); |
3628 | return(0); | 3594 | } |
3629 | } | ||
3630 | sk_X509_push(ctx->extra_certs,(X509 *)parg); | 3595 | sk_X509_push(ctx->extra_certs,(X509 *)parg); |
3631 | break; | 3596 | break; |
3632 | 3597 | ||
3633 | case SSL_CTRL_GET_EXTRA_CHAIN_CERTS: | 3598 | case SSL_CTRL_GET_EXTRA_CHAIN_CERTS: |
3634 | *(STACK_OF(X509) **)parg = ctx->extra_certs; | 3599 | *(STACK_OF(X509) **)parg = ctx->extra_certs; |
3635 | break; | 3600 | break; |
3636 | 3601 | ||
3637 | case SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS: | 3602 | case SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS: |
3638 | if (ctx->extra_certs) | 3603 | if (ctx->extra_certs) { |
3639 | { | ||
3640 | sk_X509_pop_free(ctx->extra_certs, X509_free); | 3604 | sk_X509_pop_free(ctx->extra_certs, X509_free); |
3641 | ctx->extra_certs = NULL; | 3605 | ctx->extra_certs = NULL; |
3642 | } | 3606 | } |
3643 | break; | 3607 | break; |
3644 | 3608 | ||
3645 | default: | 3609 | default: |
3646 | return(0); | 3610 | return (0); |
3647 | } | ||
3648 | return(1); | ||
3649 | } | 3611 | } |
3612 | return (1); | ||
3613 | } | ||
3650 | 3614 | ||
3651 | long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void)) | 3615 | long |
3652 | { | 3616 | ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void)) |
3617 | { | ||
3653 | CERT *cert; | 3618 | CERT *cert; |
3654 | 3619 | ||
3655 | cert=ctx->cert; | 3620 | cert = ctx->cert; |
3656 | 3621 | ||
3657 | switch (cmd) | 3622 | switch (cmd) { |
3658 | { | ||
3659 | #ifndef OPENSSL_NO_RSA | 3623 | #ifndef OPENSSL_NO_RSA |
3660 | case SSL_CTRL_SET_TMP_RSA_CB: | 3624 | case SSL_CTRL_SET_TMP_RSA_CB: |
3661 | { | 3625 | { |
3662 | cert->rsa_tmp_cb = (RSA *(*)(SSL *, int, int))fp; | 3626 | cert->rsa_tmp_cb = (RSA *(*)(SSL *, int, int))fp; |
3663 | } | 3627 | } |
3664 | break; | 3628 | break; |
3665 | #endif | 3629 | #endif |
3666 | #ifndef OPENSSL_NO_DH | 3630 | #ifndef OPENSSL_NO_DH |
3667 | case SSL_CTRL_SET_TMP_DH_CB: | 3631 | case SSL_CTRL_SET_TMP_DH_CB: |
3668 | { | 3632 | { |
3669 | cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp; | 3633 | cert->dh_tmp_cb = (DH *(*)(SSL *, int, int))fp; |
3670 | } | 3634 | } |
3671 | break; | 3635 | break; |
3672 | #endif | 3636 | #endif |
3673 | #ifndef OPENSSL_NO_ECDH | 3637 | #ifndef OPENSSL_NO_ECDH |
3674 | case SSL_CTRL_SET_TMP_ECDH_CB: | 3638 | case SSL_CTRL_SET_TMP_ECDH_CB: |
3675 | { | 3639 | { |
3676 | cert->ecdh_tmp_cb = (EC_KEY *(*)(SSL *, int, int))fp; | 3640 | cert->ecdh_tmp_cb = (EC_KEY *(*)(SSL *, int, int))fp; |
3677 | } | 3641 | } |
3678 | break; | 3642 | break; |
3679 | #endif | 3643 | #endif |
3680 | #ifndef OPENSSL_NO_TLSEXT | 3644 | #ifndef OPENSSL_NO_TLSEXT |
3681 | case SSL_CTRL_SET_TLSEXT_SERVERNAME_CB: | 3645 | case SSL_CTRL_SET_TLSEXT_SERVERNAME_CB: |
3682 | ctx->tlsext_servername_callback=(int (*)(SSL *,int *,void *))fp; | 3646 | ctx->tlsext_servername_callback = (int (*)(SSL *, int *, void *))fp; |
3683 | break; | 3647 | break; |
3684 | 3648 | ||
3685 | #ifdef TLSEXT_TYPE_opaque_prf_input | 3649 | #ifdef TLSEXT_TYPE_opaque_prf_input |
3686 | case SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB: | 3650 | case SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB: |
3687 | ctx->tlsext_opaque_prf_input_callback = (int (*)(SSL *,void *, size_t, void *))fp; | 3651 | ctx->tlsext_opaque_prf_input_callback = (int (*)(SSL *, void *, size_t, void *))fp; |
3688 | break; | 3652 | break; |
3689 | #endif | 3653 | #endif |
3690 | 3654 | ||
3691 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB: | 3655 | case SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB: |
3692 | ctx->tlsext_status_cb=(int (*)(SSL *,void *))fp; | 3656 | ctx->tlsext_status_cb = (int (*)(SSL *, void *))fp; |
3693 | break; | 3657 | break; |
3694 | 3658 | ||
3695 | case SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB: | 3659 | case SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB: |
3696 | ctx->tlsext_ticket_key_cb=(int (*)(SSL *,unsigned char *, | 3660 | ctx->tlsext_ticket_key_cb = (int (*)(SSL *, unsigned char *, |
3697 | unsigned char *, | 3661 | unsigned char *, EVP_CIPHER_CTX *, HMAC_CTX *, int))fp; |
3698 | EVP_CIPHER_CTX *, | ||
3699 | HMAC_CTX *, int))fp; | ||
3700 | break; | 3662 | break; |
3701 | 3663 | ||
3702 | #ifndef OPENSSL_NO_SRP | 3664 | #ifndef OPENSSL_NO_SRP |
3703 | case SSL_CTRL_SET_SRP_VERIFY_PARAM_CB: | 3665 | case SSL_CTRL_SET_SRP_VERIFY_PARAM_CB: |
3704 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; | 3666 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; |
3705 | ctx->srp_ctx.SRP_verify_param_callback=(int (*)(SSL *,void *))fp; | 3667 | ctx->srp_ctx.SRP_verify_param_callback = |
3668 | (int (*)(SSL *, void *))fp; | ||
3706 | break; | 3669 | break; |
3707 | case SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB: | 3670 | case SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB: |
3708 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; | 3671 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; |
3709 | ctx->srp_ctx.TLS_ext_srp_username_callback=(int (*)(SSL *,int *,void *))fp; | 3672 | ctx->srp_ctx.TLS_ext_srp_username_callback = |
3673 | (int (*)(SSL *, int *, void *))fp; | ||
3710 | break; | 3674 | break; |
3711 | case SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB: | 3675 | case SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB: |
3712 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; | 3676 | ctx->srp_ctx.srp_Mask|=SSL_kSRP; |
3713 | ctx->srp_ctx.SRP_give_srp_client_pwd_callback=(char *(*)(SSL *,void *))fp; | 3677 | ctx->srp_ctx.SRP_give_srp_client_pwd_callback = |
3678 | (char *(*)(SSL *, void *))fp; | ||
3714 | break; | 3679 | break; |
3715 | #endif | 3680 | #endif |
3716 | #endif | 3681 | #endif |
3717 | default: | 3682 | default: |
3718 | return(0); | 3683 | return (0); |
3719 | } | ||
3720 | return(1); | ||
3721 | } | 3684 | } |
3685 | return (1); | ||
3686 | } | ||
3722 | 3687 | ||
3723 | /* This function needs to check if the ciphers required are actually | 3688 | /* This function needs to check if the ciphers required are actually |
3724 | * available */ | 3689 | * available */ |
3725 | const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p) | 3690 | const SSL_CIPHER |
3726 | { | 3691 | *ssl3_get_cipher_by_char(const unsigned char *p) |
3692 | { | ||
3727 | SSL_CIPHER c; | 3693 | SSL_CIPHER c; |
3728 | const SSL_CIPHER *cp; | 3694 | const SSL_CIPHER *cp; |
3729 | unsigned long id; | 3695 | unsigned long id; |
3730 | 3696 | ||
3731 | id=0x03000000L|((unsigned long)p[0]<<8L)|(unsigned long)p[1]; | 3697 | id = 0x03000000L | ((unsigned long)p[0] << 8L) | (unsigned long)p[1]; |
3732 | c.id=id; | 3698 | c.id = id; |
3733 | cp = OBJ_bsearch_ssl_cipher_id(&c, ssl3_ciphers, SSL3_NUM_CIPHERS); | 3699 | cp = OBJ_bsearch_ssl_cipher_id(&c, ssl3_ciphers, SSL3_NUM_CIPHERS); |
3734 | #ifdef DEBUG_PRINT_UNKNOWN_CIPHERSUITES | 3700 | #ifdef DEBUG_PRINT_UNKNOWN_CIPHERSUITES |
3735 | if (cp == NULL) fprintf(stderr, "Unknown cipher ID %x\n", (p[0] << 8) | p[1]); | 3701 | if (cp == NULL) |
3702 | fprintf(stderr, "Unknown cipher ID %x\n", (p[0] << 8) | p[1]); | ||
3736 | #endif | 3703 | #endif |
3737 | if (cp == NULL || cp->valid == 0) | 3704 | if (cp == NULL || cp->valid == 0) |
3738 | return NULL; | 3705 | return NULL; |
3739 | else | 3706 | else |
3740 | return cp; | 3707 | return cp; |
3741 | } | 3708 | } |
3742 | 3709 | ||
3743 | int ssl3_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p) | 3710 | int |
3744 | { | 3711 | ssl3_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p) |
3712 | { | ||
3745 | long l; | 3713 | long l; |
3746 | 3714 | ||
3747 | if (p != NULL) | 3715 | if (p != NULL) { |
3748 | { | 3716 | l = c->id; |
3749 | l=c->id; | 3717 | if ((l & 0xff000000) != 0x03000000) |
3750 | if ((l & 0xff000000) != 0x03000000) return(0); | 3718 | return (0); |
3751 | p[0]=((unsigned char)(l>> 8L))&0xFF; | 3719 | p[0] = ((unsigned char)(l >> 8L)) & 0xFF; |
3752 | p[1]=((unsigned char)(l ))&0xFF; | 3720 | p[1] = ((unsigned char)(l)) & 0xFF; |
3753 | } | ||
3754 | return(2); | ||
3755 | } | 3721 | } |
3722 | return (2); | ||
3723 | } | ||
3756 | 3724 | ||
3757 | SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | 3725 | SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, |
3758 | STACK_OF(SSL_CIPHER) *srvr) | 3726 | STACK_OF(SSL_CIPHER) *srvr) |
3759 | { | 3727 | { |
3760 | SSL_CIPHER *c,*ret=NULL; | 3728 | SSL_CIPHER *c, *ret = NULL; |
3761 | STACK_OF(SSL_CIPHER) *prio, *allow; | 3729 | STACK_OF(SSL_CIPHER) *prio, *allow; |
3762 | int i,ii,ok; | 3730 | int i, ii, ok; |
3763 | #if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_EC) | 3731 | #if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_EC) |
3764 | unsigned int j; | 3732 | unsigned int j; |
3765 | int ec_ok, ec_nid; | 3733 | int ec_ok, ec_nid; |
3766 | unsigned char ec_search1 = 0, ec_search2 = 0; | 3734 | unsigned char ec_search1 = 0, ec_search2 = 0; |
3767 | #endif | 3735 | #endif |
3768 | CERT *cert; | 3736 | CERT *cert; |
3769 | unsigned long alg_k,alg_a,mask_k,mask_a,emask_k,emask_a; | 3737 | unsigned long alg_k, alg_a, mask_k, mask_a, emask_k, emask_a; |
3770 | 3738 | ||
3771 | /* Let's see which ciphers we can support */ | 3739 | /* Let's see which ciphers we can support */ |
3772 | cert=s->cert; | 3740 | cert = s->cert; |
3773 | 3741 | ||
3774 | #if 0 | 3742 | #if 0 |
3775 | /* Do not set the compare functions, because this may lead to a | 3743 | /* Do not set the compare functions, because this may lead to a |
@@ -3783,62 +3751,55 @@ SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | |||
3783 | 3751 | ||
3784 | #ifdef CIPHER_DEBUG | 3752 | #ifdef CIPHER_DEBUG |
3785 | printf("Server has %d from %p:\n", sk_SSL_CIPHER_num(srvr), (void *)srvr); | 3753 | printf("Server has %d from %p:\n", sk_SSL_CIPHER_num(srvr), (void *)srvr); |
3786 | for(i=0 ; i < sk_SSL_CIPHER_num(srvr) ; ++i) | 3754 | for (i = 0; i < sk_SSL_CIPHER_num(srvr); ++i) { |
3787 | { | 3755 | c = sk_SSL_CIPHER_value(srvr, i); |
3788 | c=sk_SSL_CIPHER_value(srvr,i); | 3756 | printf("%p:%s\n",(void *)c, c->name); |
3789 | printf("%p:%s\n",(void *)c,c->name); | 3757 | } |
3790 | } | ||
3791 | printf("Client sent %d from %p:\n", sk_SSL_CIPHER_num(clnt), (void *)clnt); | 3758 | printf("Client sent %d from %p:\n", sk_SSL_CIPHER_num(clnt), (void *)clnt); |
3792 | for(i=0 ; i < sk_SSL_CIPHER_num(clnt) ; ++i) | 3759 | for (i = 0; i < sk_SSL_CIPHER_num(clnt); ++i) { |
3793 | { | 3760 | c = sk_SSL_CIPHER_value(clnt, i); |
3794 | c=sk_SSL_CIPHER_value(clnt,i); | 3761 | printf("%p:%s\n",(void *)c, c->name); |
3795 | printf("%p:%s\n",(void *)c,c->name); | 3762 | } |
3796 | } | ||
3797 | #endif | 3763 | #endif |
3798 | 3764 | ||
3799 | if (s->options & SSL_OP_CIPHER_SERVER_PREFERENCE) | 3765 | if (s->options & SSL_OP_CIPHER_SERVER_PREFERENCE) { |
3800 | { | ||
3801 | prio = srvr; | 3766 | prio = srvr; |
3802 | allow = clnt; | 3767 | allow = clnt; |
3803 | } | 3768 | } else { |
3804 | else | ||
3805 | { | ||
3806 | prio = clnt; | 3769 | prio = clnt; |
3807 | allow = srvr; | 3770 | allow = srvr; |
3808 | } | 3771 | } |
3809 | 3772 | ||
3810 | for (i=0; i<sk_SSL_CIPHER_num(prio); i++) | 3773 | for (i = 0; i < sk_SSL_CIPHER_num(prio); i++) { |
3811 | { | 3774 | c = sk_SSL_CIPHER_value(prio, i); |
3812 | c=sk_SSL_CIPHER_value(prio,i); | ||
3813 | 3775 | ||
3814 | /* Skip TLS v1.2 only ciphersuites if lower than v1.2 */ | 3776 | /* Skip TLS v1.2 only ciphersuites if lower than v1.2 */ |
3815 | if ((c->algorithm_ssl & SSL_TLSV1_2) && | 3777 | if ((c->algorithm_ssl & SSL_TLSV1_2) && |
3816 | (TLS1_get_version(s) < TLS1_2_VERSION)) | 3778 | (TLS1_get_version(s) < TLS1_2_VERSION)) |
3817 | continue; | 3779 | continue; |
3818 | 3780 | ||
3819 | ssl_set_cert_masks(cert,c); | 3781 | ssl_set_cert_masks(cert, c); |
3820 | mask_k = cert->mask_k; | 3782 | mask_k = cert->mask_k; |
3821 | mask_a = cert->mask_a; | 3783 | mask_a = cert->mask_a; |
3822 | emask_k = cert->export_mask_k; | 3784 | emask_k = cert->export_mask_k; |
3823 | emask_a = cert->export_mask_a; | 3785 | emask_a = cert->export_mask_a; |
3824 | #ifndef OPENSSL_NO_SRP | 3786 | #ifndef OPENSSL_NO_SRP |
3825 | mask_k=cert->mask_k | s->srp_ctx.srp_Mask; | 3787 | mask_k = cert->mask_k | s->srp_ctx.srp_Mask; |
3826 | emask_k=cert->export_mask_k | s->srp_ctx.srp_Mask; | 3788 | emask_k = cert->export_mask_k | s->srp_ctx.srp_Mask; |
3827 | #endif | 3789 | #endif |
3828 | 3790 | ||
3829 | #ifdef KSSL_DEBUG | 3791 | #ifdef KSSL_DEBUG |
3830 | /* printf("ssl3_choose_cipher %d alg= %lx\n", i,c->algorithms);*/ | 3792 | /* printf("ssl3_choose_cipher %d alg= %lx\n", i,c->algorithms);*/ |
3831 | #endif /* KSSL_DEBUG */ | 3793 | #endif /* KSSL_DEBUG */ |
3832 | 3794 | ||
3833 | alg_k=c->algorithm_mkey; | 3795 | alg_k = c->algorithm_mkey; |
3834 | alg_a=c->algorithm_auth; | 3796 | alg_a = c->algorithm_auth; |
3835 | 3797 | ||
3836 | #ifndef OPENSSL_NO_KRB5 | 3798 | #ifndef OPENSSL_NO_KRB5 |
3837 | if (alg_k & SSL_kKRB5) | 3799 | if (alg_k & SSL_kKRB5) { |
3838 | { | 3800 | if (!kssl_keytab_is_available(s->kssl_ctx) ) |
3839 | if ( !kssl_keytab_is_available(s->kssl_ctx) ) | 3801 | continue; |
3840 | continue; | 3802 | } |
3841 | } | ||
3842 | #endif /* OPENSSL_NO_KRB5 */ | 3803 | #endif /* OPENSSL_NO_KRB5 */ |
3843 | #ifndef OPENSSL_NO_PSK | 3804 | #ifndef OPENSSL_NO_PSK |
3844 | /* with PSK there must be server callback set */ | 3805 | /* with PSK there must be server callback set */ |
@@ -3846,449 +3807,405 @@ SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | |||
3846 | continue; | 3807 | continue; |
3847 | #endif /* OPENSSL_NO_PSK */ | 3808 | #endif /* OPENSSL_NO_PSK */ |
3848 | 3809 | ||
3849 | if (SSL_C_IS_EXPORT(c)) | 3810 | if (SSL_C_IS_EXPORT(c)) { |
3850 | { | ||
3851 | ok = (alg_k & emask_k) && (alg_a & emask_a); | 3811 | ok = (alg_k & emask_k) && (alg_a & emask_a); |
3852 | #ifdef CIPHER_DEBUG | 3812 | #ifdef CIPHER_DEBUG |
3853 | printf("%d:[%08lX:%08lX:%08lX:%08lX]%p:%s (export)\n",ok,alg_k,alg_a,emask_k,emask_a, | 3813 | printf("%d:[%08lX:%08lX:%08lX:%08lX]%p:%s (export)\n", ok, alg_k, alg_a, emask_k, emask_a, |
3854 | (void *)c,c->name); | 3814 | (void *)c, c->name); |
3855 | #endif | 3815 | #endif |
3856 | } | 3816 | } else { |
3857 | else | ||
3858 | { | ||
3859 | ok = (alg_k & mask_k) && (alg_a & mask_a); | 3817 | ok = (alg_k & mask_k) && (alg_a & mask_a); |
3860 | #ifdef CIPHER_DEBUG | 3818 | #ifdef CIPHER_DEBUG |
3861 | printf("%d:[%08lX:%08lX:%08lX:%08lX]%p:%s\n",ok,alg_k,alg_a,mask_k,mask_a,(void *)c, | 3819 | printf("%d:[%08lX:%08lX:%08lX:%08lX]%p:%s\n", ok, alg_k, alg_a, mask_k, mask_a,(void *)c, |
3862 | c->name); | 3820 | c->name); |
3863 | #endif | 3821 | #endif |
3864 | } | 3822 | } |
3865 | 3823 | ||
3866 | #ifndef OPENSSL_NO_TLSEXT | 3824 | #ifndef OPENSSL_NO_TLSEXT |
3867 | #ifndef OPENSSL_NO_EC | 3825 | #ifndef OPENSSL_NO_EC |
3868 | if ( | 3826 | if ( |
3869 | /* if we are considering an ECC cipher suite that uses our certificate */ | 3827 | /* if we are considering an ECC cipher suite that uses our certificate */ |
3870 | (alg_a & SSL_aECDSA || alg_a & SSL_aECDH) | 3828 | (alg_a & SSL_aECDSA || alg_a & SSL_aECDH) |
3871 | /* and we have an ECC certificate */ | 3829 | /* and we have an ECC certificate */ |
3872 | && (s->cert->pkeys[SSL_PKEY_ECC].x509 != NULL) | 3830 | && (s->cert->pkeys[SSL_PKEY_ECC].x509 != NULL) |
3873 | /* and the client specified a Supported Point Formats extension */ | 3831 | /* and the client specified a Supported Point Formats extension */ |
3874 | && ((s->session->tlsext_ecpointformatlist_length > 0) && (s->session->tlsext_ecpointformatlist != NULL)) | 3832 | && ((s->session->tlsext_ecpointformatlist_length > 0) && (s->session->tlsext_ecpointformatlist != NULL)) |
3875 | /* and our certificate's point is compressed */ | 3833 | /* and our certificate's point is compressed */ |
3876 | && ( | 3834 | && ( |
3877 | (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info != NULL) | 3835 | (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info != NULL) |
3878 | && (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key != NULL) | 3836 | && (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key != NULL) |
3879 | && (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key != NULL) | 3837 | && (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key != NULL) |
3880 | && (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key->data != NULL) | 3838 | && (s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key->data != NULL) |
3881 | && ( | 3839 | && ( |
3882 | (*(s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key->data) == POINT_CONVERSION_COMPRESSED) | 3840 | (*(s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key->data) == POINT_CONVERSION_COMPRESSED) |
3883 | || (*(s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key->data) == POINT_CONVERSION_COMPRESSED + 1) | 3841 | || (*(s->cert->pkeys[SSL_PKEY_ECC].x509->cert_info->key->public_key->data) == POINT_CONVERSION_COMPRESSED + 1) |
3884 | ) | ||
3885 | ) | ||
3886 | ) | 3842 | ) |
3887 | { | 3843 | ) |
3844 | ) { | ||
3888 | ec_ok = 0; | 3845 | ec_ok = 0; |
3889 | /* if our certificate's curve is over a field type that the client does not support | 3846 | /* if our certificate's curve is over a field type that the client does not support |
3890 | * then do not allow this cipher suite to be negotiated */ | 3847 | * then do not allow this cipher suite to be negotiated */ |
3891 | if ( | 3848 | if ( |
3892 | (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec != NULL) | 3849 | (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec != NULL) |
3893 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group != NULL) | 3850 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group != NULL) |
3894 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth != NULL) | 3851 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth != NULL) |
3895 | && (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_prime_field) | 3852 | && (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_prime_field) |
3896 | ) | 3853 | ) { |
3897 | { | 3854 | for (j = 0; j < s->session->tlsext_ecpointformatlist_length; j++) { |
3898 | for (j = 0; j < s->session->tlsext_ecpointformatlist_length; j++) | 3855 | if (s->session->tlsext_ecpointformatlist[j] == TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime) { |
3899 | { | ||
3900 | if (s->session->tlsext_ecpointformatlist[j] == TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime) | ||
3901 | { | ||
3902 | ec_ok = 1; | 3856 | ec_ok = 1; |
3903 | break; | 3857 | break; |
3904 | } | ||
3905 | } | 3858 | } |
3906 | } | 3859 | } |
3907 | else if (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_characteristic_two_field) | 3860 | } else if (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_characteristic_two_field) { |
3908 | { | 3861 | for (j = 0; j < s->session->tlsext_ecpointformatlist_length; j++) { |
3909 | for (j = 0; j < s->session->tlsext_ecpointformatlist_length; j++) | 3862 | if (s->session->tlsext_ecpointformatlist[j] == TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2) { |
3910 | { | ||
3911 | if (s->session->tlsext_ecpointformatlist[j] == TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2) | ||
3912 | { | ||
3913 | ec_ok = 1; | 3863 | ec_ok = 1; |
3914 | break; | 3864 | break; |
3915 | } | ||
3916 | } | 3865 | } |
3917 | } | 3866 | } |
3918 | ok = ok && ec_ok; | ||
3919 | } | 3867 | } |
3868 | ok = ok && ec_ok; | ||
3869 | } | ||
3920 | if ( | 3870 | if ( |
3921 | /* if we are considering an ECC cipher suite that uses our certificate */ | 3871 | /* if we are considering an ECC cipher suite that uses our certificate */ |
3922 | (alg_a & SSL_aECDSA || alg_a & SSL_aECDH) | 3872 | (alg_a & SSL_aECDSA || alg_a & SSL_aECDH) |
3923 | /* and we have an ECC certificate */ | 3873 | /* and we have an ECC certificate */ |
3924 | && (s->cert->pkeys[SSL_PKEY_ECC].x509 != NULL) | 3874 | && (s->cert->pkeys[SSL_PKEY_ECC].x509 != NULL) |
3925 | /* and the client specified an EllipticCurves extension */ | 3875 | /* and the client specified an EllipticCurves extension */ |
3926 | && ((s->session->tlsext_ellipticcurvelist_length > 0) && (s->session->tlsext_ellipticcurvelist != NULL)) | 3876 | && ((s->session->tlsext_ellipticcurvelist_length > 0) && (s->session->tlsext_ellipticcurvelist != NULL)) |
3927 | ) | 3877 | ) { |
3928 | { | ||
3929 | ec_ok = 0; | 3878 | ec_ok = 0; |
3930 | if ( | 3879 | if ( |
3931 | (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec != NULL) | 3880 | (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec != NULL) |
3932 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group != NULL) | 3881 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group != NULL) |
3933 | ) | 3882 | ) { |
3934 | { | ||
3935 | ec_nid = EC_GROUP_get_curve_name(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group); | 3883 | ec_nid = EC_GROUP_get_curve_name(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group); |
3936 | if ((ec_nid == 0) | 3884 | if ((ec_nid == 0) |
3937 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth != NULL) | 3885 | && (s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth != NULL) |
3938 | ) | 3886 | ) { |
3939 | { | 3887 | if (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_prime_field) { |
3940 | if (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_prime_field) | ||
3941 | { | ||
3942 | ec_search1 = 0xFF; | 3888 | ec_search1 = 0xFF; |
3943 | ec_search2 = 0x01; | 3889 | ec_search2 = 0x01; |
3944 | } | 3890 | } else if (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_characteristic_two_field) { |
3945 | else if (EC_METHOD_get_field_type(s->cert->pkeys[SSL_PKEY_ECC].privatekey->pkey.ec->group->meth) == NID_X9_62_characteristic_two_field) | ||
3946 | { | ||
3947 | ec_search1 = 0xFF; | 3891 | ec_search1 = 0xFF; |
3948 | ec_search2 = 0x02; | 3892 | ec_search2 = 0x02; |
3949 | } | ||
3950 | } | 3893 | } |
3951 | else | 3894 | } else { |
3952 | { | ||
3953 | ec_search1 = 0x00; | 3895 | ec_search1 = 0x00; |
3954 | ec_search2 = tls1_ec_nid2curve_id(ec_nid); | 3896 | ec_search2 = tls1_ec_nid2curve_id(ec_nid); |
3955 | } | 3897 | } |
3956 | if ((ec_search1 != 0) || (ec_search2 != 0)) | 3898 | if ((ec_search1 != 0) || (ec_search2 != 0)) { |
3957 | { | 3899 | for (j = 0; j < s->session->tlsext_ellipticcurvelist_length / 2; j++) { |
3958 | for (j = 0; j < s->session->tlsext_ellipticcurvelist_length / 2; j++) | 3900 | if ((s->session->tlsext_ellipticcurvelist[2*j] == ec_search1) && (s->session->tlsext_ellipticcurvelist[2*j + 1] == ec_search2)) { |
3959 | { | ||
3960 | if ((s->session->tlsext_ellipticcurvelist[2*j] == ec_search1) && (s->session->tlsext_ellipticcurvelist[2*j+1] == ec_search2)) | ||
3961 | { | ||
3962 | ec_ok = 1; | 3901 | ec_ok = 1; |
3963 | break; | 3902 | break; |
3964 | } | ||
3965 | } | 3903 | } |
3966 | } | 3904 | } |
3967 | } | 3905 | } |
3968 | ok = ok && ec_ok; | ||
3969 | } | 3906 | } |
3907 | ok = ok && ec_ok; | ||
3908 | } | ||
3970 | if ( | 3909 | if ( |
3971 | /* if we are considering an ECC cipher suite that uses an ephemeral EC key */ | 3910 | /* if we are considering an ECC cipher suite that uses an ephemeral EC key */ |
3972 | (alg_k & SSL_kEECDH) | 3911 | (alg_k & SSL_kEECDH) |
3973 | /* and we have an ephemeral EC key */ | 3912 | /* and we have an ephemeral EC key */ |
3974 | && (s->cert->ecdh_tmp != NULL) | 3913 | && (s->cert->ecdh_tmp != NULL) |
3975 | /* and the client specified an EllipticCurves extension */ | 3914 | /* and the client specified an EllipticCurves extension */ |
3976 | && ((s->session->tlsext_ellipticcurvelist_length > 0) && (s->session->tlsext_ellipticcurvelist != NULL)) | 3915 | && ((s->session->tlsext_ellipticcurvelist_length > 0) && (s->session->tlsext_ellipticcurvelist != NULL)) |
3977 | ) | 3916 | ) { |
3978 | { | ||
3979 | ec_ok = 0; | 3917 | ec_ok = 0; |
3980 | if (s->cert->ecdh_tmp->group != NULL) | 3918 | if (s->cert->ecdh_tmp->group != NULL) { |
3981 | { | ||
3982 | ec_nid = EC_GROUP_get_curve_name(s->cert->ecdh_tmp->group); | 3919 | ec_nid = EC_GROUP_get_curve_name(s->cert->ecdh_tmp->group); |
3983 | if ((ec_nid == 0) | 3920 | if ((ec_nid == 0) |
3984 | && (s->cert->ecdh_tmp->group->meth != NULL) | 3921 | && (s->cert->ecdh_tmp->group->meth != NULL) |
3985 | ) | 3922 | ) { |
3986 | { | 3923 | if (EC_METHOD_get_field_type(s->cert->ecdh_tmp->group->meth) == NID_X9_62_prime_field) { |
3987 | if (EC_METHOD_get_field_type(s->cert->ecdh_tmp->group->meth) == NID_X9_62_prime_field) | ||
3988 | { | ||
3989 | ec_search1 = 0xFF; | 3924 | ec_search1 = 0xFF; |
3990 | ec_search2 = 0x01; | 3925 | ec_search2 = 0x01; |
3991 | } | 3926 | } else if (EC_METHOD_get_field_type(s->cert->ecdh_tmp->group->meth) == NID_X9_62_characteristic_two_field) { |
3992 | else if (EC_METHOD_get_field_type(s->cert->ecdh_tmp->group->meth) == NID_X9_62_characteristic_two_field) | ||
3993 | { | ||
3994 | ec_search1 = 0xFF; | 3927 | ec_search1 = 0xFF; |
3995 | ec_search2 = 0x02; | 3928 | ec_search2 = 0x02; |
3996 | } | ||
3997 | } | 3929 | } |
3998 | else | 3930 | } else { |
3999 | { | ||
4000 | ec_search1 = 0x00; | 3931 | ec_search1 = 0x00; |
4001 | ec_search2 = tls1_ec_nid2curve_id(ec_nid); | 3932 | ec_search2 = tls1_ec_nid2curve_id(ec_nid); |
4002 | } | 3933 | } |
4003 | if ((ec_search1 != 0) || (ec_search2 != 0)) | 3934 | if ((ec_search1 != 0) || (ec_search2 != 0)) { |
4004 | { | 3935 | for (j = 0; j < s->session->tlsext_ellipticcurvelist_length / 2; j++) { |
4005 | for (j = 0; j < s->session->tlsext_ellipticcurvelist_length / 2; j++) | 3936 | if ((s->session->tlsext_ellipticcurvelist[2*j] == ec_search1) && (s->session->tlsext_ellipticcurvelist[2*j + 1] == ec_search2)) { |
4006 | { | ||
4007 | if ((s->session->tlsext_ellipticcurvelist[2*j] == ec_search1) && (s->session->tlsext_ellipticcurvelist[2*j+1] == ec_search2)) | ||
4008 | { | ||
4009 | ec_ok = 1; | 3937 | ec_ok = 1; |
4010 | break; | 3938 | break; |
4011 | } | ||
4012 | } | 3939 | } |
4013 | } | 3940 | } |
4014 | } | 3941 | } |
4015 | ok = ok && ec_ok; | ||
4016 | } | 3942 | } |
3943 | ok = ok && ec_ok; | ||
3944 | } | ||
4017 | #endif /* OPENSSL_NO_EC */ | 3945 | #endif /* OPENSSL_NO_EC */ |
4018 | #endif /* OPENSSL_NO_TLSEXT */ | 3946 | #endif /* OPENSSL_NO_TLSEXT */ |
4019 | 3947 | ||
4020 | if (!ok) continue; | 3948 | if (!ok) |
4021 | ii=sk_SSL_CIPHER_find(allow,c); | 3949 | continue; |
4022 | if (ii >= 0) | 3950 | ii = sk_SSL_CIPHER_find(allow, c); |
4023 | { | 3951 | if (ii >= 0) { |
4024 | #if !defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_TLSEXT) | 3952 | #if !defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_TLSEXT) |
4025 | if ((alg_k & SSL_kEECDH) && (alg_a & SSL_aECDSA) && s->s3->is_probably_safari) | 3953 | if ((alg_k & SSL_kEECDH) && (alg_a & SSL_aECDSA) && s->s3->is_probably_safari) { |
4026 | { | 3954 | if (!ret) |
4027 | if (!ret) ret=sk_SSL_CIPHER_value(allow,ii); | 3955 | ret = sk_SSL_CIPHER_value(allow, ii); |
4028 | continue; | 3956 | continue; |
4029 | } | 3957 | } |
4030 | #endif | 3958 | #endif |
4031 | ret=sk_SSL_CIPHER_value(allow,ii); | 3959 | ret = sk_SSL_CIPHER_value(allow, ii); |
4032 | break; | 3960 | break; |
4033 | } | ||
4034 | } | 3961 | } |
4035 | return(ret); | ||
4036 | } | 3962 | } |
3963 | return (ret); | ||
3964 | } | ||
4037 | 3965 | ||
4038 | int ssl3_get_req_cert_type(SSL *s, unsigned char *p) | 3966 | int |
4039 | { | 3967 | ssl3_get_req_cert_type(SSL *s, unsigned char *p) |
4040 | int ret=0; | 3968 | { |
3969 | int ret = 0; | ||
4041 | unsigned long alg_k; | 3970 | unsigned long alg_k; |
4042 | 3971 | ||
4043 | alg_k = s->s3->tmp.new_cipher->algorithm_mkey; | 3972 | alg_k = s->s3->tmp.new_cipher->algorithm_mkey; |
4044 | 3973 | ||
4045 | #ifndef OPENSSL_NO_GOST | 3974 | #ifndef OPENSSL_NO_GOST |
4046 | if (s->version >= TLS1_VERSION) | 3975 | if (s->version >= TLS1_VERSION) { |
4047 | { | 3976 | if (alg_k & SSL_kGOST) { |
4048 | if (alg_k & SSL_kGOST) | 3977 | p[ret++] = TLS_CT_GOST94_SIGN; |
4049 | { | 3978 | p[ret++] = TLS_CT_GOST01_SIGN; |
4050 | p[ret++]=TLS_CT_GOST94_SIGN; | 3979 | return (ret); |
4051 | p[ret++]=TLS_CT_GOST01_SIGN; | ||
4052 | return(ret); | ||
4053 | } | ||
4054 | } | 3980 | } |
3981 | } | ||
4055 | #endif | 3982 | #endif |
4056 | 3983 | ||
4057 | #ifndef OPENSSL_NO_DH | 3984 | #ifndef OPENSSL_NO_DH |
4058 | if (alg_k & (SSL_kDHr|SSL_kEDH)) | 3985 | if (alg_k & (SSL_kDHr|SSL_kEDH)) { |
4059 | { | ||
4060 | # ifndef OPENSSL_NO_RSA | 3986 | # ifndef OPENSSL_NO_RSA |
4061 | p[ret++]=SSL3_CT_RSA_FIXED_DH; | 3987 | p[ret++] = SSL3_CT_RSA_FIXED_DH; |
4062 | # endif | 3988 | # endif |
4063 | # ifndef OPENSSL_NO_DSA | 3989 | # ifndef OPENSSL_NO_DSA |
4064 | p[ret++]=SSL3_CT_DSS_FIXED_DH; | 3990 | p[ret++] = SSL3_CT_DSS_FIXED_DH; |
4065 | # endif | 3991 | # endif |
4066 | } | 3992 | } |
4067 | if ((s->version == SSL3_VERSION) && | 3993 | if ((s->version == SSL3_VERSION) && |
4068 | (alg_k & (SSL_kEDH|SSL_kDHd|SSL_kDHr))) | 3994 | (alg_k & (SSL_kEDH|SSL_kDHd|SSL_kDHr))) { |
4069 | { | ||
4070 | # ifndef OPENSSL_NO_RSA | 3995 | # ifndef OPENSSL_NO_RSA |
4071 | p[ret++]=SSL3_CT_RSA_EPHEMERAL_DH; | 3996 | p[ret++] = SSL3_CT_RSA_EPHEMERAL_DH; |
4072 | # endif | 3997 | # endif |
4073 | # ifndef OPENSSL_NO_DSA | 3998 | # ifndef OPENSSL_NO_DSA |
4074 | p[ret++]=SSL3_CT_DSS_EPHEMERAL_DH; | 3999 | p[ret++] = SSL3_CT_DSS_EPHEMERAL_DH; |
4075 | # endif | 4000 | # endif |
4076 | } | 4001 | } |
4077 | #endif /* !OPENSSL_NO_DH */ | 4002 | #endif /* !OPENSSL_NO_DH */ |
4078 | #ifndef OPENSSL_NO_RSA | 4003 | #ifndef OPENSSL_NO_RSA |
4079 | p[ret++]=SSL3_CT_RSA_SIGN; | 4004 | p[ret++] = SSL3_CT_RSA_SIGN; |
4080 | #endif | 4005 | #endif |
4081 | #ifndef OPENSSL_NO_DSA | 4006 | #ifndef OPENSSL_NO_DSA |
4082 | p[ret++]=SSL3_CT_DSS_SIGN; | 4007 | p[ret++] = SSL3_CT_DSS_SIGN; |
4083 | #endif | 4008 | #endif |
4084 | #ifndef OPENSSL_NO_ECDH | 4009 | #ifndef OPENSSL_NO_ECDH |
4085 | if ((alg_k & (SSL_kECDHr|SSL_kECDHe)) && (s->version >= TLS1_VERSION)) | 4010 | if ((alg_k & (SSL_kECDHr|SSL_kECDHe)) && (s->version >= TLS1_VERSION)) { |
4086 | { | 4011 | p[ret++] = TLS_CT_RSA_FIXED_ECDH; |
4087 | p[ret++]=TLS_CT_RSA_FIXED_ECDH; | 4012 | p[ret++] = TLS_CT_ECDSA_FIXED_ECDH; |
4088 | p[ret++]=TLS_CT_ECDSA_FIXED_ECDH; | 4013 | } |
4089 | } | ||
4090 | #endif | 4014 | #endif |
4091 | 4015 | ||
4092 | #ifndef OPENSSL_NO_ECDSA | 4016 | #ifndef OPENSSL_NO_ECDSA |
4093 | /* ECDSA certs can be used with RSA cipher suites as well | 4017 | /* ECDSA certs can be used with RSA cipher suites as well |
4094 | * so we don't need to check for SSL_kECDH or SSL_kEECDH | 4018 | * so we don't need to check for SSL_kECDH or SSL_kEECDH |
4095 | */ | 4019 | */ |
4096 | if (s->version >= TLS1_VERSION) | 4020 | if (s->version >= TLS1_VERSION) { |
4097 | { | 4021 | p[ret++] = TLS_CT_ECDSA_SIGN; |
4098 | p[ret++]=TLS_CT_ECDSA_SIGN; | ||
4099 | } | ||
4100 | #endif | ||
4101 | return(ret); | ||
4102 | } | 4022 | } |
4023 | #endif | ||
4024 | return (ret); | ||
4025 | } | ||
4103 | 4026 | ||
4104 | int ssl3_shutdown(SSL *s) | 4027 | int |
4105 | { | 4028 | ssl3_shutdown(SSL *s) |
4029 | { | ||
4106 | int ret; | 4030 | int ret; |
4107 | 4031 | ||
4108 | /* Don't do anything much if we have not done the handshake or | 4032 | /* Don't do anything much if we have not done the handshake or |
4109 | * we don't want to send messages :-) */ | 4033 | * we don't want to send messages :-) */ |
4110 | if ((s->quiet_shutdown) || (s->state == SSL_ST_BEFORE)) | 4034 | if ((s->quiet_shutdown) || (s->state == SSL_ST_BEFORE)) { |
4111 | { | 4035 | s->shutdown = (SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN); |
4112 | s->shutdown=(SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN); | 4036 | return (1); |
4113 | return(1); | 4037 | } |
4114 | } | ||
4115 | 4038 | ||
4116 | if (!(s->shutdown & SSL_SENT_SHUTDOWN)) | 4039 | if (!(s->shutdown & SSL_SENT_SHUTDOWN)) { |
4117 | { | ||
4118 | s->shutdown|=SSL_SENT_SHUTDOWN; | 4040 | s->shutdown|=SSL_SENT_SHUTDOWN; |
4119 | #if 1 | 4041 | #if 1 |
4120 | ssl3_send_alert(s,SSL3_AL_WARNING,SSL_AD_CLOSE_NOTIFY); | 4042 | ssl3_send_alert(s, SSL3_AL_WARNING, SSL_AD_CLOSE_NOTIFY); |
4121 | #endif | 4043 | #endif |
4122 | /* our shutdown alert has been sent now, and if it still needs | 4044 | /* our shutdown alert has been sent now, and if it still needs |
4123 | * to be written, s->s3->alert_dispatch will be true */ | 4045 | * to be written, s->s3->alert_dispatch will be true */ |
4124 | if (s->s3->alert_dispatch) | 4046 | if (s->s3->alert_dispatch) |
4125 | return(-1); /* return WANT_WRITE */ | 4047 | return(-1); /* return WANT_WRITE */ |
4126 | } | 4048 | } else if (s->s3->alert_dispatch) { |
4127 | else if (s->s3->alert_dispatch) | ||
4128 | { | ||
4129 | /* resend it if not sent */ | 4049 | /* resend it if not sent */ |
4130 | #if 1 | 4050 | #if 1 |
4131 | ret=s->method->ssl_dispatch_alert(s); | 4051 | ret = s->method->ssl_dispatch_alert(s); |
4132 | if(ret == -1) | 4052 | if (ret == -1) { |
4133 | { | ||
4134 | /* we only get to return -1 here the 2nd/Nth | 4053 | /* we only get to return -1 here the 2nd/Nth |
4135 | * invocation, we must have already signalled | 4054 | * invocation, we must have already signalled |
4136 | * return 0 upon a previous invoation, | 4055 | * return 0 upon a previous invoation, |
4137 | * return WANT_WRITE */ | 4056 | * return WANT_WRITE */ |
4138 | return(ret); | 4057 | return (ret); |
4139 | } | ||
4140 | #endif | ||
4141 | } | 4058 | } |
4142 | else if (!(s->shutdown & SSL_RECEIVED_SHUTDOWN)) | 4059 | #endif |
4143 | { | 4060 | } else if (!(s->shutdown & SSL_RECEIVED_SHUTDOWN)) { |
4144 | /* If we are waiting for a close from our peer, we are closed */ | 4061 | /* If we are waiting for a close from our peer, we are closed */ |
4145 | s->method->ssl_read_bytes(s,0,NULL,0,0); | 4062 | s->method->ssl_read_bytes(s, 0, NULL, 0, 0); |
4146 | if(!(s->shutdown & SSL_RECEIVED_SHUTDOWN)) | 4063 | if (!(s->shutdown & SSL_RECEIVED_SHUTDOWN)) { |
4147 | { | ||
4148 | return(-1); /* return WANT_READ */ | 4064 | return(-1); /* return WANT_READ */ |
4149 | } | ||
4150 | } | 4065 | } |
4066 | } | ||
4151 | 4067 | ||
4152 | if ((s->shutdown == (SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN)) && | 4068 | if ((s->shutdown == (SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN)) && |
4153 | !s->s3->alert_dispatch) | 4069 | !s->s3->alert_dispatch) |
4154 | return(1); | 4070 | return (1); |
4155 | else | 4071 | else |
4156 | return(0); | 4072 | return (0); |
4157 | } | 4073 | } |
4158 | 4074 | ||
4159 | int ssl3_write(SSL *s, const void *buf, int len) | 4075 | int |
4160 | { | 4076 | ssl3_write(SSL *s, const void *buf, int len) |
4161 | int ret,n; | 4077 | { |
4078 | int ret, n; | ||
4162 | 4079 | ||
4163 | #if 0 | 4080 | #if 0 |
4164 | if (s->shutdown & SSL_SEND_SHUTDOWN) | 4081 | if (s->shutdown & SSL_SEND_SHUTDOWN) { |
4165 | { | 4082 | s->rwstate = SSL_NOTHING; |
4166 | s->rwstate=SSL_NOTHING; | 4083 | return (0); |
4167 | return(0); | 4084 | } |
4168 | } | ||
4169 | #endif | 4085 | #endif |
4170 | errno = 0; | 4086 | errno = 0; |
4171 | if (s->s3->renegotiate) ssl3_renegotiate_check(s); | 4087 | if (s->s3->renegotiate) |
4088 | ssl3_renegotiate_check(s); | ||
4172 | 4089 | ||
4173 | /* This is an experimental flag that sends the | 4090 | /* This is an experimental flag that sends the |
4174 | * last handshake message in the same packet as the first | 4091 | * last handshake message in the same packet as the first |
4175 | * use data - used to see if it helps the TCP protocol during | 4092 | * use data - used to see if it helps the TCP protocol during |
4176 | * session-id reuse */ | 4093 | * session-id reuse */ |
4177 | /* The second test is because the buffer may have been removed */ | 4094 | /* The second test is because the buffer may have been removed */ |
4178 | if ((s->s3->flags & SSL3_FLAGS_POP_BUFFER) && (s->wbio == s->bbio)) | 4095 | if ((s->s3->flags & SSL3_FLAGS_POP_BUFFER) && (s->wbio == s->bbio)) { |
4179 | { | ||
4180 | /* First time through, we write into the buffer */ | 4096 | /* First time through, we write into the buffer */ |
4181 | if (s->s3->delay_buf_pop_ret == 0) | 4097 | if (s->s3->delay_buf_pop_ret == 0) { |
4182 | { | 4098 | ret = ssl3_write_bytes(s, SSL3_RT_APPLICATION_DATA, |
4183 | ret=ssl3_write_bytes(s,SSL3_RT_APPLICATION_DATA, | 4099 | buf, len); |
4184 | buf,len); | 4100 | if (ret <= 0) |
4185 | if (ret <= 0) return(ret); | 4101 | return (ret); |
4186 | 4102 | ||
4187 | s->s3->delay_buf_pop_ret=ret; | 4103 | s->s3->delay_buf_pop_ret = ret; |
4188 | } | 4104 | } |
4189 | 4105 | ||
4190 | s->rwstate=SSL_WRITING; | 4106 | s->rwstate = SSL_WRITING; |
4191 | n=BIO_flush(s->wbio); | 4107 | n = BIO_flush(s->wbio); |
4192 | if (n <= 0) return(n); | 4108 | if (n <= 0) |
4193 | s->rwstate=SSL_NOTHING; | 4109 | return (n); |
4110 | s->rwstate = SSL_NOTHING; | ||
4194 | 4111 | ||
4195 | /* We have flushed the buffer, so remove it */ | 4112 | /* We have flushed the buffer, so remove it */ |
4196 | ssl_free_wbio_buffer(s); | 4113 | ssl_free_wbio_buffer(s); |
4197 | s->s3->flags&= ~SSL3_FLAGS_POP_BUFFER; | 4114 | s->s3->flags&= ~SSL3_FLAGS_POP_BUFFER; |
4198 | 4115 | ||
4199 | ret=s->s3->delay_buf_pop_ret; | 4116 | ret = s->s3->delay_buf_pop_ret; |
4200 | s->s3->delay_buf_pop_ret=0; | 4117 | s->s3->delay_buf_pop_ret = 0; |
4201 | } | 4118 | } else { |
4202 | else | 4119 | ret = s->method->ssl_write_bytes(s, SSL3_RT_APPLICATION_DATA, |
4203 | { | 4120 | buf, len); |
4204 | ret=s->method->ssl_write_bytes(s,SSL3_RT_APPLICATION_DATA, | 4121 | if (ret <= 0) |
4205 | buf,len); | 4122 | return (ret); |
4206 | if (ret <= 0) return(ret); | ||
4207 | } | ||
4208 | |||
4209 | return(ret); | ||
4210 | } | 4123 | } |
4211 | 4124 | ||
4212 | static int ssl3_read_internal(SSL *s, void *buf, int len, int peek) | 4125 | return (ret); |
4213 | { | 4126 | } |
4127 | |||
4128 | static int | ||
4129 | ssl3_read_internal(SSL *s, void *buf, int len, int peek) | ||
4130 | { | ||
4214 | int ret; | 4131 | int ret; |
4215 | 4132 | ||
4216 | errno = 0; | 4133 | errno = 0; |
4217 | if (s->s3->renegotiate) ssl3_renegotiate_check(s); | 4134 | if (s->s3->renegotiate) |
4218 | s->s3->in_read_app_data=1; | 4135 | ssl3_renegotiate_check(s); |
4219 | ret=s->method->ssl_read_bytes(s,SSL3_RT_APPLICATION_DATA,buf,len,peek); | 4136 | s->s3->in_read_app_data = 1; |
4220 | if ((ret == -1) && (s->s3->in_read_app_data == 2)) | 4137 | ret = s->method->ssl_read_bytes(s, SSL3_RT_APPLICATION_DATA, buf, len, peek); |
4221 | { | 4138 | if ((ret == -1) && (s->s3->in_read_app_data == 2)) { |
4222 | /* ssl3_read_bytes decided to call s->handshake_func, which | 4139 | /* ssl3_read_bytes decided to call s->handshake_func, which |
4223 | * called ssl3_read_bytes to read handshake data. | 4140 | * called ssl3_read_bytes to read handshake data. |
4224 | * However, ssl3_read_bytes actually found application data | 4141 | * However, ssl3_read_bytes actually found application data |
4225 | * and thinks that application data makes sense here; so disable | 4142 | * and thinks that application data makes sense here; so disable |
4226 | * handshake processing and try to read application data again. */ | 4143 | * handshake processing and try to read application data again. */ |
4227 | s->in_handshake++; | 4144 | s->in_handshake++; |
4228 | ret=s->method->ssl_read_bytes(s,SSL3_RT_APPLICATION_DATA,buf,len,peek); | 4145 | ret = s->method->ssl_read_bytes(s, SSL3_RT_APPLICATION_DATA, buf, len, peek); |
4229 | s->in_handshake--; | 4146 | s->in_handshake--; |
4230 | } | 4147 | } else |
4231 | else | 4148 | s->s3->in_read_app_data = 0; |
4232 | s->s3->in_read_app_data=0; | ||
4233 | 4149 | ||
4234 | return(ret); | 4150 | return (ret); |
4235 | } | 4151 | } |
4236 | 4152 | ||
4237 | int ssl3_read(SSL *s, void *buf, int len) | 4153 | int |
4238 | { | 4154 | ssl3_read(SSL *s, void *buf, int len) |
4155 | { | ||
4239 | return ssl3_read_internal(s, buf, len, 0); | 4156 | return ssl3_read_internal(s, buf, len, 0); |
4240 | } | 4157 | } |
4241 | 4158 | ||
4242 | int ssl3_peek(SSL *s, void *buf, int len) | 4159 | int |
4243 | { | 4160 | ssl3_peek(SSL *s, void *buf, int len) |
4161 | { | ||
4244 | return ssl3_read_internal(s, buf, len, 1); | 4162 | return ssl3_read_internal(s, buf, len, 1); |
4245 | } | 4163 | } |
4246 | 4164 | ||
4247 | int ssl3_renegotiate(SSL *s) | 4165 | int |
4248 | { | 4166 | ssl3_renegotiate(SSL *s) |
4167 | { | ||
4249 | if (s->handshake_func == NULL) | 4168 | if (s->handshake_func == NULL) |
4250 | return(1); | 4169 | return (1); |
4251 | 4170 | ||
4252 | if (s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS) | 4171 | if (s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS) |
4253 | return(0); | 4172 | return (0); |
4254 | 4173 | ||
4255 | s->s3->renegotiate=1; | 4174 | s->s3->renegotiate = 1; |
4256 | return(1); | 4175 | return (1); |
4257 | } | 4176 | } |
4258 | 4177 | ||
4259 | int ssl3_renegotiate_check(SSL *s) | 4178 | int |
4260 | { | 4179 | ssl3_renegotiate_check(SSL *s) |
4261 | int ret=0; | 4180 | { |
4181 | int ret = 0; | ||
4262 | 4182 | ||
4263 | if (s->s3->renegotiate) | 4183 | if (s->s3->renegotiate) { |
4264 | { | 4184 | if ((s->s3->rbuf.left == 0) && (s->s3->wbuf.left == 0) && |
4265 | if ( (s->s3->rbuf.left == 0) && | 4185 | !SSL_in_init(s)) { |
4266 | (s->s3->wbuf.left == 0) && | ||
4267 | !SSL_in_init(s)) | ||
4268 | { | ||
4269 | /* | 4186 | /* |
4270 | if we are the server, and we have sent a 'RENEGOTIATE' message, we | 4187 | if we are the server, and we have sent a 'RENEGOTIATE' message, we |
4271 | need to go to SSL_ST_ACCEPT. | 4188 | need to go to SSL_ST_ACCEPT. |
4272 | */ | 4189 | */ |
4273 | /* SSL_ST_ACCEPT */ | 4190 | /* SSL_ST_ACCEPT */ |
4274 | s->state=SSL_ST_RENEGOTIATE; | 4191 | s->state = SSL_ST_RENEGOTIATE; |
4275 | s->s3->renegotiate=0; | 4192 | s->s3->renegotiate = 0; |
4276 | s->s3->num_renegotiations++; | 4193 | s->s3->num_renegotiations++; |
4277 | s->s3->total_renegotiations++; | 4194 | s->s3->total_renegotiations++; |
4278 | ret=1; | 4195 | ret = 1; |
4279 | } | ||
4280 | } | 4196 | } |
4281 | return(ret); | ||
4282 | } | 4197 | } |
4198 | return (ret); | ||
4199 | } | ||
4283 | /* If we are using TLS v1.2 or later and default SHA1+MD5 algorithms switch | 4200 | /* If we are using TLS v1.2 or later and default SHA1+MD5 algorithms switch |
4284 | * to new SHA256 PRF and handshake macs | 4201 | * to new SHA256 PRF and handshake macs |
4285 | */ | 4202 | */ |
4286 | long ssl_get_algorithm2(SSL *s) | 4203 | long |
4287 | { | 4204 | ssl_get_algorithm2(SSL *s) |
4205 | { | ||
4288 | long alg2 = s->s3->tmp.new_cipher->algorithm2; | 4206 | long alg2 = s->s3->tmp.new_cipher->algorithm2; |
4289 | if (s->method->version == TLS1_2_VERSION && | 4207 | if (s->method->version == TLS1_2_VERSION && |
4290 | alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) | 4208 | alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) |
4291 | return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; | 4209 | return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; |
4292 | return alg2; | 4210 | return alg2; |
4293 | } | 4211 | } |
4294 | |||