Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 09ee4ff86605709785f6d4a0a613343d > files > 15

perl-IO-Socket-SSL-0.80-1mdk.i586.rpm

#
# a test client for testing IO::Socket::SSL-class's behavior
# (aspa@kronodoc.fi).
#
# $Id: ssl_client.pl,v 1.6 2001/04/24 06:34:34 aspa Exp $.
#


use strict;
use IO::Socket::SSL;

my ($v_mode, $sock, $buf);

if($ARGV[0] eq "DEBUG") { $IO::Socket::SSL::DEBUG = 1; }


if(!($sock = IO::Socket::SSL->new( PeerAddr => 'localhost',
				   PeerPort => '9000',
				   Proto    => 'tcp',
				   SSL_use_cert => 1,
				   SSL_verify_mode => 0x01,
				 ))) {
  print STDERR "unable to create socket: '$!'.\n";
  exit(0);
} else {
  print STDERR "connect ($sock).\n" if ($IO::Socket::SSL::DEBUG);
}

# check server cert.
my ($peer_cert, $subject_name, $issuer_name, $cipher);
if( ref($sock) eq "IO::Socket::SSL") {
    if(($peer_cert = $sock->get_peer_certificate)) {
	$subject_name = $peer_cert->subject_name;
	$issuer_name = $peer_cert->issuer_name;
	$cipher = $sock->get_cipher();
    }
    print STDERR "cipher: $cipher.\n";
    print STDERR "server cert:\n". 
	"\t '$subject_name' \n\t '$issuer_name'.\n\n";
}

$buf = "";

$sock->sysread($buf, 32768);

print "read: '$buf'.\n";