2014-10-16 13:10:03 +00:00
|
|
|
--- lib/IO/Socket/SSL.pm
|
|
|
|
+++ lib/IO/Socket/SSL.pm
|
2020-03-31 10:34:02 +00:00
|
|
|
@@ -194,7 +194,7 @@ if ( defined &Net::SSLeay::CTX_set_min_p
|
2014-10-16 13:10:03 +00:00
|
|
|
# global defaults
|
|
|
|
my %DEFAULT_SSL_ARGS = (
|
|
|
|
SSL_check_crl => 0,
|
|
|
|
- SSL_version => 'SSLv23:!SSLv3:!SSLv2', # consider both SSL3.0 and SSL2.0 as broken
|
|
|
|
+ SSL_version => '',
|
|
|
|
SSL_verify_callback => undef,
|
|
|
|
SSL_verifycn_scheme => undef, # fallback cn verification
|
|
|
|
SSL_verifycn_publicsuffix => undef, # fallback default list verification
|
2020-03-31 10:34:02 +00:00
|
|
|
@@ -2383,7 +2383,7 @@ sub new {
|
2016-07-16 12:40:15 +00:00
|
|
|
|
|
|
|
my $ssl_op = $DEFAULT_SSL_OP;
|
2014-10-16 13:10:03 +00:00
|
|
|
|
|
|
|
- my $ver;
|
|
|
|
+ my $ver = '';
|
|
|
|
for (split(/\s*:\s*/,$arg_hash->{SSL_version})) {
|
2018-09-17 14:59:10 +00:00
|
|
|
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1(?:_?[123])?))$}i
|
2014-10-16 13:10:03 +00:00
|
|
|
or croak("invalid SSL_version specified");
|
|
|
|
--- lib/IO/Socket/SSL.pod
|
|
|
|
+++ lib/IO/Socket/SSL.pod
|
2020-02-15 15:11:21 +00:00
|
|
|
@@ -1043,11 +1043,12 @@ All values are case-insensitive. Instea
|
2019-02-23 12:45:00 +00:00
|
|
|
'TLSv1_3' one can also use 'TLSv11', 'TLSv12', and 'TLSv13'. Support for
|
|
|
|
'TLSv1_1', 'TLSv1_2', and 'TLSv1_3' requires recent versions of Net::SSLeay
|
|
|
|
and openssl.
|
2014-10-16 13:10:03 +00:00
|
|
|
+The default SSL_version is defined by the underlying cryptographic library.
|
|
|
|
|
2014-11-23 14:55:09 +00:00
|
|
|
Independent from the handshake format you can limit to set of accepted SSL
|
2014-10-16 13:10:03 +00:00
|
|
|
versions by adding !version separated by ':'.
|
2014-10-21 14:27:58 +00:00
|
|
|
|
2014-10-16 13:10:03 +00:00
|
|
|
-The default SSL_version is 'SSLv23:!SSLv3:!SSLv2' which means, that the
|
|
|
|
+For example, 'SSLv23:!SSLv3:!SSLv2' means that the
|
|
|
|
handshake format is compatible to SSL2.0 and higher, but that the successful
|
|
|
|
handshake is limited to TLS1.0 and higher, that is no SSL2.0 or SSL3.0 because
|
|
|
|
both of these versions have serious security issues and should not be used
|