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 [EMAIL PROTECTED] GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006
#! /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
}
_______________________________________________
pld-users-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

Odpowiedź listem elektroniczym