2011-03-29 4 views
0

안녕하세요 저는 펄 스크립트에서 SSL 인증서를 얻으려고합니다. 주 목적은 설명 된대로 신뢰할 수없는 SSL 인증서를 확인하는 것입니다. here. 그러나 나는 어떻게 진행해야하는지 확신 할 수 없다. 나는 인증서를 확인할 수있는 인증 기관이 없기 때문에 유효한 인증서 sem을 사용하여 오류를 던질 수도 있습니다. 다음은 내가 그것을SSL 인증서 오류를 얻으려고 시도

펄 test2.pm> 여기

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 

그리고 시험

는 동일한에 대한 출력이 방법을 실행
#!/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; 

을 쓴 코드입니다.

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 오류 유형을 가져올 수 있습니까? 나는 이곳에서 펄에게 초보자이기 때문에 유용한 통찰력이 크게 감사 할 것입니다.

+0

는 [모질라 :: CA (http://search.cpan.org/perldoc/Mozilla::CA)를 설치, ANS이 도움이되는지 확인합니다. –

답변

1

LWP::Protocol::https의 최신 버전으로 업그레이드하십시오. 그러면 자동으로 적절한 종속성이 생성됩니다. 최근 IO::Socket::SSLMozilla::CA입니다. LWP v6 소개 자동 CA 서명 확인.

CA 서명과 유효하지 않은 모든 종류의 유효한 유효한 인증서를 만들 수 있습니다. 에는 OpenSSL 설명서에 How do I create a real SSL Certificate? in the Apache httpd documentation, Creating your own CA with OpenSSL (약간 오래된)과 rsaCA.pl 맨 페이지를 참조하십시오.