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