Easy-RSA-registerfel i Windows: kontrollera registervyn
Det registermeddelandet är ett misslyckat verktygssök, inte en trasig CA. Jämför 32-bit- och 64-bit-vyerna innan du redigerar batchfilen eller PKI:t.
Batchfilen stannar med meddelandet ”Systemet kunde inte hitta den angivna registernyckeln eller -värdet” och alla antar att certifikatmyndigheten är trasig. Det är den inte, eller åtminstone inte ännu: skriptet misslyckades medan det letade efter programvara, innan det bad Easy-RSA göra något med en nyckel. Den ordningen spelar roll, eftersom den betyder att reparationen är ett sökproblem och att PKI:t bara är åskådare. Att läsa raden som misslyckas är hela diagnosen, och det tar kortare tid än någon av kringgåendena.
Felet inträffar innan CA:n berörs
Gamla Easy-RSA 2-batchfiler hittar OpenSSL eller installationen av OpenVPN genom att fråga registret och ställer sedan in variabler utifrån vad de hittar. När frågan inte returnerar något avbryts skriptet innan någon certifikatoperation körs.
Ett meddelande om en registernyckel är därför bevis om skriptets miljö, inte om CA-mappen.
Två registervyer, en batchfil
En 32-bitars process och en 64-bitars process kan se olika registervyer, och en batchfil som förutsätter den ena kan missa posten som finns i den andra. Dessa skrivskyddade jämförelser visar skillnaden för den gamla nyckeln som vissa gamla skript använder:
reg query "HKLM\SOFTWARE\OpenVPN" /reg:32
reg query "HKLM\SOFTWARE\OpenVPN" /reg:64
Referensen för reg query dokumenterar vyväljarna. Kör båda i samma sammanhang som skriptet som misslyckades, eftersom vyn beror på hur processen startas och även på flaggorna. Om posten bara finns i en vy, jämför sökvägen den pekar på med de installerade verktygen innan du ändrar något. En nyckel som finns men pekar på en gammal installationskatalog är ett annat fel än en nyckel som saknas.
Om ingen av vyerna har posten har installationsprogrammet aldrig skapat den, och ett handgjort värde får inte verktygen att fungera.
Lägg inte till /reg:64 utan vidare
Den frestande rättelsen är att lägga till 64-bit-väljaren i varje fråga och gå vidare. På vissa installationer är det korrekt, på andra skickar det skriptet till en vy som verkligen inte har något.
Ändra sökningen först efter att du sett vilken vy som har det förväntade värdet.
Att hitta är inte PKI-reparation
Det här felet bevisar inte att CA-certifikatet, signeringsnyckeln, serienummerfilen eller återkallningsdatabasen är skadade. Att köra ett clean-all kopierat från en gammal guide skulle förstöra en helt annan uppsättning objekt och lämna sökningen trasig. Håll de två aktiviteterna åtskilda i huvudet och i ärendet. Om en certifikatoperation senare misslyckas, bedöm den utifrån sina egna bevis.
Ta en säkerhetskopia av CA-mappen före varje experiment, även ett som du är säker på bara läser.
Att flytta till Easy-RSA 3 är en migrering
En underhållen installation bör använda det nuvarande paketets egen startare och konfigurationsmodell, och Easy-RSA 3 är inte samma batchfil-arbetsflöde som Easy-RSA 2. Dess snabbstart för ett nytt PKI är inte en migreringsinstruktion för en befintlig myndighet. Innan du byter version, bevara CA-materialet samt utfärdande- och återkallningsregistren och följ uppgraderingsvägledningen för den versionen. Att initiera en ersättnings-CA inne i den auktoritativa mappen för att få ett verktygssökfel att försvinna är det sämsta alternativet på listan.
Ett versionsbyte är ett projekt; registerfelet är en eftermiddag.
Jämförelsen som faktiskt löser det
Skriv ned fyra saker och jämför dem direkt:
- Vilket skript som kördes, och vilken rad som misslyckades.
- Vilken registervy den raden frågade.
- Vilken körbar sökväg skriptet förväntade.
- Vilken installation som faktiskt finns på maskinen.
När de fyra stämmer överens är felet borta, och varje kvarvarande certifikatproblem kan läsas utifrån sina egna bevis i stället för att skylla på CA:n.