# create a self-signed certificate perl -MIO::Socket::SSL::Utils -e ' my ($c,$k) = CERT_create(CA => 1, subject => { CN => q[foo.bar]}); print PEM_cert2string($c).PEM_key2string($k)' \ > self-signed.pem # start a server with this certificate (default port 4433) openssl s_server -cert self-signed.pem -key self-signed.pem & # connect to this server perl -Ilib -MIO::Socket::SSL=debug4 -e ' my $cl = IO::Socket::SSL->new( PeerAddr => q[127.0.0.1:4433], SSL_hostname => q[foo.bar], SSL_ca_file => q[self-signed.pem] ) or die "$SSL_ERROR,$!"; warn "SUCCESS cipher=".$cl->get_cipher();'