use strict; use warnings; #use IO::Socket::SSL::DEBUG::3; use IO::Socket::SSL qw(debug3); use Net::SSLeay; # simple server my $server = IO::Socket::SSL->new( # where to listen PeerAddr => '127.0.0.1:5061', #LocalAddr => '127.0.0.1', #LocalPort => 5001, #Listen => 10, # which certificate to offer # with SNI support there can be different certificates per hostname verify_mode => Net::SSLeay->VERIFY_PEER(), SSL_cert_file => 'C:/Users/Documents/Private-Public-key-cert/Cert.crt', SSL_key_file => 'C:/Users/Documents/Private-Public-key-cert/Private0504.key', SSL_fingerprint => 'sha1$B151CE74BC550FF4FF173266B906F0FCF45FFCEB', ca_file => 'C:/Users/Documents/Private-Public-key-cert/cacerts', ) or die "failed to listen: $!"; # accept client my $client = $server->accept or die "failed to accept or ssl handshake: $!,$SSL_ERROR"; IO::Socket::SSL->start_SSL($client, SSL_server => 1, ) or die "failed to ssl handshake: $SSL_ERROR";