Dávkový soubor se zastaví se zprávou „Systém nemohl najít zadaný klíč nebo hodnotu registru“ a všichni předpokládají, že certifikační autorita je rozbitá. Není, nebo alespoň zatím ne: skript selhal při hledání softwaru, dříve než požádal Easy-RSA, aby s klíčem cokoli udělal. Na tomto pořadí záleží, protože znamená, že oprava je problém hledání a PKI je jen divák. Přečtení selhávajícího řádku je celá diagnóza a zabere méně času než kterékoli obejití.

Chyba nastane dřív, než se CA vůbec dotkneme

Staré dávkové soubory Easy-RSA 2 zjišťují OpenSSL nebo instalaci OpenVPN dotazem do registru a potom nastaví proměnné podle toho, co najdou. Když dotaz nic nevrátí, skript se ukončí dřív, než se spustí jakákoli operace s certifikátem.

Zpráva o klíči registru je tedy důkazem o prostředí skriptu, ne o adresáři CA.

Dva pohledy registru, jeden dávkový soubor

32bitový proces a 64bitový proces mohou vidět různé pohledy registru a dávkový soubor, který předpokládá jeden z nich, může minout záznam, který existuje v druhém. Tato porovnání pouze pro čtení ukazují rozdíl pro starší klíč, který některé staré skripty používají:

reg query "HKLM\SOFTWARE\OpenVPN" /reg:32
reg query "HKLM\SOFTWARE\OpenVPN" /reg:64

Referenční dokumentace reg query popisuje selektory pohledu. Spusťte oba příkazy ve stejném kontextu jako selhávající skript, protože pohled závisí na tom, jak se proces spouští, i na přepínačích. Pokud záznam existuje jen v jednom pohledu, porovnejte cestu, na kterou ukazuje, s nainstalovanými nástroji, než cokoli změníte. Klíč, který existuje, ale ukazuje na starý instalační adresář, je jiná závada než chybějící klíč.

Pokud záznam nemá ani jeden pohled, instalátor ho nikdy nevytvořil a ruční výroba hodnoty nástroje nerozchodí.

Nepřidávejte /reg:64 bezpodmínečně

Lákavá oprava je přidat 64bitový selektor ke každému dotazu a jít dál. U některých instalací je to správně, u jiných to pošle skript do pohledu, který opravdu nic nemá.

Hledání změňte až poté, co uvidíte, který pohled obsahuje očekávanou hodnotu.

Zjišťování není oprava PKI

Tato chyba neprokazuje, že certifikát CA, podepisovací klíč, soubor se sériovými čísly nebo databáze odvolání jsou poškozené. Spuštění clean-all zkopírovaného ze starého návodu by zničilo úplně jinou sadu objektů a hledání by zůstalo rozbité. Držte obě činnosti oddělené v hlavě i v tiketu. Pokud později selže operace s certifikátem, posuzujte ji podle jejích vlastních důkazů.

Před jakýmkoli experimentem si zálohujte adresář CA, i když jste si jistí, že je jen pro čtení.

Přechod na Easy-RSA 3 je migrace

Udržovaná instalace by měla používat vlastní spouštěč a konfigurační model aktuálního balíčku a Easy-RSA 3 není stejný dávkový pracovní postup jako Easy-RSA 2. Jeho rychlý start pro novou PKI není pokynem k migraci existující autority. Před změnou verze zachovejte materiál CA plus záznamy o vydávání a odvolání a řiďte se pokyny k upgradu dané verze. Inicializovat náhradní CA v autoritativním adresáři, aby chyba zjišťování nástrojů zmizela, je nejhorší možnost v seznamu.

Změna verze je projekt; chyba registru je odpoledne.

Srovnání, které to skutečně vyřeší

Zapište si čtyři věci a přímo je porovnejte:

  • Který skript se spustil a který řádek selhal.
  • Který pohled registru ten řádek dotazoval.
  • Kterou cestu ke spustitelnému souboru skript očekával.
  • Která instalace na stroji skutečně existuje.

Když se tyto čtyři shodují, chyba je pryč a každý zbývající problém s certifikátem lze číst podle jeho vlastních důkazů, místo aby se vinila CA.

Související články