1use lib 'inc'; 2 3use Net::SSLeay; 4use Test::Net::SSLeay qw(initialise_libssl); 5 6if (Net::SSLeay::SSLeay < 0x10100001) { 7 plan skip_all => 'OpenSSL 1.1.0 required'; 8} elsif (Net::SSLeay::constant("LIBRESSL_VERSION_NUMBER")) { 9 plan skip_all => 'get/set_security_level not available with LibreSSL'; 10} else { 11 plan tests => 20; 12} 13 14initialise_libssl(); 15 16my $ctx = Net::SSLeay::CTX_new(); 17ok( defined Net::SSLeay::CTX_get_security_level($ctx), 18 "CTX_get_security_level() returns a value" 19); 20 21ok( Net::SSLeay::CTX_get_security_level($ctx) >= 0, 22 "CTX_get_security_level() is non-negative" 23); 24 25for (0..7) { 26 Net::SSLeay::CTX_set_security_level($ctx, $_); 27 is( Net::SSLeay::CTX_get_security_level($ctx), 28 $_, "CTX_get_security_level() matches CTX_set_security_level($_)" ); 29} 30 31my $ssl = Net::SSLeay::new($ctx); 32ok( defined Net::SSLeay::get_security_level($ssl), 33 "get_security_level() returns a value" 34); 35 36ok( Net::SSLeay::get_security_level($ssl) >= 0, 37 "get_security_level() is non-negative" 38); 39 40for (0..7) { 41 Net::SSLeay::set_security_level($ssl, $_); 42 is( Net::SSLeay::get_security_level($ssl), 43 $_, "get_security_level() matches set_security_level($_)" ); 44} 45