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 a dosud používá CAcert generování CSR přímo z prohlížeče. Některé prohlížeče jsou toho schopny dodnes, ale většina jich už příslušnou značku <keygen> nepodporuje. 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.)

Zadejte heslo souboru PFX/P12

Zadejte heslo zálohy.

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íč.

Importovaný klíč

Poznačte si název importovaného privátního klíče.

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.

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.

Nový CSR, předmět

Na záložce Subject zadejte název importovaného privátního klíče.

Nový CSR, rozšíření

Na záložce Extensions přidejte, je.li třeba, alternativní názvy (SAN).

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).

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).

Nový CSR, export do souboru

Další postup je přímočarý.

Přenos obsahu CSR přes schránku

Otevřete exportovaný soubor a celý jeho obsah uložte do schránky (Ctrl-C).

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.

Revoked-D.jpg

Import vystaveného certifikátu do XCA je potvrzen.

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:

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 <odvol_priv_klic>.key -out <zadost_csr>.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 <vystaveny_certifikat>.crt -inkey <odvol_priv_klic>.key -export -out <zaloha>.p12

K tomu musíte zadat heslo privátního klíče (1x) a heslo pro záložní soubor (2x).

Soubor <zaloha>.p12 obsahuje certifikát a odpovídající privátní klíč. Lze ho importovat Správcem certifikátů jako osobní (Personal).