证书与perl脚本一起发布

时间:2018-04-19 11:06:02

标签: perl ssl-certificate lwp-useragent

我需要使用网址连接 OSTR 以通过 webservice 创建故障单,但我遇到证书的问题。< / p>

错误(picture here):

500 Can't connect to         (certificate verify failed)

我尝试了什么

  • $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

  • my $UA = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0, } );

  • 我还尝试在C:\otrs\Kernel\cpan-lib\Mozilla\CA\cacert.pem.

  • 中添加新证书

CODE

代码(Picture here)

1 个答案:

答案 0 :(得分:0)

好吧,请尝试使用此代码并添加/删除设置env变量的行,对我来说正常工作

use strict;
use warnings;

use SOAP::Lite;

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
my $URL = 'https://self-signed.badssl.com/foo';
my $NameSpace = 'https://self-signed.badssl.com/';
my $Operation = 'TicketCreate';

my $XMLData = <<'XML';
<UserLogin>login</UserLogin>
<Password>pass</Password>
<Ticket>
  <Title>Title</Title>
</Ticket>
XML

my $SOAPObject = SOAP::Lite->uri($NameSpace)->proxy($URL)->$Operation($XMLData);

如果没有$ENV{}行,它会500 Can't connect ... (certificate verify failed),而它会提供405 Not Allowed(因为测试网址实际上并不运行SOAP网络服务)。

另外,请将实际的代码段放在SO上,文本中而不是屏幕截图中,请尝试将它们缩短。

哦,顺便说一句,我写了一个小脚本,使用网络服务在OTRS中创建门票,就在这里,也许它对你很有用 - &gt; https://github.com/mbeijen/App-OTRS-CreateTicket