首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图获取SSL证书错误

试图获取SSL证书错误
EN

Stack Overflow用户
提问于 2011-03-29 02:05:05
回答 1查看 2.5K关注 0票数 0

嗨,我正在尝试从perl脚本获得SSL证书。其主要目的是检查不受信任的SSL证书,如给定的这里所述。然而,我不知道如何进行。我没有一个可以使用证书检查证书的证书颁发机构,因此,即使是带有有效证书sem的urls也无法抛出错误。下面是我写的代码

代码语言:javascript
复制
#!/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 >测试

代码语言:javascript
复制
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

这是同样的输出。

代码语言:javascript
复制
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

如果没有本地CA文件,我是否可以获得证书的SSL错误类型。我是这里的新手,对于perl来说,有帮助的见解将是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2011-03-29 09:03:09

升级到最新版本的LWP::Protocol::https。这将自动引入适当的依赖项,例如最近的IO::Socket::SSLMozilla::CALWP v6引入了CA签名的自动验证。

您可以使用CA签名和所有类型的无效证书使您自己的证书有效、有效。请参阅在Apache文档中http://sandbox.rulemaker.net/ngps/m2/howto.ca.html (略有过时)以及OpenSSL文档中的rsaCA.pl手册。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5467111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档