Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: How can I access the Web Site Certificate with perl

by araqnid (Beadle)
on Apr 07, 2001 at 05:48 UTC ( #70675=note: print w/replies, xml ) Need Help??

in reply to How can I access the Web Site Certificate with perl

What are you using to do the HTTPS transfer?

I'm using LWP (libwww-perl) with Crypt::SSLeasy (lib-crypt-ssleay-perl on Debian), and if I say:

 HEAD -x
I get some headers back in the response, e.g.:
Client-SSL-Cert-Issuer: /C=US/ST=Georgia/L=Atlanta/O=Debian/OU=LDAP/
Client-SSL-Cert-Subject: /C=US/ST=Georgia/L=Atlanta/O=Debian/OU=LDAP/
Client-SSL-Warning: Peer certificate not verified
I strongly recommend reading the Crypt::SSLeay documentation.

So, to use this in a more substantive example:

#!/usr/bin/perl -w require 5.6.0; use strict; use LWP; our $hostname = shift or die "Syntax: $0 hostname\n"; our $ua = LWP::UserAgent->new; our $req = HTTP::Request->new(HEAD => "https://$hostname"); our $resp = $ua->request($req); print " Site: ", $resp->header('Client-SSL-Cert-Subject'), " +\n"; print "Cert. Authority: ", $resp->header('Client-SSL-Cert-Issuer'), "\ +n"; print " Cipher: ", $resp->header('Client-SSL-Cipher'), "\n";
and then you should be able to run this script with the hostname of an SSL site as a parmaeter, e.g. "". HTH

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://70675]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2016-10-26 03:13 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (331 votes). Check out past polls.