[zorp-hu] ssl-es proxy
Kosa Attila
atkosa@shinwa.hu
Thu, 23 Aug 2001 13:43:14 +0200
Hello!
Az elozo $subject nem igazan passzolt mar a temahoz.
Kicsit nehezfeju vagyok, de ezt mar megszokhattatok :)
Ezert reszletesen leirom, hogy mit hogyan csinaltam:
# cd /root
# mkdir tmp
# cd tmp
# cp /usr/lib/ssl/misc/CA.pl .
# vi CA.pl
Ezt a reszt kijavitottam benne (azt irtam bele pluszba,
hogy "-nodes"):
# create a certificate
system ("$REQ -new -x509 -nodes -keyout newreq.pem -out newreq.pem $DAYS");
$RET=$?;
print "Certificate (and private key) is in newreq.pem\n"
} elsif (/^-newreq$/) {
# create a certificate request
system ("$REQ -new -nodes -keyout newreq.pem -out newreq.pem $DAYS");
A kulcs elkeszitese a kovetkezo lepes:
# ./CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Using configuration from /usr/lib/ssl/openssl.cnf
Generating a 1024 bit RSA private key
.......++++++
.................................++++++
writing new private key to './demoCA/private/cakey.pem'
# Ide kell egy jelszo, amit meg kell jegyezni :)
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be
incorporated
into your certificate request.
What you are about to enter is what is called a
Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: HU
State or Province Name (full name) [Some-State]: Hungary
Locality Name (eg, city) []: Miskolc
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Cegnev Kft. CA
Organizational Unit Name (eg, section) []: Sysadmin
Common Name (eg, YOUR name) []: belso.mail.szerver.neve
Email Address []: root@cegnev.hu
Ekkor mar mi vagyunk a sajat azonosito-szolgaltatonk.
Keletkezett egy demoCA nevu konyvtar, amely a kovetkezo
fajlokat tartalmazta:
- cacert.pem
- certs (ures konyvtar)
- crl (ures konyvtar)
- index.txt
- newcerts (ures konyvtar)
- private (konyvtar)
- cakey.pem
- serial
A kovetkezo lepes:
# ./CA.pl -newreq
Using configuration from /usr/lib/ssl/openssl.cnf
Generating a 1024 bit RSA private key
..................++++++
............++++++
writing new private key to 'newreq.pem'
-----
You are about to be asked to enter information that will be
incorporated
into your certificate request.
What you are about to enter is what is called a
Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: HU
State or Province Name (full name) [Some-State]: Hungary
Locality Name (eg, city) []: Miskolc
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Cegnev Kft.
Organizational Unit Name (eg, section) []: Sysadmin
Common Name (eg, YOUR name) []: belso.mail.szerver.neve
Email Address []: root@cegnev.hu
Please enter the following 'extra' attributes
to be sent with your certificate request
# Ezt uresen hagyva csak egy Entert utottem
A challenge password []:
# Ezt uresen hagyva csak egy Entert utottem
An optional company name []:
Request (and private key) is in newreq.pem
Ez a lepes generalt egy newreq.pem fajlt abba a konyvtarba,
ahol alltunk (ebben az esetben a /root/tmp konyvtarba).
A kovetkezo lepes az igazolas alairasa:
# ./CA.pl -sign
Using configuration from /usr/lib/ssl/openssl.cnf
# Ide beirjuk a fent megadott jelszot
Enter PEM pass phrase:
Check that the request matches the signature
Signature ok
The Subjects Distinguished Name is as follows
countryName :PRINTABLE:'HU'
stateOrProvinceName :PRINTABLE:'Hungary'
localityName :PRINTABLE:'Miskolc'
organizationName :PRINTABLE:'Cegnev Kft.'
organizationalUnitName:PRINTABLE:'Sysadmin'
commonName :PRINTABLE:'belso.mail.szerver.neve'
emailAddress :IA5STRING:'root@cegnev.hu'
Certificate is to be certified until Aug 22 09:00:05 2002
GMT (365 days)
# Itt nyomtam egy "y"-t es egy Entert
Sign the certificate? [y/n]:
# Itt nyomtam egy "y"-t es egy Entert
1 out of 1 certificate requests certified, commit? [y/n]
Write out database with 1 new entries
Data Base Updated
Signed certificate is in newcert.pem
Ez a lepes generalt egy newcert.pem fajlt abba a
konyvtarba, ahol alltunk (ebben az esetben a /root/tmp/).
A /usr/lib/ssl/openssl.cnf fajl (ami egy link a
/etc/ssl/openssl.cnf fajlra) a kovetkezoket tartalmazza:
# For the CA policy
[ policy_match ]
countryName = HU
stateOrProvinceName = Hungary
organizationName = Cegnev Kft.
organizationalUnitName = Sysadmin
commonName = belso.mail.szerver.neve
emailAddress = root@cegnev.hu
# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
Tehat a "policy_anything" resz nincs kitoltve.
A kovetkezo fajlokkal rendelkezunk:
- demoCA (konyvtar)
- cacert.pem
- certs (ures konyvtar)
- crl (ures konyvtar)
- index.txt
- index.txt.old
- newcerts (konyvtar)
- 01.pem
- private (konyvtar)
- cakey.pem
- serial
- newcert.pem
- newreq.pem
Megprobalom osszerendelni a fajlok neveit a
rendeltetesukkel:
- cacert.pem -- a CA publikus kulcsa, ezt kell eljuttatni
az outlooknak, sajat maga altal van alairva
- cakey.pem -- a CA titkos kulcsa, amivel hitelesit
- newcert.pem -- a szerver-szolgaltatas CA altala alairt
certificate-je
- newreq.pem -- (ez egy Certificate Signing Request melyet
kulcsgeneralas utan kuld el az igenylo a CA-nak alairasra).
A zarojelben levo reszt irtad te, de a generalaskor azt
mondja, hogy "writing new private key to 'newreq.pem'".
Akkor nem ez megis a szerver-szolgaltatas titkos kulcsa?
- 01.pem -- a fajl tartalma (csak az elejebol idezek):
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=HU, ST=Hungary, L=Miskolc, O=Cegnev Kft. CA, OU=Sysadmin, CN=belso.mail.szerver.neve/Email=root@cegnev.hu
Validity
Not Before: Aug 23 10:41:08 2001 GMT
Not After : Aug 23 10:41:08 2002 GMT
Subject: C=HU, ST=Hungary, L=Miskolc, O=Cegnev Kft., OU=Sysadmin, CN=belso.mail.szerver.neve/Email=root@cegnev.hu
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
[... itt meg van egy csomo sor ...]
Signature Algorithm: md5WithRSAEncryption
[... itt van egy csomo betu-szam ...]
-----BEGIN CERTIFICATE-----
[... itt van egy csomo betu-szam ...]
-----END CERTIFICATE-----
Az elozo leveledbol az derult ki, hogy 5 fajlra van
szuksegunk, es az (szamszeruleg) a rendelkezesunkre all :)
De vajon jol ertelmeztem-e a rendeltetesuket?
Megprobalnad elmagyarazni, hogy melyik fajl hova (es mire)
valo? Most mar keverjuk bele a Zorpot is :) Tetelezzuk fel,
hogy a Zorpig es a Zorptol is szeretnem, hogy titkositottan
menjen a forgalom. Kerlek, maradjunk a peldaban szereplo
fajlneveknel, mert latod, hogy elvesztettem a fonalat :)
--
Udvozlettel
Zsiga