Hey there, thank you for your reply. It seems you were right, WWW::Curl seems to have a problem, which is probably with libcurl itself. The option CURLOPT_KEYPASSWD does not seem to work and will give an error in Perl if you try to pass anything to it saying the argument CURLOPT_KEYPASSWD isn't numeric, which from what it seems like means that in this case KEYPASSWD is not defined. Using CURLOPT_SSLKEYPASSWD solves the problem and works fine. Hope this will help other people avoid the same issues in the future.