Proč a jak nahradit kořenové certifikáty CAcert tříd 1 a 3
Nejpoužívanější prohlížeče již od data 20161231 nepřijímají certifikáty (včetně kořenových, podepsaných samy sebou - self-signed) podepsané použitím algoritmu MD-5. Důvodem je, že algoritmus MD-5 dnes už není považován za bezpečný. Je tedy třeba nahradit ho kořenovým certifikátem CAcert třídy 1 podepsaným použitím algoritmu SHA256.
Tento článek popisuje:
- Proč a jak nahradit kořenový certifikát CAcert třídy 1 podepsaný MD-5 kořenovým certifikátem CAcert třídy 1 podepsaným SHA256
- Proč a jak nahradit zprostředkující kořenový certifikát CAcert třídy 3
Výchozí fakta
Kořenový certifikát CAcert třídy 1 podepsaný SHA256 je po technické stránce zcela shodný s dosud používaným kořenovým certifikátem CAcert podepsaným MD-5. Hlavní rozdíly mezi nimi jsou tyto:
- jiný podpisový algoritmus: SHA256 namísto MD-5,
- pořadové číslo (serial number): 00000F namísto 000000,
kryptografický otisk pořízený algoritmem SHA-1 (fingerprint): dd:fc:da:54:1e:75:77:ad:dc:a8:7e:88:27:a9:8a:50:60:32:52:a5 (namísto 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33).
Zprostředkující certifikát CAcert třídy 3 pořadové číslo 0A418A podepsaný SHA256 obsahuje odkaz na kořenový certifikát CAcert číslo 000000 (podepsaný MD-5). To by mohlo vést programy, například prohlížeče, při sestavování řetězu certifikátů (od Vašeho ke kořenovému) ke stažení původního certifikátu třídy 1 podepsaného s použitím zastaralého algoritmu MD-5. Proto je vhodné nahradit i certifikát třídy 3. Rozdíly:
- nemá už odkaz na kořenový certifikát 000000,
- pořadové číslo (serial number) je 00000E namísto 0A418A,
kryptografický otisk pořízený algoritmem SHA-1 (fingerprint): A7:C4:8F:BE:6B:02:6D:BD:0E:C1:B4:65:B8:8D:D8:13:EE:1D:EF:A0 (namísto AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE).
Dne 20190410 (10. dubna 2019) byly na provozní server CAcertu (http://www.cacert.org/index.php?id=3) umístěny kořenové certifikáty podepsané algoritmem SHA256. Názvy souborů pro stažení jsou: root_X0F (kořenový třídy 1) a class3_X0E (kořenový třídy 3). Číslo za X udává unikátní pořadové číslo certifikátu, tedy 00000F a 00000E. Uživatelům CAcert doporučujeme podle následujícího návodu zaměnit oba starší certifikáty (s pořadovými čísly 000000 a 0A418A) za tyto nové. |
20210512: Zprostředkující kořenový certifikát třídy 3 vyprší 20210520. Certifikát byl obnoven a distribuován. Název souboru ke stažení je class3.crt, můžete ho najít také zde jako class3_X14E228.crt, protože jeho sériové číslo je 14E228 (hex). Důrazně doporučujeme uživatelům CACERT nahradit jej co nejdříve. V tomto případě je lepší napřed odstranit starý certifikát a pak nainstalovat obnovený. |
Takže výchozí fakta pro obnovený zprostředkující kořenový certifikát Class 3 jsou trochu jiná:
- certifikát nemá odkaz na kořenový certifikát 000000,
- počadové číslo (serial number) je 14E228 namísto 00000E,
kryptografický otisk pořízený algoritmem SHA-1 (fingerprint): D8:A8:3A:64:11:7F:FD:21:94:FE:E1:98:3D:D2:5C:7B:32:A8:FF:C8 (namísto A7:C4:8F:BE:6B:02:6D:BD:0E:C1:B4:65:B8:8D:D8:13:EE:1D:EF:A0).
Postup instalace obnoveného zprostředkujícího kořenového certifikátu Class 3
Windows 10 a aplikace běžící pod ním
Ve stručnosti: náhrada je snadná a byla testována pro systém Windows 10, XCA utilitu, Thunderbird e-mailový klient a prohlížeče Firefox (po náhradě ho restartujte), Basilisk, Palemoon, Seamonkey - ostatní, např. Edge, Chrome, opera aj. používají certifikéty z úložiště systému Windows.
Stáhněte a uložte soubor class3.crt ze stránky http://www.cacert.org/index.php?id=3 (nebo FAQ/NewRoots/CZ). Zvolte formát, jaký může Váš program nebo systém zpracovat (.crt).
Napřed smažte starý zprostředkující certifikát Class 3 (pořadové číslo 00000E, možná i 0A418A). Pak importujte (instalujte) stažený obnovený zprostředkující kořenový certifikát Class 3 (class3 nebo class3_X14E288) do svého OS nebo prohlížeče; použijte systémovou utilitu nebo Správce certifikátů (Certificate Manager) uvnitř prohlížeče. Není třeba potvrzovat důvěryhodnost, ta je zděděna z hlavního kořene CA, který se nemění. Konečně smažte všechny instance starého zprostředkujícího certifikátu Class 3 (kontrolujte jejich pořadová čísla).
- Poznatky:
- XCA - Vůbec žádný problém, ani nemusíte smazat starý Class 3, neboť XCA ho zamění novým při importu.
- Windows 10 OS - žádný problém, použijte modul mmc-Certifikáty.
- Firefox - smažte, pak importujte, pak restartujte prohlížeč.
- Basilisk a Palemoon jsou klony Firefoxu. Postupujte stejně jako u Firefoxu až na to, že restart není potřebný.
- Seamonkey - smažte starý Class 3, pak importujte obnovený. - Starý se po importu nového může objevit znovu spolu s novým; v tom případě smažte starý znovu.
Linux (klon Ubuntu)
- Stáhněte soubor zprostředkujícího certifikátu Class 3, jak je popsáno výše.
- Postupně ho importujte do prohlížečů. Pravděpodobně má každý prohlížeč i e-mailový klient Thunderbird své vlastní úložiště certifikátů. Napřed smažte starý zprostředkující kořenový certifikát Class 3.
- Poznatky:
- Prohlížeče Firefox a Chromium, klient Thunderbird - žádné problémy.
- Palemoon: Pro schopnost uplatnit certifikáty a manipulovat s nimi musíte v menu Help přepnout do bezpečného režimu (Secure mode). Po potvrzení už nejsou žádné problémy, jen to, že starý již smazaný class3 certifikát se zase zobrazí po importu obnoveného. Smažte ho tedy znovu.
Android 10
Android (verze 10) dokáže instalovat certifikáty ze souborů *.crt. Pod "Nastavení - Zabezpečení - Rozšířené nastavení - Šifrování a pověření - Důvěryhodná pověření - Uživatel" smažte původní "CAcert Class 3 Root", pak přejděte o úroveň výše a pod "Instalace z karty SD" vyberte importovaný soubor class3.crt nebo class3_X14E228.crt (nemusí být stažen jen na kartu SD) a instalujte ho. Pro starší systémy Android (verze pod cca 5) je zprostředkující certifikát Class 3 připraven zde jako e5662767.0.
Postup (pro class3 je zde starý text)
Ve stručnosti: náhradu lze snadno a bez problémů provést jak v operačních systémech (OS), tak v prohlížečích nebo jejich pomocí. Postup je úplně jednoduchý:
Stáhněte si ze stránky http://www.cacert.org/index.php?id=3 (případně FAQ/NewRoots/CZ) a jako soubor uložte oba kořenové certifikáty CAcert podepsané SHA256. Pro stažení zvolte formát, který Váš systém nebo prohlížeč používá.
- Importujte (instalujte) stažené certifikáty ze souboru do svého OS nebo prohlížeče (tj. buď systémovou utilitou, nebo Správcem certifikátů [Certificate Manager], který je součástí mnoha prohlížečů). Napřed instalujte certifikát třídy 1 (root_X0F) a potvrďte, že je důvěryhodný. Potom instalujte certifikát třídy 3 (class3_X0E).
- Odstraňte původní kořenový certifikát CAcert třídy 1. Napřed pro jistotu zkontrolujte, že má pořadové číslo 000000.
- Odstraňte i původní zprostředkující certifikát CAcert třídy 3. Napřed pro jistotu zkontrolujte, že má pořadové číslo 0A418A.
Ověřili jsme, že procedura náhrady nezpůsobí žádnou škodu.
Není třeba měnit nebo reinstalovat jakýkoli CAcertem Vám vydaný certifikát, protože ty všechny jsou již podepsány pomocí algoritmu SHA256. Operační systémy (Linux, Windows, Android,...) a prohlížeče (Firefox,...) si budou moci vybudovat potřebné řetězce certifikátů i nadále.
Postup, pokud jste použili instalační balíček pro Windows
Používání instalačních balíčků pro Windows bylo ukončeno. Tyto balíčky již nejsou udržovány ! |
Jestliže jste instalovali kořenové certifikáty MSI balíčkem pro Windows, bude nejprve nutno je odinstalovat tímtéž balíčkem CAcert_Root_Certificates.msi (resp. CAcert_Root_Certificates_X0F_X0E.msi nebo novým CAcert_Root_Certificates_X0F_X14E228.msi). Pokud si svůj postup původní instalace už nepamatujete, spusťte nový balíček. Jestliže po spuštění ukáže 3 standardní možnosti (Změnit, Opravit, Odinstalovat), zvolte odinstalaci. Objeví-li se dialog Chyba (bez textu, s tlačítky Ano/Ne), zvolte Ano.
Je také možno ručně odinstalovat kořenový a zprostředkující certifikát, dále najít tento klíč Registru:
- Computer\HKEY_CURRENT_USER\Software\CAcert
a pokud existuje, smazat ho.
Po ukončení deinstalace spusťte nový balíček CAcert_Root_Certificates_X0F_X14E228.msi, potvrďte souhlas s licenční dohodou a certifikáty nainstalujte. Objeví-li se i zde dialog Chyba, postupujte stejně - stiskněte Ano.
Postup, pokud používáte Kleopatru v Linuxu
Kleopatra smaže spolu s kořenovým certifikátem celý navázaný řetězec certifikátů a nedovoluje tedy přímou náhradu kořenového certifikátu.
Proto je třeba dodržet tento postup:
Exportujte všechny osobní certifikáty do souborů <haš>.pem
- Smažte kořenový certifikát CAcert. Zároveň se smaže celý řetězec certifikátů, tedy zprostředkující certifikát třídy 3 a Vaše certifikáty, jejichž zálohy máte z prvního kroku.
- Importujte kořenový certifikát CAcert třídy 1 podepsaný SHA256 s pořadovým číslem 0F (root_X0F.crt), povolte jeho důvěryhodnost.
- Importujte zprostředkující certifikát CAcert třídy 3 podepsaný SHA256 s pořadovým číslem 0E (class3_x14E228.crt)
- Importujte všechny svoje certifikáty, které jste exportovali v kroku 1.
Podobný postup pro změnu zprostředkujícího certifikátu třídy 3:
Exportujte všechny osobní certifikáty do souborů <haš>.pem
- Smažte certifikát CAcert třídy 3 s pořadovým číslem 0E. Zároveň se smaže celý řetězec certifikátů pod ním, tedy Vaše certifikáty, jejichž zálohy máte z prvního kroku.
Importujte zprostředkující certifikát CAcert třídy 3 podepsaný SHA256 s pořadovým číslem 14E228 (class3.crt, CAcert_Class3Root_x14E228.crt nebo class3_X14E228.crt)
- Importujte všechny svoje certifikáty, které jste exportovali v kroku 1.
Certifikátů vydaných (podepsaných) přímo kořenovým certifikátem třídy 1 se záměna obnoveným certifikátem třídy 3 nedotkne.