Debian lenny version packages
[pkg-perl] / deb-src / libnet-ssleay-perl / libnet-ssleay-perl-1.35 / examples / passwd-cb.pl
1 #!/usr/local/bin/perl
2 # passwd-cb.pl
3 #
4 # Check using password callbacks to decrypt private keys
5 # $Id: passwd-cb.pl,v 1.2 2002/06/05 18:25:47 sampo Exp $
6
7 use Socket;
8 use Net::SSLeay qw(die_now die_if_ssl_error);
9 Net::SSLeay::randomize();
10 Net::SSLeay::load_error_strings();
11 Net::SSLeay::SSLeay_add_ssl_algorithms();
12
13 my ($key_pem, $password) = @ARGV;
14
15 print "Keyfile: `$key_pem', pw: `$password'\n";
16 $calls = 0;
17
18 sub callback {
19     $calls++;
20     print "Callback `$password'\n";
21     return $password;
22 }
23
24 my $ctx = Net::SSLeay::CTX_new() or die_now("Failed to create SSL_CTX $!");
25 if (1) {
26 Net::SSLeay::CTX_set_default_passwd_cb($ctx, \&callback);
27 }
28 Net::SSLeay::CTX_use_PrivateKey_file($ctx, $key_pem,
29     &Net::SSLeay::FILETYPE_PEM())
30     or print "CTX_use_PrivateKey_file failed\n";
31
32 print "calls=$calls\n";
33
34 #EOF