certyfikaty SSL

Jacek Osiecki joshua w hybrid.pl
Czw, 1 Lut 2007, 16:20:03 CET


On Thu, 1 Feb 2007, Kamil Dziedzic wrote:

> Dnia czwartek, 1 lutego 2007 12:12, Jacek Osiecki napisał:
>> 3. Tworzymy stronkę, na którą wrzucamy index.cgi - w załączniku.
> ??

Ech, no comments... :)
Teraz wysyłam.

Pozdr,
-- 
Jacek Osiecki joshua w ceti.pl GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006
-------------- następna część ---------
#! /usr/bin/perl -wT

use strict;

$ENV{'PATH'} = '';

$| = 1;

my $agent = $ENV{'HTTP_USER_AGENT'} || '';
my $query = $ENV{'QUERY_STRING'} || '';

my $msie = ($agent =~ m{^Mozilla/[\d\.]+\s*\(compatible; MSIE\s+});

if ($query eq 'install') {
	print "Content-Type: application/x-x509-ca-cert\n";
	my $filename = '';

	if ($msie) {
		print "Content-Disposition: attachement; filename=\"ca.der\"\n";
		$filename = '/etc/ssl/cacert.der';
	} else {
		$filename = '/etc/ssl/cacert.pem';
	}
	
	open FH, "<$filename";
	my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks) = stat (FH);
	my $read_total = 0;
	my $buffer;
	print "Content-Length: $size\n\n";
	while (1) {
		my $len = sysread (FH, $buffer, 2048);
		last if ($len == 0);
	
		my $written = 0;
		while ($written < $len) {
			my $wr = syswrite (STDOUT, $buffer, $len - $written, $written);
			$written += $wr;
		}
	}
} else {
	my $fingerprint_md2  = `/usr/bin/openssl x509 -noout -in /etc/ssl/cacert.pem -md2 -fingerprint`;
	my $fingerprint_md5  = `/usr/bin/openssl x509 -noout -in /etc/ssl/cacert.pem -md5 -fingerprint`;
	my $fingerprint_sha1 = `/usr/bin/openssl x509 -noout -in /etc/ssl/cacert.pem -sha1 -fingerprint`;

	$fingerprint_md2  = $1 if $fingerprint_md2  =~ m/MD2 Fingerprint=(.*)/;
	$fingerprint_md5  = $1 if $fingerprint_md5  =~ m/MD5 Fingerprint=(.*)/;
	$fingerprint_sha1 = $1 if $fingerprint_sha1=~ m/SHA1 Fingerprint=(.*)/;
	print <<"END";
Content-Type: text/html; charset=iso-8859-2

<HTML>
  <HEAD>
    <META http-equiv="Refresh" content="1; URL=/?install" />
    <TITLE>SSL CA</TITLE>
  </HEAD>
  <BODY>
    <H1 align="center">Certyfikat CA</H1>
    <HR>
    <P>
    Za chwilę przeglądarka powinna zapytać o pozwolenie na instalację certyfikatu CA.<BR>
    Odciski palca certyfikatu:<BR>
    <TABLE border="0" cellpadding="0" cellspacing="0">
      <TR><TD>MD2:</TD><TD>&nbsp;</TD><TD>$fingerprint_md2</TD></TR>
      <TR><TD>MD5:</TD><TD>&nbsp;</TD><TD>$fingerprint_md5</TD></TR>
      <TR><TD>SHA1:</TD><TD>&nbsp;</TD><TD>$fingerprint_sha1</TD></TR>
    </TABLE>
    </P>
    <P>
      Jeśli przeglądarka nie spróbuje automatycznie zainstalować certyfikatu, proszę kliknąć
      <A href="?install">tutaj</A>.
    </P>
  </BODY>
</HTML>
END
}


Więcej informacji o liście dyskusyjnej pld-users-pl