URL의 긴 목록에 대해 인증서 발급자와 키 길이를 가져 오는 방법을 찾아 내려고했습니다.perl URL을 확인 SSL 인증서 키 길이
어떤 Perl 모듈이 제공 할 수 있습니까?
안부,
야닉 Bergeron의
URL의 긴 목록에 대해 인증서 발급자와 키 길이를 가져 오는 방법을 찾아 내려고했습니다.perl URL을 확인 SSL 인증서 키 길이
어떤 Perl 모듈이 제공 할 수 있습니까?
안부,
야닉 Bergeron의
는 TLS
TLS 연결 내부 대칭 암호화에 사용
use strict;
use warnings;
use IO::Socket::SSL;
my $cl = IO::Socket::SSL->new('www.google.com:443') or die $!;
my $cipher = $cl->get_cipher;
my $issuer = $cl->peer_certificate('issuer');
my $pkey = Net::SSLeay::X509_get_pubkey($cl->peer_certificate);
my $bits = Net::SSLeay::EVP_PKEY_bits($pkey);
my $pkey_type = Net::SSLeay::OBJ_nid2sn(Net::SSLeay::EVP_PKEY_id($pkey));
print "cipher: $cipher\n";
print "cert: issuer=$issuer pkey=$pkey_type/$bits\n";
이 코드를 반환 :
cipher: ECDHE-RSA-RC4-SHA
cert: issuer=/C=US/O=Google Inc/CN=Google Internet Authority G2 pkey=rsaEncryption/2048
당신이 비 블로킹 TCP를 사용하여 최대의 코드를 속도를 수있는 짧은 시간에 웹 사이트를 많이 확인해야하는 경우 연결하고 나중에 비 SSL 핸드 셰이크를 차단하여 여러 대상을 동시에 처리합니다. 이 경우 IO :: Socket :: INET 및 IO :: Socket :: SSL의 문서를 참조하십시오.
당신은 Net::SSLeay에 VERIFY_PEER
콜백을 사용할 수 있습니다.
use Net::SSLeay;
use Data::Dumper;
use strict;
# install the VERIFY callback
Net::SSLeay::set_verify ($ssl, Net::SSLeay::VERIFY_PEER, sub {
# get out what you want here
# (this is just an example to allow you to see what's available)
print Dumper(\@_);
});
# make an HTTPS request
my ($page) = get_https('www.example.com', 443, '/');
무엇을 제공하는지 확인하십시오. Net :: SSLeay는 또한 OpenSSL에서 여러 유형의 인증서 API를 구현하므로 많은 부분을 볼 수 있습니다.
Dumper
줄을 원하는대로 바꿉니다. 어떤 경우
my @domains;
Net::SSLeay::set_verify ($ssl, Net::SSLeay::VERIFY_PEER, sub {
push @domains, {
somekey => $_[0]->{somekey},
someotherkey => $_[0]->{someotherkey}
}
});
그런 짓을 단지 기능에에 get_https
에 전화를 넣어 확인하는 도메인의 배열의 각 요소에 대한 호출.
목록 항목을 동시에 확인하기 위해 Parallel::ForkManager을 사용하여 여러 프로세스를 분리 할 수 있습니다.