SSL_cipher_list => 'EDH+aRSA+AESGCM:EDH+aRSA+AES:DHE-RSA-AES256-SHA:EECDH+aRSA+AESGCM:EECDH+aRSA+AES:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:RSA+AESGCM:RSA+AES+SHA:-DES-CBC3-SHA:-DHE-RSA-AES128-SHA:-DHE-RSA-AES128-SHA256:-DHE-RSA-AES128-GCM-SHA256',
$IO::Socket::SSL::DEBUG = 3;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sub create_new_ssl_client {
my $client = IO::Socket::INET->new(PeerAddr=>$config{server},PeerPort=>$config{port},Proto=>'tcp') or errorMsg($!);
IO::Socket::SSL->start_SSL($client,
PeerAddr => $config{server},
SSL_hostname => $config{server},
SSL_VERSION => 'SSLv23:!SSLv2',
verify_hostname => 1,
SSL_port => $config{port},
SSL_verify_mode => SSL_VERIFY_PEER,
SSL_verifycn_name => '', # habe ich angegeben möchte ich aber nicht preisgeben :-)
SSL_verifycn_scheme => 'https',
SSL_ca_file => $config{ca_file},
SSL_ca_path => $config{ca_path},
SSL_cert_file => $config{cert_file},
SSL_key_file => $config{key_file},
SSL_cipher_list => $config{cipher_list}
);#or errorMsg($!);
return $client;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
sub loop {
foreach our $key( $select->can_read() ) { # foreach
if($key eq $server) { # if $bay eq $server
next if $key eq "";
our $bay = $server->accept or next;
defined( my $pid = fork()) or die "fork failed: $!";
$pid and next; # Master
close($server);
IO::Socket::SSL->start_SSL($bay,
PeerAddr => $config{server},
SSL_version => 'SSLv23:!SSLv2',
SSL_verify_mode => SSL_VERIFY_PEER,
verify_hostname => 1,
SSL_hostname => $config{server},
SSL_port => $PORT,
SSL_server => 1,
SSL_ca_file => $config{ca_file},
SSL_ca_path => $config{ca_path},
SSL_verifycn_name => '', # Möchte ich nicht preisgeben :-)
SSL_verifycn_scheme => 'https',
SSL_cert_file => $config{cert_file},
SSL_key_file => $config{key_file},
SSL_cipher_list => $config{cipher_list}
) or die "SSL accept failed: $SSL_ERROR";
our $buffer = "";
my $buffer = <$bay>;
2017-08-04T17:04:51 GwenDragon
SSL_cipher_list => 'SSLv23:TLSv1:!SSLv2',
SSL_cipher_list => 'HIGH',
2017-08-04T16:28:33 GwenDragonVersuch doch mal diese Perl-Programme zum Analysieren des SSL, wo es hakt mit dem Server:
https://raw.githubusercontent.com/noxxi/p5-ssl-too...
https://github.com/noxxi/p5-ssl-tools
1
2
3
4
5
6
7
8
9
DEBUG: .../IO/Socket/SSL.pm:1492: new ctx 21028352
DEBUG: .../IO/Socket/SSL.pm:938: start handshake
DEBUG: .../IO/Socket/SSL.pm:505: starting sslifying
DEBUG: .../IO/Socket/SSL.pm:545: Net::SSLeay::accept -> 0
DEBUG: .../IO/Socket/SSL.pm:1203: SSL connect accept failed because of handshake problemserror:00000000:lib(0):func(0):reason(0)
DEBUG: .../IO/Socket/SSL.pm:1528: free ctx 21028352 open=21028352
DEBUG: .../IO/Socket/SSL.pm:1533: free ctx 21028352 callback
DEBUG: .../IO/Socket/SSL.pm:1536: OK free ctx 21028352
2017-08-09T13:42:31 Sascha2018Kannst du doch prüfen in der Entwicklerkonsole im Netzwerktab ob da was kommt.Noch ist das Problem leider nicht ganz gelöst.
Ich kann mich zwar unter Linux mit Google Chrome bei mir einloggen, der Handshake wird auch glaub ich ausgeführt.
Aber sobald ich es mit Firefox 54.0 verbinden möchte, bleibt der Server irgendwie hängen
2017-08-09T13:42:31 Sascha2018Ja, bitte komplett, kannst du als Textdatei über Dateianhänge hier hochladen.Bräuchtest du denn nochmal meinen Servercode?