#language cs ## 20240529 AK ---- '''česky''' | [[HowTo/ReplaceRevokedCert|english]] ---- = Jak nahradit omylem odvolaný certifikát = Stane se, že omylem odvoláte platný certifikát. Když pak zjistíte, že ho ještě potřebujete, nelze už akci vrátit. Jednou odvolaný certifikát je už zcela neplatný a nelze ho oživit ani obnovit. Ani jeho pořadové číslo už melze použít, neboť toto číslo je v rámci jedné CA (zde CAcert) jedinečné. Avšak, pokud máte původní CSR (žádost o certifikát), nebo alespoň privátní klíč, můžete si vystavit nový certifikát se stejným párem klíčů, jako měl původní. Bude mít ovšem jiné pořadové číslo a jiné datum expirace. To však většinou nevadí, pokud není funkce potřebné aplikace/webu vázána na pořadové číslo certifikátu. K původnímu certifikátu jste jistě měli privátní klíč. Ten se odvoláním ani nesmazal, ani nezměnil. Hledejte ho na zařízení, které původní certifikát používalo, nebo v zálohách *.p12 či *.pfx. Tyto zálohy obvykle obsahují privátní klíč, Váš certifikát a kořenový certifikát(y) vystavitele. Avšak po odvolání Vašeho certifikátu už Vám jeho záloha nepomůže. == Vystavení pomocí CSR == Tento postup je velmi jednoduchý. Máte-li uloženo CSR v souboru, pak stačí znovu ho předložit webu CAcert k vystavení certifikátu, a protože privátní klíč zůstává nezměněn, není třeba podnikat další kroky kromě instalace vystaveného certifikátu. == Vystavení, máte-li pouze privátní klíč == Pro pohodlí uživatelů používal CAcert generování CSR přímo z prohlížeče. Prohlížeče dnes však už příslušnou značku nepodporují. Pokud byl Váš původní certifikát vytvořen takto, nemáte žádný soubor CSR, který by šlo znovu použít. Je třeba najít privátní klíč a dostat ho do programu, který dokáže k němu dogenerovat veřejný klíč, vytvořit CSR a uložit ho do souboru. Takovým programem je grafický XCA nebo řádkový openSSL. === Použití programu XCA a zálohy P12 === Máte-li zálohu v souboru *.p12, je třeba importovat z ní privátní klíč do XCA. Přejděte na záložku Private keys a vpravo najdete tlačítko Import PFX (PKCS#12). (Obsluhuje i soubory *.p12.) {{attachment:Revoked-1.jpg|Zadejte heslo souboru PFX/P12}} Zadejte heslo zálohy. {{attachment:Revoked-2.jpg|Obsah souboru PFX/P12}} Nyní se záloha otevře a ukáže všechny obsažené položky ve tvaru PEM. Zvolte a importujte '''pouze''' privátní klíč. {{attachment:Revoked-3.jpg|Importovaný klíč}} Poznačte si název importovaného privátního klíče. {{attachment:Revoked-4.jpg|Nový CSR}} Vytvořte nový CSR. Na záložce Certificate Signing Request stiskněte vpravo tlačítko New Request. Otevře se další okno. {{attachment:Revoked-5.jpg|Nový CSR, zdroj}} Na záložce Source pojmenujte žádost a vyberte šablonu certifikátu. Výchozí pro klientské je vidět na obrázku, serverová má označení SSL server. {{attachment:Revoked-6.jpg|Nový CSR, předmět}} Na záložce Subject zadejte název importovaného privátního klíče. {{attachment:Revoked-7.jpg|Nový CSR, rozšíření}} Na záložce Extensions přidejte, je.li třeba, alternativní názvy (SAN). {{attachment:Revoked-8.jpg|Nový CSR, typ certifikátu}} Na záložce Netscape vyberte v seznamu typ certifikátu. Stiskněte OK. Ostatní údaje do certifikátu doplní CAcert z Vašeho účtu. Nakonec stiskněte OK. Žádost se objeví v seznamu vlevo. Můžete si ji prohlédnout (Details). {{attachment:Revoked-9.jpg|Nový CSR, podrobnosti}} Exportujte žádost do souboru *.pem, *.txt nebo *.csr. Označte žádost a stiskněte Export. Pro tento soubor je výhodný tvar TXT, který lze později snadno otevřít textovým editorem, celý jeho obsah označit a zkopírovat do schránky (Ctrl-C). {{attachment:Revoked-A.jpg|Nový CSR, export do souboru}} Další postup je přímočarý. {{attachment:Revoked-B.jpg|Přenos obsahu CSR přes schránku}} Otevřete exportovaný soubor a celý jeho obsah uložte do schránky (Ctrl-C). {{attachment:Revoked-C.gif|Vložení obsahu CSR ze schránky}} Pak se přihlaste k webu CAcert, v menu zvolte Nový (klientský nebo serverový certifikát) a předložte CSR zápisem (Ctrl-V) do pole pro žádost. Dokončete akci a stáhněte si vystavený certifikát. Nezapomeňte si pořídit zálohu *.p12/*.pfx. {{attachment:Revoked-D.jpg|}} Import vystaveného certifikátu do XCA je potvrzen. {{attachment:Revoked-E.jpg|}} Nový certifikát a jeho údaje na záložce Certificates. Veřejný klíč původního certifikátu je zachován, nový certifikát a příslušný privátní klíč jsou v XCA uloženy. Import klíče do XCA je snadný, máte-li zálohu PKCS#12 ve tvaru PEM v souboru; je to také soubor, z nějž jste certifikát s privátním klíčem importovali například do Androidu. Soubor privátního klíče vytváří i openSSL, viz déle. Problém nastává, když sice privátní klíč máte, ale nedokážete ho dostat do souboru. Zálohování a jiné uložení do souboru lze využít v těchto programech: * Systém Windows: MMC, modul Certifikáty, zálohuje do souboru *.pfx. * Firefox a jeho klony, také Seamonkey a jiné prohlížeče či e-mail klienty (Thunderbird) s vlastním Správcem certifikátů: zálohují zpravidla do *.p12. * XCA: privátní klíče se použijí přímo z programu. * openSSL na Linuxu: privátní klíče jsou soubory *.key. Privátní klíč lze tedy většinou uložit do souboru zálohy, odkud ho importujete, nebo už je v souboru (například *.key). === Použití programu openSSL === Máte-li privátní klíč, odpovídající odvolanému certifikátu, v souboru *.key, použijte tento příkaz: {{{ openssl req -new -key .key -out .txt }}} Pro výstupní soubor je výhodný tvar TXT, který lze snadno otevřít textovým editorem a celý jeho obsah označit a zkopírovat do schránky (Ctrl-C). Předložte nyní obsah schránky webu CAcert, jak bylo popsáno výše. Výsledný certifikát ve tvaru PEM stáhněte jako soubor s příponou .crt. Teď máte jak nový certifikát, tak odpovídající privátní klíč, což je privátní klíč odpovídající odvolanému i novému certifikátu. Pro některé programy je to dostatečné, ale pro prohlížeče potřebujete vytvořit "záložní" soubor *.p12/*.pfx; k tomu použjte příkaz: {{{ openssl pkcs12 -in .crt -inkey .key -export -out .p12 }}} K tomu musíte zadat heslo privátního klíče (1x) a heslo pro záložní soubor (2x). Soubor .p12 obsahuje certifikát a odpovídající privátní klíč. Lze ho importovat Správcem certifikátů jako osobní (Personal). ---- CategoryTutorials