【问题标题】:Certificates issue with a perl scriptperl 脚本的证书问题
【发布时间】:2018-04-19 11:06:02
【问题描述】:

我需要使用 url 连接 OSTR 以通过 webservice 创建票证,但我遇到了 certificates 问题。

错误(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.中添加新证书


代码

代码(Picture here)

【问题讨论】:

  • 你能显示你正在使用的代码吗?
  • 当然,链接图片里的代码我给你
  • 这不是代码,这只是错误消息的一部分。
  • 我指的是另一张图片,即“我尝试过的”部分下方的图片

标签: perl ssl-certificate lwp-useragent


【解决方案1】:

好吧,请尝试这段代码并添加/删除设置环境变量的行,对我来说这只是工作

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(因为测试 URL 实际上并不运行 SOAP Web 服务)。

另外,请将实际代码 sn-ps 放在 SO 上,以文本而不是屏幕截图的形式,并尽量保持简短。

哦,顺便说一句,我写了一个小脚本来使用 Web 服务在 OTRS 中创建票证,就在这里,也许它对你有用 -> https://github.com/mbeijen/App-OTRS-CreateTicket

【讨论】:

    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 2017-09-15
    • 2014-12-29
    • 2014-12-07
    • 2011-05-16
    • 2013-03-11
    • 2013-09-18
    • 2013-07-28
    相关资源
    最近更新 更多