
Carnivore
New User
Jun 28, 2010, 12:24 PM
Post #2 of 2
(355 views)
|
|
Re: [Carnivore] Accessing the ServerCN after connecting with Net::SSLeay
[In reply to]
|
Can't Post
|
|
After some more digging, I found that I can tell the server to send me a certificate by using Net::SSLeay::set_verify. Here's the same code snippet as before, but with the set_verify use. sub _connectToHost { my $self = shift; unless (defined ($self->{_socket})) { $self->{_socket} = $self->_createSocket ($self->{_host}, $self->{_port}); croak 'unable to open the socket' unless defined ($self->{_socket}); $self->{_tunneler}->tunnelOut ($self->{_socket}) if (defined $self->{_tunneler}); unless (defined ($self->{_ssl})) { $self->{_ssl} = Net::SSLeay::new ($SSLContext) or die_now ("Net::SSLeay::new: $!\n"); } Net::SSLeay::set_fd ($self->{_ssl}, fileno ($self->{_socket})); Net::SSLeay::set_verify ($self->{_ssl}, Net::SSLeay::VERIFY_PEER, \&verify); Net::SSLeay::connect ($self->{_ssl}) or die_now ("failed SSL connect: $!\n"); die_if_ssl_error ("SSL error connecting to server: $!\n"); } confess ("unable to connect to $self->{_host}\n") unless (defined ($self->{_socket}) and defined ($self->{_ssl})); return $self->{_ssl}; } sub verify { my ($ok, $subj_cert, $issuer_cert, $depth, $errorcode, $arg, $chain) = @_; print "Verifying certificate...\n"; return $ok; } The problem is that I now get the following error: Bareword "Net::SSLeay::VERIFY_PEER" not allowed while "strict subs" in use at C:/Perl/site/lib/MyApp/Utils/SocketDriver.pm line 287. This does appear to be defined in the SSLeay.pm that's installed on my system. Why would I be getting this error?
|