2 # a test server for testing IO::Socket::SSL-class's behavior
3 # (marko.asplund at kronodoc.fi).
5 # $Id: ssl_server.pl,v 1.7 2000/11/08 09:25:21 aspa Exp $.
12 my ($sock, $s, $v_mode);
14 if($ARGV[0] eq "DEBUG") { $IO::Socket::SSL::DEBUG = 1; }
16 # Check to make sure that we were not accidentally run in the wrong
22 die "Please run this example from the IO::Socket::SSL distribution directory!\n";
26 if(!($sock = IO::Socket::SSL->new( Listen => 5,
27 LocalAddr => 'localhost',
31 SSL_verify_mode => 0x01,
32 SSL_passwd_cb => sub {return "bluebell"},
34 warn "unable to create socket: ", &IO::Socket::SSL::errstr, "\n";
37 warn "socket created: $sock.\n";
40 warn "waiting for next connection.\n";
42 while(($s = $sock->accept())) {
43 my ($peer_cert, $subject_name, $issuer_name, $date, $str);
46 warn "error: ", $sock->errstr, "\n";
50 warn "connection opened ($s).\n";
52 if( ref($sock) eq "IO::Socket::SSL") {
53 $subject_name = $s->peer_certificate("subject");
54 $issuer_name = $s->peer_certificate("issuer");
57 warn "\t subject: '$subject_name'.\n";
58 warn "\t issuer: '$issuer_name'.\n";
60 my $date = localtime();
61 print $s "my date command says it's: '$date'";
63 warn "\t connection closed.\n";
70 warn "loop exited.\n";