我正在尝试通过IO::Socket::SSL at CSPAN的SSL示例进行工作。
我在示例中添加了SSL_ca_file
:
$client->SSL_ca_file('ca-rsa-cert.pem')
|| die "failed to set CA certificate";
当我尝试执行脚本时,我得到:
Can't locate object method "SSL_ca_file" via package "IO::Socket::SSL"
有什么想法我可能做错了吗? Google并未提出有用的回应。
编辑:当我尝试使用以下Miller的建议时:
my $client = IO::Socket::SSL->new("example.com:8443",
SSL_ca_file => 'ca-rsa-cert.pem')
|| warn "I encountered a problem: ".IO::Socket::SSL::errstr();
我收到一个错误:
Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328.
I encountered a problem: IO::Socket::IP configuration failed error:00000000:lib(0):func(0):reason(0) at ./TestCert.pl line 6.
编辑:按照Miller提供的文档,一切正常:
my $client = IO::Socket::SSL->new(
PeerAddr => 'example.com',
PeerPort => '8443',
Proto => 'tcp',
SSL_ca_file => 'ca-rsa-cert.pem')
|| warn "I encountered a problem: ".IO::Socket::SSL::errstr();
系统是Debian Wheezy(7.3,x64)。 PERL是版本5.14.2。
最佳答案
SSL_ca_file
是 new
的IO::Socket::SSL
构造函数的可用选项。这不是可用的方法。
my $client = IO::Socket::SSL->new(
SSL_ca_file => 'ca-rsa-cert.pem',
) or warn "I encountered a problem: ".IO::Socket::SSL::errstr();
我以前从未使用过此模块,但是文档指出,如果有帮助,该软件包的
example directory
中包含示例。