Jak postupovat při tvorbě SSL certifikátu

Jak postupovat při tvorbě SSL certifikátu
« kdy: 18. 06. 2010, 18:27:45 »
Zdravim,
mam trosku chaos co sa tyka ssl certifikatov. Samozrejme je na nete kopec navodov ako ich vygenerovat, s tym nie je problem, ale vsetky postupy sa od seba dost podstatne odlisuju a okopirovat prikazy z googlu a ani sa v tom poriadne nevyznat sa mi zrovna nepaci. Chaos pri jednotlivych suboroch .pem .csr .crt .key...

Konrektne potrebujem ssl na apache2 pre https pod ubuntu 10.04, ale nerozumiem aky postup konkretne vybrat.

Aky je rozdiel medzi self-signed ceritifikatom a CA certifikatom.

Ako konkretne postupovat pri vytvarani certifikatu na SSL pre apache?

dakujem
« Poslední změna: 20. 06. 2010, 20:26:35 od Petr Krčmář »


Re: SSL certifikaty
« Odpověď #1 kdy: 18. 06. 2010, 20:39:21 »
Zkus tenhle návod: http://frantovo.cz/blog/?q=bezplatne-ca-nebojte-se-sifrovat-s-s-mime je to sice psané primárně pro šifrování v e-mailech, ale pro serverové certifikáty se dá taky použít. Je tam vysvětleno, jak získat bezplatný certifikát podepsaný CA (CAcert, StartSSL).

Pro apache stačí dva soubory: (soukromý) klíč a certifikát (vystavuje CA k danému klíči), případně kořenový certifikát CA (třetí soubor).

Samopodepsané certifikáty jsou jednoduše podepsané samy sebou, nikoli CA. Takový certifikát si může vyrobit kdokoli (na libovolné jméno), takže jsou nedůvěryhodné – aby jim mohl uživatel věřit, měl by dostat jejich otisk („fingerprint“) nějakým jiným kanálem (např. po telefonu nebo osobně na papírku). Protože tohle je značně nepohodlné, existují CA – uživatel má ve svém prohlížeči nainstalované certifikáty CA, kterým věří (měl by je mít zkontrolované) a pak může věřit i certifikátům podepsaným těmito CA – např. když je certifikát pro doménu example.com podepsaný CA XYZ a on XYZ věří, může věřit i tomu, že ten certifikát patří vlastníkovi dané domény – CA ručí za to, že certifikáty vydá jen oprávněným osobám a ne kdekomu.

Re: SSL certifikaty
« Odpověď #2 kdy: 20. 06. 2010, 12:51:14 »
Dik, tak som to nejak zvladol validne podpisat.
Sice este neviem aky je rozdiel medzi .pem a .key, ale to uz doriesim inokedy :)

Este by som mal jednu otazku, ak si pozriem detaily certifikatu ktore mi hodi browser, tak mi hlasi Certificate Version: 1, vacsinou sa ale stretavam s verziou 3, nepodarilo sa mi nikde dohladat aky je v tom rozdiel a ako urobit verziu 3.

dakujem

Jan Schermer

Re: SSL certifikaty
« Odpověď #3 kdy: 20. 06. 2010, 15:06:12 »
Myslim ze to neni Version ale spis Class - to je uroven overeni jeho drzitele. U Class 1 se overuje napriklad jen pristup k administraci domeny/emailu (vetsinou prave emailem nebo z whois), u Class 2 uz se kontroluje identita zadatele (tzn. jestli ma doklady na nejake jmeno a to jmeno se pak uvadi do certifikatu - v pripade firmy se overuje existence firmy), u Class 3 je to jeste hlubsi a zkouma se postaveni cloveka v organizaci, jestli ma pravo certifikat drzet, drzi se archiv dokumentu atd...

Co se tyce .pem, .key, .csr, .crt...

.pem je format pro x509 obecne - muze v tom byt klic, certifikat, zadost - proste na ty pripony radeji nekoukat
.key byva klic (privatni v tvem pripade)
.csr - certificate sign request - tvym privatnim klicem podepsana zadost o overeni certifikatu (tzn. obsahuje zadost o certifikat a tvuj podpis)
.crt - certifikat podepsany autoritou, ktery vznikl overenim .csr (jestli udaje v .csr jsou platne - to se tyka napriklad tech typu Class - ty si do CSR muzes dat jmeno Petr Machacek a email petr@machacek.cz, ale CA ti to do certifikatu neda protoze overuje napriklad jen email - tzn. certifikat obsahuje jen petr@machacek.cz a jmeno ne)

pro apache potrebujes .key, .crt a certificate chain (vsechny certifikaty az k rootu) certifikacni autority ktera to overila

vetsina softu (treba ten apache) to umi brat z jednoho souboru, je to tak jednodussi. V zasade tam das vsechno a apache si to vybere.

Vetsina lidi dela tu chybu, ze tam da prave jen certifikat a klic - to nekdy staci a nekdy ne. Hlavne pro telefony a PDA ktere nemaji tak dobre implementovane x509 tam chybi prave cesta k tomu CA.

V realu totiz je v browseru/zarizeni prave jen root CA (rekneme "CA Root certificate"), pod nim jsou 3 sub-CA (CA Class1-3) a teprve ty 3 CA podepisuji certifikaty. Pri komunikaci s tvym serverem je dobre posilat i celou cestu k tomu rootu jinak to zarizeni nevezmou a ty pak marne zkoumas kde je chyba... :)