Попытка получить ошибки SSL-сертификата - PullRequest
0 голосов
/ 29 марта 2011

Привет. Я пытаюсь получить SSL-сертификаты из Perl-скрипта. Основной целью является проверка SSL-сертификатов, которым нельзя доверять, как описано выше здесь . Однако я не уверен, как поступить. У меня нет центра сертификации, с которым я могу проверить сертификат и, следовательно, даже URL-адреса с действительными сертификатами sem для выдачи ошибок. Ниже приведен код, который я написал

#!/usr/bin/perl

require LWP::UserAgent;
use Crypt::SSLeay::CTX;
use Crypt::SSLeay::Conn;
use Crypt::SSLeay::X509;
use LWP::Simple qw(get);

$ENV{HTTPS_DEBUG} = 1;


my $ua  = LWP::UserAgent->new;
#$ua->ssl_opts(verify_hostname => "true");
$ua->timeout(300);
my $req = HTTP::Request->new(GET => 'https://abcdefxyz.com');

my $res = $ua->request($req);

print $res->headers_as_string . "\n" . $res->status_line;

Я запустил это так

perl test2.pm> test

SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server key exchange A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A

А вот и вывод для того же.

Connection: close
Date: Tue, 29 Mar 2011 01:56:44 GMT
Server: Server
Vary: Accept-Encoding,User-Agent
WWW-Authenticate: Negotiate
WWW-Authenticate: Basic realm="abc (Windows) Login"
Content-Length: 401
Content-Type: text/html; charset=iso-8859-1
Client-Date: Tue, 29 Mar 2011 01:56:44 GMT
Client-Peer: 127.0.0.1:5443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=US/ST=Illinois/L=Chicago/O=abcdefxyz.com /CN=abcdefxyz.com
Client-SSL-Cert-Subject: /C=US/ST=Illinois/L=Chicago/O=abcdefxyz.com /CN=abcdefxyz.com
Client-SSL-Cipher: DHE-RSA-AES256-SHA
Client-SSL-Warning: Peer certificate not verified
Client-Warning: Unsupported authentication scheme 'negotiate'
Title: 401 Authorization Required
X-Pad: avoid browser bug

401 Authorization Required

В любом случае могу ли я получить тип ошибки SSL сертификата, не имея локального файла CA. Я новичок здесь и для Perl, так что полезная информация будет принята с благодарностью.

1 Ответ

1 голос
/ 29 марта 2011

Обновление до последней версии LWP :: Protocol :: https .Это автоматически вытянет соответствующие зависимости, например, недавние IO::Socket::SSL и Mozilla::CA. LWP v6 введено автоматическая проверка подписей CA.

Вы можете сделать свои собственные сертификаты, как действительными, так и действительными с подписью CA, и всеми видами недействительных.См. Как создать настоящий SSL-сертификат? в документации Apache httpd , Создание собственного ЦС с OpenSSL (немногодаты) и rsa и CA.pl в документации OpenSSL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...