gpt4 book ai didi

ssl - 使用基于 https 的 SOAP::Lite,证书验证失败

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:16 25 4
gpt4 key购买 nike

我构建了一个基于 SSL 的 apache mod_perl 网络服务。当然,从我的浏览器,我可以使用 https 访问网络服务(当然,我将我的自签名 CA 证书添加到浏览器的信任列表)访问网络服务,但是当使用 SOAP::Lite 时,我失败了。这是我的源代码:

$ENV{HTTPS_CERT_FILE} = '/etc/pki/tls/mycerts/client.crt';
$ENV{HTTPS_KEY_FILE} = '/etc/pki/tls/mycerts/client.key';
#$ENV{HTTPS_CA_FILE} = '/etc/pki/tls/mycerts/ca.crt';
#$ENV{HTTPS_CA_DIR} = '/etc/pki/tls/mycerts/ca.key';
#$ENV{HTTPS_VERSION} = 3;
$ENV{SSL_ca_file}='/etc/pki/tls/mycerts/ca.crt';
$ENV{SSL_ca_pah}='/etc/pki/tls/mycerts/';
#$ENV{SSL_cert_file}='/etc/pki/tls/mycerts/client.key';
#$ENV{SSL_key_file}='/etc/pki/tls/mycerts/client.crt';
$ENV{PERL_LWP_SSL_CA_FILE}='/etc/pki/tls/mycerts/ca.crt';
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=1;
#$ENV{PERL_LWP_SSL_CA_PATH}='/etc/pki/tls/mycerts/';
use SOAP::Lite;
my $name = "wuchang";
print "\n\nCalling the SOAP Server to say hello\n\n";
print SOAP::Lite
-> uri('http://localhost/mod_perl_rules1')
-> proxy('https://localhost/mod_perl_rules1')
-> result;

我收到回复:

500 Can't connect to localhost:443 (certificate verify failed) at /root/Desktop/test.pl line 18

我真的无法调试这个。我不知道我的证书格式是否不正确。我使用 openssl 生成我的证书,包括客户端证书、服务器证书和我的自签名 ca 证书,我让 CA 签署客户端和服务器证书。我真的不知道出了什么问题/。

最佳答案

简单地告诉它不要检查证书。像这样将 SSL 验证设置为零:

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=0;

关于ssl - 使用基于 https 的 SOAP::Lite,证书验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com