【发布时间】:2020-02-28 14:02:54
【问题描述】:
我正在尝试使用 perl 验证证书。我可以验证证书并通过 curl 获得响应,但我该如何转换。以下为 perl。
curl -i --cert /Downloads/file.pfx:secret_key --cert-type P12 https://example.com/gettoken
当我在 curl 中运行上述内容时,我会返回一个带有状态 ok 和其他数据的 json 对象。
我尝试在 perl 中进行相同的转换
use LWP::UserAgent qw();
require LWP::Protocol::https;
my $ua = LWP::UserAgent->new;
$ua->ssl_opts(
SSL_ca_file => '/Downloads/file.pfx',
);
my $test = $ua->post('https://example.com/gettoken');
当我在 $test 上进行转储时,我收到 500 错误。如何传递证书类型和密钥。还是我离题了,这不是正确的模块。
【问题讨论】:
-
您确定您的下载目录在您的根目录中吗?如果是这样,那就太不寻常了。此外,Perl 是一种鼓励尝试不同方法直到成功的语言。您的错误似乎表明服务器无法正确处理您的请求(500),这可能意味着以下两种情况之一:服务器出现故障,或者您的请求完全荒谬。唯一的好处是您的程序正在运行,只是不是以“服务器兼容”的方式运行。
-
下载只是一个例子。我正在寻求将 curl 命令转换为 perl 的帮助。我认为请求编写正确,但是我不确定在哪里添加 curl 命令正在使用的密钥和证书类型。