Portál AbcLinuxu, 9. května 2025 06:15

Dotaz: Self signed server (nie CA) certifikat

11.6.2013 15:13 romanz
Self signed server (nie CA) certifikat
Přečteno: 396×
Odpovědět | Admin
Pokusam sa vygenerovat self signed certifikat pre apache2 pomocou openssl. Vygenerovany sertifikat mi ale chromium (chrome://settings/certificates) vzdy zaradi medzi Autority, nie medzi Servre. Ako vygenerujem certifikat len pre server? Je to pomerne zasadny problem lebo ak ho chrome zaradi medzi CA tak mozem tymto certifikatom podpisovat aj stranky ktore mi nepatria, kdezto keby ho zaradil medzi servre tak plati len pre ten jeden.
# openssl genrsa -out server.key 4096

# openssl req -key server.key -new -out server.req
Country Name (2 letter code) [AU]:SK
State or Province Name (full name) [Some-State]:Slovakia
Locality Name (eg, city) []:Bratislava
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Email Address []:aaa@aaa.sk
A challenge password []:
An optional company name []:

# openssl x509 -req -days 365 -in server.req -signkey server.key -out server.crt
Signature ok
subject=/C=SK/ST=Slovakia/L=Bratislava/O=Internet Widgits Pty Ltd/CN=www.aaa.sk/emailAddress=aaa@aaa.sk
Getting Private key
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.6.2013 19:19 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Self signed server (nie CA) certifikat
Odpovědět | | Sbalit | Link | Blokovat | Admin

To je spíše dotaz na Chrome než na výrobu certifikátu. Je docela možné, že Chrome jakýkoliv sám sebou podepsaný certifikát bude považovat za autoritu.

Zaměřil bych se na kritické příznaky certifikátu, jako jsou BasicConstraints, keyUsage a extendedKeyUsage, a tam vypnout možnost podepisovat certifikáty nebo vystupovat jako autorita.

Pokud ani to nemůže v Chrome, ještě můžete přes nameConstraints omezit, jaké certifikáty může váš kořenový certifikát podepisovat. Otázka samozřejmě je, jestli Chrome takové omezení bude respektovat.

Prohlédněte si RFC 2459 a jeho následovníky.

12.6.2013 08:49 Filip Jirsák
Rozbalit Rozbalit vše Re: Self signed server (nie CA) certifikat
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to pomerne zasadny problem lebo ak ho chrome zaradi medzi CA tak mozem tymto certifikatom podpisovat aj stranky ktore mi nepatria, kdezto keby ho zaradil medzi servre tak plati len pre ten jeden.
Tím jste si jistý, nebo je to jen domněnka? On self-signed certifikát z principu je certifikát CA, protože se jím podepisují certifikáty.

Nejsem si jistý, zda každý certifikát podepsaný sám sebou je self-signed certifikát. Každopádně bych zkusil vytvořit self-signed certifikát standardním způsobem, tj. openssl -req -x509 …. Oproti vašemu postupu se tam přidá několik rozšířených atributů, podle kterých se možná rozpozná, že jde o self-signed certifikát. Například je tam Path Length Constraint nastavené na None, což je určitě zajímavá hodnota (nepodařilo se mi rychle najít, co znamená, předpokládám, že to není ani nula ani neexistující atribut).

Další věc je, že Chrome na Windows používá systémové úložiště certifikátů, takže umístění certifikátu není věcí Chrome, ale Windows. Ale nevím, co se používá v Chromiu a na Linuxu. U mne se oba certifikáty (vytvořený vaším postupem a pomocí -req -x509) zaregistrovaly do Intermediate Certification Authorities.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.