1 package LWP::Protocol::https;
6 require LWP::Protocol::http;
7 @ISA = qw(LWP::Protocol::http);
11 my($self, $req, $sock) = @_;
12 my $check = $req->header("If-SSL-Cert-Subject");
14 my $cert = $sock->get_peer_certificate ||
15 die "Missing SSL certificate";
16 my $subject = $cert->subject_name;
17 die "Bad SSL certificate subject: '$subject' !~ /$check/"
18 unless $subject =~ /$check/;
19 $req->remove_header("If-SSL-Cert-Subject"); # don't pass it on
26 $self->SUPER::_get_sock_info(@_);
28 $res->header("Client-SSL-Cipher" => $sock->get_cipher);
29 my $cert = $sock->get_peer_certificate;
31 $res->header("Client-SSL-Cert-Subject" => $cert->subject_name);
32 $res->header("Client-SSL-Cert-Issuer" => $cert->issuer_name);
34 if(! eval { $sock->get_peer_verify }) {
35 $res->header("Client-SSL-Warning" => "Peer certificate not verified");
39 #-----------------------------------------------------------
40 package LWP::Protocol::https::Socket;
44 @ISA = qw(Net::HTTPS LWP::Protocol::http::SocketMethods);