Модуль Perl Net :: XMPP: ошибка пути ssl в системе Windows - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь подключиться к серверу XMPP с помощью модуля perl Net :: XMPP на компьютере под управлением Windows 10, на котором работает Strawberry Perl, и я получаю следующую ошибку:

Invalid or unreadable path specified for ssl_ca_path. at C:/strawberry/perl/site/lib/XML/Stream.pm line 640

Код, который я использую ниже:

#!/bin/perl -w

use strict;
use warnings;

use Net::XMPP;

my $con = new Net::XMPP::Client(); 

my $status = $con->Connect(  
    hostname => 'hostnamepart',  
    connectiontype => 'tcpip',  
    tls => 1);  
die('ERROR: XMPP connection failed') if ! defined($status);

Я проверил, могу ли я подключиться к серверу с помощью клиентского приложения Pidgin на моем компьютере с Windows, и он работает нормально.

Есть ли способ исправить мою проблему с Perl?

1 Ответ

2 голосов
/ 07 мая 2019

Из того, что я могу судить по взгляду на источники, ssl_ca_path должно быть указано, когда используется ssl => 1 или tls => 1. (Это может быть файл или каталог.)

Например, вы можете использовать что-то вроде следующего, чтобы доверять тем CA, которым доверяет Mozilla.

use Mozilla::CA       qw( );
use Net::XMPP::Client qw( );

my $con = Net::XMPP::Client->new();

$con->Connect(  
    ...
    tls         => 1,
    ssl_ca_path => Mozilla::CA::SSL_ca_file(),
);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...