@@ -63,11 +63,6 @@ http {
63
63
ssl_verify_depth 2;
64
64
ssl_client_certificate trusted.crt;
65
65
66
- ssl_ciphers DEFAULT:ECCdraft;
67
-
68
- ssl_certificate_key ec.key;
69
- ssl_certificate ec.crt;
70
-
71
66
ssl_certificate_key rsa.key;
72
67
ssl_certificate rsa.crt;
73
68
@@ -273,13 +268,8 @@ $t->write_file('trusted.crt',
273
268
274
269
# server cert/key
275
270
276
- system (" openssl ecparam -genkey -out $d /ec.key -name prime256v1 "
277
- . " >>$d /openssl.out 2>&1" ) == 0 or die " Can't create EC pem: $! \n " ;
278
- system (" openssl genrsa -out $d /rsa.key 2048 >>$d /openssl.out 2>&1" ) == 0
279
- or die " Can't create RSA pem: $! \n " ;
280
-
281
- foreach my $name (' ec' , ' rsa' ) {
282
- system (" openssl req -x509 -new -key $d /$name .key "
271
+ foreach my $name (' rsa' ) {
272
+ system (' openssl req -x509 -new '
283
273
. " -config $d /openssl.conf -subj /CN=$name / "
284
274
. " -out $d /$name .crt -keyout $d /$name .key "
285
275
. " >>$d /openssl.out 2>&1" ) == 0
@@ -288,7 +278,7 @@ foreach my $name ('ec', 'rsa') {
288
278
289
279
$t -> run_daemon(\&http_daemon, $t , port(8081));
290
280
$t -> run_daemon(\&http_daemon, $t , port(8082));
291
- $t -> run()-> plan(14 );
281
+ $t -> run()-> plan(15 );
292
282
293
283
$t -> waitforsocket(" 127.0.0.1:" . port(8081));
294
284
$t -> waitforsocket(" 127.0.0.1:" . port(8082));
@@ -297,17 +287,17 @@ my $version = get_version();
297
287
298
288
# ##############################################################################
299
289
300
- like(get(' RSA ' , ' end' ), qr / 200 OK.*SUCCESS/ s , ' ocsp leaf' );
290
+ like(get(' end' ), qr / 200 OK.*SUCCESS/ s , ' ocsp leaf' );
301
291
302
292
# demonstrate that ocsp int request is failed due to missing resolver
303
293
304
- like(get(' RSA ' , ' end' , sni => ' resolver' ),
294
+ like(get(' end' , sni => ' resolver' ),
305
295
qr / 400 Bad.*FAILED:certificate status request failed/ s ,
306
296
' ocsp many failed request' );
307
297
308
298
# demonstrate that ocsp int request is actually made by failing ocsp response
309
299
310
- like(get(' RSA ' , ' end' , port => 8444),
300
+ like(get(' end' , port => 8444),
311
301
qr / 400 Bad.*FAILED:certificate status request failed/ s ,
312
302
' ocsp many failed' );
313
303
@@ -323,11 +313,11 @@ system("openssl ocsp -index $d/certindex -CA $d/root.crt "
323
313
. " >>$d /openssl.out 2>&1" ) == 0
324
314
or die " Can't create OCSP response: $! \n " ;
325
315
326
- like(get(' RSA ' , ' end' , port => 8444), qr / 200 OK.*SUCCESS/ s , ' ocsp many' );
316
+ like(get(' end' , port => 8444), qr / 200 OK.*SUCCESS/ s , ' ocsp many' );
327
317
328
318
# store into ssl_ocsp_cache
329
319
330
- like(get(' RSA ' , ' end' , port => 8446), qr / 200 OK.*SUCCESS/ s , ' cache store' );
320
+ like(get(' end' , port => 8446), qr / 200 OK.*SUCCESS/ s , ' cache store' );
331
321
332
322
# revoke
333
323
@@ -346,23 +336,23 @@ system("openssl ocsp -index $d/certindex -CA $d/int.crt "
346
336
. " >>$d /openssl.out 2>&1" ) == 0
347
337
or die " Can't create OCSP response: $! \n " ;
348
338
349
- like(get(' RSA ' , ' end' ), qr / 400 Bad.*FAILED:certificate revoked/ s , ' revoked' );
339
+ like(get(' end' ), qr / 400 Bad.*FAILED:certificate revoked/ s , ' revoked' );
350
340
351
341
# with different responder where it's still valid
352
342
353
- like(get(' RSA ' , ' end' , port => 8445), qr / 200 OK.*SUCCESS/ s , ' ocsp responder' );
343
+ like(get(' end' , port => 8445), qr / 200 OK.*SUCCESS/ s , ' ocsp responder' );
354
344
355
345
# with different context to responder where it's still valid
356
346
357
- like(get(' RSA ' , ' end' , sni => ' sni' ), qr / 200 OK.*SUCCESS/ s , ' ocsp context' );
347
+ like(get(' end' , sni => ' sni' ), qr / 200 OK.*SUCCESS/ s , ' ocsp context' );
358
348
359
349
# with cached ocsp response it's still valid
360
350
361
- like(get(' RSA ' , ' end' , port => 8446), qr / 200 OK.*SUCCESS/ s , ' cache lookup' );
351
+ like(get(' end' , port => 8446), qr / 200 OK.*SUCCESS/ s , ' cache lookup' );
362
352
363
353
# ocsp end response signed with invalid (root) cert, expect HTTP 400
364
354
365
- like(get(' ECDSA ' , ' ec-end' ),
355
+ like(get(' ec-end' ),
366
356
qr / 400 Bad.*FAILED:certificate status request failed/ s ,
367
357
' root ca not trusted' );
368
358
@@ -374,12 +364,12 @@ system("openssl ocsp -index $d/certindex -CA $d/int.crt "
374
364
. " >>$d /openssl.out 2>&1" ) == 0
375
365
or die " Can't create EC OCSP response: $! \n " ;
376
366
377
- like(get(' ECDSA ' , ' ec-end' ), qr / 200 OK.*SUCCESS/ s , ' ocsp ecdsa' );
367
+ like(get(' ec-end' ), qr / 200 OK.*SUCCESS/ s , ' ocsp ecdsa' );
378
368
379
- my ($s , $ssl ) = get(' ECDSA ' , ' ec-end' );
369
+ my ($s , $ssl ) = get(' ec-end' );
380
370
my $ses = Net::SSLeay::get_session($ssl );
381
371
382
- like(get(' ECDSA ' , ' ec-end' , ses => $ses ),
372
+ like(get(' ec-end' , ses => $ses ),
383
373
qr / 200 OK.*SUCCESS:r/ s , ' session reused' );
384
374
385
375
# revoke with saved session
@@ -401,19 +391,22 @@ system("openssl ocsp -index $d/certindex -CA $d/int.crt "
401
391
402
392
# reusing session with revoked certificate
403
393
404
- like(get(' ECDSA ' , ' ec-end' , ses => $ses ),
394
+ like(get(' ec-end' , ses => $ses ),
405
395
qr / 400 Bad.*FAILED:certificate revoked:r/ s , ' session reused - revoked' );
406
396
407
397
# regression test for self-signed
408
398
409
- like(get(' RSA' , ' root' , port => 8447), qr / 200 OK.*SUCCESS/ s , ' ocsp one' );
399
+ like(get(' root' , port => 8447), qr / 200 OK.*SUCCESS/ s , ' ocsp one' );
400
+
401
+ # check for errors
402
+
403
+ like(` grep -F '[crit]' ${\( $t ->testdir())}/error.log` , qr / ^$ / s , ' no crit' );
410
404
411
405
# ##############################################################################
412
406
413
407
sub get {
414
- my ($type , $cert , %extra ) = @_ ;
415
- $type = ' PSS' if $type eq ' RSA' && $version > 0x0303;
416
- my ($s , $ssl ) = get_ssl_socket($type , $cert , %extra );
408
+ my ($cert , %extra ) = @_ ;
409
+ my ($s , $ssl ) = get_ssl_socket($cert , %extra );
417
410
my $cipher = Net::SSLeay::get_cipher($ssl );
418
411
Test::Nginx::log_core(' ||' , " cipher: $cipher " );
419
412
my $host = $extra {sni } ? $extra {sni } : ' localhost' ;
@@ -428,7 +421,7 @@ sub get {
428
421
}
429
422
430
423
sub get_ssl_socket {
431
- my ($type , $ cert , %extra ) = @_ ;
424
+ my ($cert , %extra ) = @_ ;
432
425
my $ses = $extra {ses };
433
426
my $sni = $extra {sni };
434
427
my $port = $extra {port } || 8443;
@@ -450,18 +443,6 @@ sub get_ssl_socket {
450
443
451
444
my $ctx = Net::SSLeay::CTX_new() or die (" Failed to create SSL_CTX $! " );
452
445
453
- if (defined $type ) {
454
- my $ssleay = Net::SSLeay::SSLeay();
455
- if ($ssleay < 0x1000200f || $ssleay == 0x20000000) {
456
- Net::SSLeay::CTX_set_cipher_list($ctx , $type )
457
- or die (" Failed to set cipher list" );
458
- } else {
459
- # SSL_CTRL_SET_SIGALGS_LIST
460
- Net::SSLeay::CTX_ctrl($ctx , 98, 0, $type . ' +SHA256' )
461
- or die (" Failed to set sigalgs" );
462
- }
463
- }
464
-
465
446
Net::SSLeay::set_cert_and_key($ctx , " $d /$cert .crt" , " $d /$cert .key" )
466
447
or die if $cert ;
467
448
my $ssl = Net::SSLeay::new($ctx ) or die (" Failed to create SSL $! " );
0 commit comments