I've hit this bug a bunch myself.  

The basic issue is that there are two different implementations of the SSL guts 
that LWP may use. One old one based on Net:SSL (which comes from a virtually 
unmaintained module called Crypt::SSLeay) and a modern one based on 
IO::Socket::SSL.  By default, LWP chooses IO::Socket::SSL, and IO::Socket::SSL 
does not honor the environment variable settings you're specifying in your 
script - only Net::SSL uses those.

The easiest fix is probably to specify explicitly that you want LWP to use the 
Net::SSL implementation.  You can do this by adding

use Net::SSL ();

somewhere after your environment variable declarations near the top of your 
program.

If that doesn't work, you can find out how to make IO::Socket::SSL use your 
client certs/CA certs by consulting Stack Overflow (see, for example, this 
answer: http://stackoverflow.com/a/74432 which has a pretty nice answer.)

This is an area of LWP which requires far better documentation as it is very 
confusing.

Mark


________________________________
 From: Arshad Noor <arshad.n...@strongauth.com>
To: libwww@perl.org 
Sent: Thursday, June 7, 2012 12:39 PM
Subject: Problem with LWP, SSL and ClientAuth
 
I have small problem that appears to be related to the LWP module even
though I'm using SOAPLite.  I'm new to Perl, so figuring this out has
been difficult.  I've documented the problem at the following URL, but
have not heard from anyone yet on that forum.

http://tech.groups.yahoo.com/group/soaplite/message/6618

Is there any light that someone knowledgeable from this forum can
throw on this?  I would appreciate it.  Thanks.

Arshad Noor

Reply via email to