Konfigurace kompletní CA chain ve Windows

Instalace SSL certifikátu na Microsoft Windows IIS web server

Situace

Server se nedaří nakonfigurovat tak, aby posílal kompletní řetězec CA certifikátů (tzv. certificate chain), a tudíž se na starších zařízeních certifikát chová jako nedůvěryhodný.

Příčina

Ne všechny intermediate certifikáty jsou pouze intermediate certifikátem, mohou být zároveň i kořenovým certifikátem. A ne všechny kořenové certifikáty jsou pouze kořenovým certifikátem, mohou být zároveň i intermediate certifikátem.

Některé CA certifikáty mohou být vzájemně podepsané jinými CA certifikáty (stejných i různých certifikačních autorit), a tudíž se jeden certifikát na jedné platformě může chovat jako kořenový certifikát a na jiné platformě jako intermediate certifikát.

Tato praxe je velice běžná a je známá jako tzv. cross-signing.

V prostředí Windows celou záležitost s certifikačním řetězcem automatizuje systémové úložiště certifikátů, v některých případech to však může vést k nežádoucímu chování.

Systémové úložiště certifikátů

CA certifikáty jsou v systémovém úložišti Windows rozděleny do dvou kategorií:

  1. Intermediate certifikáty (zprostředkující certifikáty)
  2. Root certifikáty (kořenové certifikáty)

K nepříjemnostem může docházet právě v tomto rozdělení, neboť server klientům implicitně neposílá poslední (kořenový) CA certifikát. To může způsobit potíže zejména na starších zařízeních, pokud je váš SSL certifikát podepsán řetězcem CA certifikátů vedoucích k novější kořenové CA. Tato novější kořenová CA totiž na starších či dlouho neaktualizovaných zařízeních nemusí být známa, což na daném zařízení znemožní najít úplný řetězec důvěry. Ve výsledku se kvůli tomu listový certifikát chová jako nedůvěryhodný. To však lze snadno napravit vhodnou konfigurací na straně serveru…

Konfigurace serveru

Na většině platformách stačí umístit celý řetězec CA certifikátů do souboru s listovým certifikátem či do souboru dedikovaného pro CA certifikáty.

Na platformě Microsoft Windows to však nemusí být tak přehledné, přímočaré a intuitivní. To se týká všech serverových služeb (například IIS), které se spoléhají na systémové úložiště CA certifikátů.

Příklad

Toto je řetězec certifikátů, který řádně funguje na všech moderních zařízeních, ale některá zastaralá a neaktualizovaná zařízení zobrazují varování o nedůvěryhodném certifikátu:

www.ssls.cz (server posílá)
  ↳ Alpiro RSA DV SSL CA 2 (server posílá)
   ↳ Sectigo Public Server Authentication Root R46 (server neposílá)

V novějších verzích systémového úložiště Windows může být certifikát Sectigo Public Server Authentication Root R46 v seznamu kořenových CA, a tudíž klientům posílá pouze listový certifikát a první intermediate certifikát.

Server totiž předpokládá, že klient kořenový certifikát Sectigo Public Server Authentication Root R46 zná také, a tudíž ho bude považovat za důvěryhodný.

Klientské zařízení však může být zastaralé a tento CA certifikát nezná. Proto dochází k situaci, že certifikát považuje za nedůvěryhodný a nedojde tak k úspěšnému spojení.

Této situaci předchází běžná praxe, kdy certifikační autorita podepíše novou kořenovou CA pomocí jiné kořenové CA (tzv. cross-signing). Díky tomu certifikát může správně fungovat i na zastaralých zařízeních, která tuto kořenovou CA neznají, ale znají jinou starší kořenovou CA, která podepsala tuto novější. Na těchto zastaralých zařízeních se pak novější kořenová CA chová jako intermediate CA, viz:

www.ssls.cz (server posílá)
  ↳ Alpiro RSA DV SSL CA 2 (server posílá)
   ↳ Sectigo Public Server Authentication Root R46 (server posílá)
    ↳ USERTrust RSA Certification Authority (server posílá)
     ↳ AAA Certificate Services (server neposílá)

Posíláním kompletního certifikačního řetězce je zajištěna důvěryhodnost a tím správná funkčnost certifikátu i na zastaralých zařízeních.

Ilustrativní certifikační řetězec:

Řetězec certifikátů od listového přes intermediate (cross-signed intermediate/root) ke kořenovým certifikátům

Řešení

Pro výše uvedený příklad, na platformě Microsoft Windows můžete donutit server, aby klientům posílal kompletní řetězec CA certifikátů. K tomu stačí v systémovém úložišti Windows všechny verze certifikátu Sectigo Public Server Authentication Root R46:

  1. odstranit ze seznamu kořenových CA,
  2. umístit je pouze do seznamu zprostředkujících CA
  3. a ujistit se, že je USERTrust RSA Certification Authority v seznamu kořenových CA.

Pro jistotu si nejprve udělejte jejich zálohu. Jakmile ověříte správnou funkčnost konfigurace bylo by vhodné vypnout automatickou aktualizaci těchto seznamů.

Shrnutí

Pošle-li server klientovi více certifikátů z řetězce důvěry, výrazně se tím zvyšuje pravděpodobnost kompatibility (důvěryhodnosti) se staršími zařízeními. Přestože se může posílání delšího řetězce certifikátů zdát jako zbytečné pro novější klientská zařízení, ničemu neuškodí, protože budou nepotřebnou část řetězce certifikátů jednoduše ignorovat.

SSL certifikát / 169 Kč

Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.

EV SSL certifikáty

Chraňte svou reputaci a zajistěte maximální důvěryhodnost s TLS/SSL certifikátem s EV.

Multidoménové (SAN)

Skonsolidujte všechny své SSL certifikáty do jednoho multi-doménového SSL certifikátu!

Uživatel SSL Přihlášení

Zavřít

Přejít k registraci

Zavřít
Zavřít
Zavřít
Doporučené SSL certifikáty
Zavřít
Máte dotaz?
Napište nám
Nenašli jste řešení na stránce Podpora a Nejčastější dotazy?
Jméno a příjmení: E-mail:
Odesílám…Odeslat
Tato stránka používá soubory cookies. více informací

Souhlasím se všemi Pouze nezbytné