On Thu, Aug 23, 2001 at 11:02:15AM +0200, Kosa Attila wrote:
On Wed, Aug 22, 2001 at 05:43:58PM +0200, Balazs Scheidler wrote:
hogy minden mukodjon? Ahogy en gondolom: a newcert.pem az igazolas, a newreq.pem a privat kulcsom, a cacert.pem a CA igazolasa. A newcert.pem az amit a courier spop3d-ssl-je hasznal a /usr/share/pop3d.pem fajl neven. A cacert.pem fajlt kell eljuttatni a winekhez, es azt kell beimportalniuk az
tisztazzuk a dolgokat:
cacert.pem - CA publikus kulcsa, ezt kell eljuttatni az outlooknak, hogy benne kell megbizni
Ez oke, ennek nem valtoztattad meg a nevet :)
newreq.pem - ez egy Certificate Signing Request (CSR), melyet kulcsgeneralas utan
Ezt nevezted te pop3s.key -nek. Meg pop3s.csr -nek is.
nem, ezt pop3s.csr-nek neveztem. A csr-ben nincs privat kulcs, a .key-ben van.
kuldd el az igenylo a CA-nak alairasra. newcert.pem - A CSR alairasa utan letrejovo certificate
Ezt nevezted te pop3s.crt -nek.
igy van.
Kell, hogy legyen meg valahol egy a newreq.pem-hez tartozo privat kulcs. En
A demoCA/private/ konyvtarban letrejott egy cakey.pem nevu fajl. De mihez kell ez, es mit kell vele csinalni?
az nem az. a cakey.pem a CA-d titkos kulcsa, amivel hitelesit.
a kovetkezo lepeseket javaslom (elso korben Zorp nelkul):
CA.pl-el letrehozunk egy CA-t:
/usr/lib/ssl/misc/CA.pl -newca (A CA-ra vonatkozo adatokat beirod stb., letrejon a demoCA alkonyvtar)
Megcsinaltam. Beirtam egy jelszot, aztan a kerdesekre a kovetkezo valaszokat adtam: 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 Organizational Unit Name (eg, section) []:Sysadmin Common Name (eg, YOUR name) []:a_gep_belso_halorol_lathato_neve Email Address []:root@cegnev.hu
ez itt meg nem a szolgaltatas certificate-je, hanem a CA-de, tehat a Common Name az valami olyasmi legyen, hogy CEG CA.
openssl req -newkey rsa:1024 -keyout pop3s.key -out pop3s.csr (letrejon egy privat kulcs, bekeri a pop3s service adatait, es az ahhoz tartozo csrt)
Ugyanazokat adtam meg, mint a fentinel.
ez viszont a szolgaltatasra vonatkozo adatokat keri.
openssl ca -in pop3s.csr -out pop3s.crt (letrejon a pop3s.crt)
Erre viszont azt mondja, hogy Using configuration from /usr/lib/ssl/openssl.cnf 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' organizationalUnitName:PRINTABLE:'Sysadmin' commonName :PRINTABLE:'a_gep_belso_halorol_lathato_neve' emailAddress :IA5STRING:'root@cegnev.hu' HU:invalid type in 'policy' configuration
Es a letrejovo pop3s.crt fajl 0 byte meretu. Ebbol en azt a kovetkeztetest vontam le, hogy nem sikerult valami miatt alairnia a kulcsot. Mi lehetett a gond?
a problema az, hogy az openssl altal hasznalt alairasi policynak nem felel meg a certificate keres. probald meg igy alairni: openssl ca -policy policy_anything -in pop3s.csr
Az emlitett fajlban (/usr/lib/ssl/openssl.cnf -> link a /etc/ssl/openssl.cnf fajlra) ugyanazok szerepelnek, mint amiket a kerdesekre valaszoltam:
# For the CA policy [ policy_match ] countryName = HU stateOrProvinceName = Hungary organizationName = Cegnev organizationalUnitName = Sysadmin commonName = a_gep_belso_halorol_lathato_neve emailAddress = root@cegnev.hu
Erre panaszkodik alairaskor az openssl. a policy-k megkoteseket tudnak tenni a certificate keresek formai kovetelmenyeire. Itt olyasmi allhat, hogy countryName = match stateOrProvinceName = match ... Itt a match azt jelenti, hogy a CSR adott mezojenek meg kell felelnie a CA adott mezojevel. Ezt szerintem ird vissza, vagy adjal meg olyan adatokat, mely neked megfelel. Az eredeti igy nez ki: [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional A policy_anything alkalmazasa pedig a kovetkezo felteteleket koti: [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional (magyarul minden a commonName-n kivul opcionalis)
Namost, a demoCA/cacert.pem-et be kell importalni a windows-os gep kulcstaraba, mint trusted kulcs. Ezt nem tudom pontosan hogyan kell, de az
Ez akkor azt fogja jelenteni, hogy akinel ez a kulcs van, az meg fog bizni a szerverben, ugye? Tehat nem erdekes, ha valaki jogosulatlanul hozzajut ehhez a kulcshoz.
igy van.
IE-ben a Kulcsok alatt biztosan megteheto. A Courier-IMAP-nak szuksege van a pop3s.crt-re, es a pop3s.key-re. Elkepzelheto, hogy mindkettot egy fileban keresi, akkor ossze kell masolni a -----BEGIN xxxxx ----- reszeket egy fileba, es azt megadni neki.
Ha jol ertettem, akkor te a newreq.pem fajlt nevezted el ketfelekeppen. Tehat nalam csak egy fajl van, es ezt kell megadni a Courier-nak.
mi van ebben a newreq.pem-ben? nem ketfelekeppen neveztem el, a CSR (newreq.pem) es a kulcs (ez nem volt neked korabban, en pop3s.key-nek neveztem) ket kulonbozo dolog, es teljesen masra tartozik.
Ezek utan elvileg Zorp-os pluggal, vagy kozvetlenul mennie kell a dolognak.
Nagyon orulnek, ha eljutnek eddig :)
A zorppal mit szeretnel csinalni? A zorpig es a zorptol is titkositottan menjen a forgalom? Ha igen, akkor ket dolgot kell beallitanod:
A vegso cel az ez lenne. Ha eljutok addig, hogy a sima pluggal mukodik, akkor kiprobalom.
Akkor most leirom, hogy en hogyan generaltam a fajlokat.
Elotte szerkesztettem egy picit ezt a CA.pl fajlt. Kiegeszitettem a kovetkezovel: # 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");
Mindket system-mel kezdodo sorba beirtam a -nodes kapcsolot.
CA.pl -newca Itt ugyanazokat a valaszokat adtam, amiket fent mar leirtam. CA.pl -newreq (openssl req -new -keyout newreq.pem -out newreq.pem -days 365)
ez osszefuzi a -keyout-ot es az -out-ot vagy felulirja egyik a masikat?
A valaszok itt is ugyanazok. CA.pl -sign Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Signed certificate is in newcert.pem
Szoval ugy nez ki, hogy itt sikeresen alairta.
En a CA.pl fajlban leirtak alapjan generaltam a kulcsokat, meghagyva az alapertelmezett neveket.
Miert nem mukodik az altalad leirt verzio, es jo-e az, ahogy en csinaltam a dolgokat?
Megprobalom osszefoglalni a sajat szavaimmal: 1. Kell generalni egy CA publikus kulcsot, amit el kell juttatni a klienseknek (be kell importalniuk).
2. Ezutan kell generalni egy Certificate Signing Request fajlt, amit a CA-val kell aliratni.
3. Ha alairtak a Certificate Signing Request -et, akkor kapunk egy certificate -et.
igy van. csak egy certificate-hez mindig tartozik privat kulcs is. egy szerver szolgaltatashoz mindig kell egy privat kulcs, es egy certificate. A certificate-t a CA adja a CSR alapjan. tehat a folyamatban szerepel: CA: privat kulcs (demoCA/private/cakey.pem), onalairt certificate (demoCA/cacert.pem) Szolgaltatas: privat kulcs (pop3s.key), certificate signing request (pop3s.csr), es certificate (pop3s.crt) ahogy nezem neked a pop3s.key+pop3s.csr egy fileba keletkezik newreq.pem-neven. Ez biztosan nem jo, hiszen a szolgaltatasodnak egy certificate kell es egy privat kulcs. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1