PERL_LWP_SSL_VERIFY_HOSTNAME setting to 0 is not working

cpan, lwp, perl, ssl, vmware

Solution

Rather than using `use Net::SSL;` soon in your code, you can achieve more predictable behavior with:

$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = 'Net::SSL';

And now `PERL_LWP_SSL_VERIFY_HOSTNAME` set to zero will work as expected. But changing the underlying implementation module should not be considered as solution, but a hack.

Problem

Am running into an issue connecting on a Ubuntu machine while my other machine works fine. The difference between both is the Ubuntu version and the SSLeay version but i can't narrow down what the issue is. I already did the following: a) add the environment variable: PERL_LWP_SSL_VERIFY_HOSTNAME with a value of 0 b) add the $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0; to the VICommon.pm file Both the above ones didn't work. I can't figure out why it doesn't work on my second machine. Ubuntu 12.10 (Works) $perl /usr/lib/vmware-vcli/apps/general/connect.pl --url https:///sdk/webService --username --password Connection Successful Server Time : 2013-07-19T22:11:31.681181Z $ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi $ perl -MLWP -e 'print "LWP Version: $LWP::VERSION\n"' LWP Version: 6.04 $ perl -MCrypt::SSLeay -e 'print "Crypt::SSLeay Version: $Crypt::SSLeay::VERSION\n"' Crypt::SSLeay Version: 0.58 Ubuntu 13.04 (Doesn't work) $perl /usr/lib/vmware-vcli/apps/general/connect.pl --url https:///sdk/webService --username --password Server version unavailable at 'https:///sdk/vimService.wsdl' at /usr/share/perl/5.14/VMware/VICommon.pm line 548. $ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi $ perl -MLWP -e 'print "LWP Version: $LWP::VERSION\n"' LWP Version: 6.04 $ perl -MCrypt::SSLeay -e 'print "Crypt::SSLeay Version: $Crypt::SSLeay::VERSION\n"' Crypt::SSLeay Version: 0.64 Certificate error (same in both machines) lwp-request https:///sdk/webService Can't connect to :443 (certificate verify failed) LWP::Protocol::https::Socket: SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed at /usr/share/perl5/LWP/Protocol/http.pm line 51. UPDATE 1 Looks like the issue has nothing to do with the Ubuntu version but the new packages i get when i do 'apt-get upgrade', on the 12.10 box i didn't do that and it was working. However on 13.04 i ended up doing all the updates. Now since i get more than 80 updates when i did i still haven't narrowed down to the library which is messing it up. When i installed a new 13.04 image it works fine. ** Update 2 ** Looks like the base Ubuntu 12.10 or 13.04 work fine. If you get the latest updates then it stops working. So not sure yet which library is causing the problem.

Original source

Related problems