cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2608
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11

Subject: RE: Perl/SOAP Lite certificate validation error
Replied by: David Staudt on 15-02-2012 11:57:11 AM
Unfortunately I don't have the PERL background to provide any practical advice, but perhaps a clue: AXL is a secure (HTTPS/SSL) web service, and as such typically both the client and the server in the connection will expect to validate each other's SSL certificates.  Assuming this is not happening, there are two general approaches:
 
- Download/install the AXL wervice's SSL cert into the client (how-to for PERL is beyond me)
- Program the client in such a way that it ignores the failure to validate the AXL cert
 
Some likely looking links:
 
http://code.activestate.com/lists/activeperl/21645/
http://stackoverflow.com/questions/6795030/how-to-ignore-certificate-verify-failed-error-in-perl
This document was generated from CDN thread

Created by: Erick Wellnitz on 15-02-2012 11:44:50 AM
When i try to run my script I get the following error.
 
LWP:rotocol::https::Socket: SSL connect attempt failed with unknown errorerror
:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed at
C:/Program Files/Cisco/Perl/lib/LWP/Protocol/http.pm line 51.
500 Can't connect to xxx.xxx.xxx.xxx:8443 (certificate verify failed) at xxx\TestAXL.pl line 27
 
I'm fairly new to Perl so any help is appreciated in figuring this out.  Code is below.
 
#!/Program Files/Cisco/perl -w
use strict;
use warnings;
use SOAP::Lite +trace => 'debug';
use Data:umper;
use MIME::Base64;
my $cucmip = "xxx.xxx.xxx.xxx";
my $axl_port = "8443";
my $user = "xxxx";
my $password = "xxxx";
my $DEBUG = 1;
my $error_text;
my $sql = "select description from device where name = 'SEP000000123456'";
my $cm = new SOAP::Lite
encodingStyle => '',
uri => 'http://www.cisco.com/AXL/API/1.0',
proxy => "https://$cucmip:$axl_port/axl/" ;
$cm = Login($cm,$user,$password);
#axl request
my $axldata = SOAP:ata->name( "sql" => $sql );

my $res = $cm->executeSQLQuery( $axldata );
unless ($res->fault)
{
 $Data:umper::Indent = 3;
 print Dumper($res->paramsall()) if ( $DEBUG==1);
}
else
{
 $error_text = $res->faultcode.' '.$res->faultstring."\n";
 print $error_text
}
################################################
sub Login
{
 $cm->transport->http_request->header (
 'Authorization' => 'Basic ' . encode_base64("$user:$password", ''));
 return $cm;
}

Subject: RE: Perl/SOAP Lite certificate validation error
Replied by: Erick Wellnitz on 15-02-2012 12:26:43 PM
The line from the ActiveState url did it.

BEGIN { $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0 }

Talk about the answer being right under my nose the entire time.

Thanks!
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links