When trying to connect to a test SSL SOAP server with an invalid certificate, Perl is printing out this massive chunk of text:
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
It turns out that this is coming from IO::Socket::SSL
(which would be a nice detail to include in the warning text, donchathink?), but I'm never referencing IO::Socket::SSL
directly; it's only a dependency of SOAP::Lite
somewhere down the chain. It seems like I should be able to pass options to it somehow, but none of the things I've tried seem to work.
Notably, setting IO::Socket::SSL
's defaults using its set_defaults
method doesn't resolve the warning.
How can I pass SSL options to IO::Socket::SSL
when it's being used from SOAP::Lite
?