7 $ssl_ctx=SSL::CTX->new("SSLv3_client");
9 $ssl_ctx->set_options("-info_callback" =>
11 print STDERR $_[0]->state()."\n";
15 $conn="localhost:4433";
16 $conn=$ARGV[0] if $#ARGV >= 0;
17 $cbio=BIO->new("connect");
18 $cbio->hostname($conn) || die $ssl->error();
20 $bbio=BIO->new("buffer");
22 $sbio=BIO->new("ssl");
23 $ssl=$ssl_ctx->new_ssl;
24 $ssl->set_options(-connect_state);
33 # my($bio,$state,$cmd,$buf,$lart,$ret)=@_;
34 # print STDERR "$state:$cmd\n";
41 print STDERR $b->type."\n";
42 } while ($b=$b->next_bio);
44 (($ret=$bio->syswrite("GET / HTTP/1.0\r\n\r\n")) > 0) || die $bio->error();
52 print STDERR "$ret\n";
54 $server=$1 if $ret=~ /^Server: (.*)/;
58 print "server is $server\n";
59 $x509=$ssl->get_peer_certificate();
60 print "version :".$x509->get_version()."\n";
61 print "serialNumber:".$x509->get_serialNumber()->bn2hex."\n";
62 print "subject :".$x509->get_subject_name()."\n";
63 print "issuer :". $x509->get_issuer_name()."\n";
65 $c=$ssl->get_current_cipher;
70 print "protocol=".$ssl->get_version."\n";
71 print "bits=$i($a) cipher type=$v cipher=$n\n";