I upgraded my IO::Socket::SSL to the latest version, it took a while since I also had to upgrade a bunch of other stuff to get it to work, but at least now I have all the utilities.

I ran your code to generate a certificate, setup the server and connect to it, that all worked. Next I ran the server on the host which I'm trying to connect to and modified the ip for the client, still worked. Then I configured apache to use that exact certificate and and again it worked!

Convinced that all my troubles were over I tried to execute my script from the original post to see if it would also work with the new certificate but...

DEBUG: .../IO/Socket/SSL.pm:2555: new ctx 34454560 DEBUG: .../IO/Socket/SSL.pm:539: socket not yet connected DEBUG: .../IO/Socket/SSL.pm:541: socket connected DEBUG: .../IO/Socket/SSL.pm:563: ssl handshake not started DEBUG: .../IO/Socket/SSL.pm:599: not using SNI because hostname is unk +nown DEBUG: .../IO/Socket/SSL.pm:631: request OCSP stapling DEBUG: .../IO/Socket/SSL.pm:650: set socket to non-blocking to enforce + timeout=180 DEBUG: .../IO/Socket/SSL.pm:663: Net::SSLeay::connect -> -1 DEBUG: .../IO/Socket/SSL.pm:673: ssl handshake in progress DEBUG: .../IO/Socket/SSL.pm:683: waiting for fd to become ready: SSL w +ants a read first DEBUG: .../IO/Socket/SSL.pm:703: socket ready, retrying connect DEBUG: .../IO/Socket/SSL.pm:2458: did not get stapled OCSP response DEBUG: .../IO/Socket/SSL.pm:2411: ok=1 cert=34885312 DEBUG: .../IO/Socket/SSL.pm:1559: scheme=www cert=34885312 DEBUG: .../IO/Socket/SSL.pm:1569: identity=192.168.100.222 cn=________ +_____ alt= DEBUG: .../IO/Socket/SSL.pm:1769: hostname verification failed DEBUG: .../IO/Socket/SSL.pm:663: Net::SSLeay::connect -> -1 DEBUG: .../IO/Socket/SSL.pm:1780: SSL connect attempt failed DEBUG: .../IO/Socket/SSL.pm:1785: SSL connect attempt failed error:140 +90086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify fai +led DEBUG: .../IO/Socket/SSL.pm:669: fatal SSL error: SSL connect attempt +failed error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certif +icate verify failed DEBUG: .../IO/Socket/SSL.pm:1769: IO::Socket::IP configuration failed DEBUG: .../IO/Socket/SSL.pm:2588: free ctx 34454560 open=34454560 DEBUG: .../IO/Socket/SSL.pm:2593: free ctx 34454560 callback DEBUG: .../IO/Socket/SSL.pm:2600: OK free ctx 34454560 500 Can't connect to 192.168.100.222:4433 (certificate verify failed) Content-Type: text/plain Client-Date: Wed, 07 Jan 2015 23:00:51 GMT Client-Warning: Internal response Can't connect to 192.168.100.222:4433 (certificate verify failed) SSL connect attempt failed error:14090086:SSL routines:SSL3_GET_SERVER +_CERTIFICATE:certificate verify failed at /usr/local/share/perl/5.14. +2/LWP/Protocol/http.pm line 49
On the serverside openssl s_server said:
Using default temp DH parameters Using default temp ECDH parameters ACCEPT bad gethostbyaddr ERROR 140707196729000:error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 aler +t certificate unknown:s3_pkt.c:1256:SSL alert number 46 shutting down SSL CONNECTION CLOSED ACCEPT

trying to connect to apache with the new cert also failed. This leaves me to think that there is something wrong with (the way I'm using) LWP::UserAgent.

Is it possible to handle the ssl connection with IO::Socket::SSL directly but still have all the LWP::UserAgent functionality for my interaction with the server after the connection is established?


In reply to Re^2: HTTPS connection with LWP and self-signed certificate by Anonymous Monk
in thread HTTPS connection with LWP and self-signed certificate by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.