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