Easy-RSA-Registrierungsfehler unter Windows: die Registrierungsansicht prüfen
Diese Registrierungsmeldung ist ein fehlgeschlagener Werkzeug-Lookup, keine defekte CA. Vergleichen Sie die 32-Bit- und die 64-Bit-Ansicht, bevor Sie die Batchdatei oder die PKI ändern.
Die Batchdatei bricht mit „Das System konnte den angegebenen Registrierungsschlüssel oder -wert nicht finden“ ab, und alle nehmen an, die Zertifizierungsstelle sei defekt. Das ist sie nicht, jedenfalls noch nicht: Das Skript scheiterte bei der Suche nach Software, bevor es Easy-RSA bat, irgendetwas mit einem Schlüssel zu tun. Diese Reihenfolge zählt, denn sie bedeutet, dass die Reparatur ein Suchproblem ist und die PKI nur Zuschauer. Die fehlschlagende Zeile zu lesen ist die ganze Diagnose, und das dauert weniger Zeit als jeder der Workarounds.
Der Fehler tritt auf, bevor die CA berührt wird
Alte Easy-RSA-2-Batchdateien ermitteln OpenSSL oder die OpenVPN-Installation per Registrierungsabfrage und setzen daraus Variablen. Wenn die Abfrage nichts liefert, bricht das Skript ab, bevor irgendeine Zertifikatsoperation läuft.
Eine Meldung über einen Registrierungsschlüssel ist also ein Beleg über die Umgebung des Skripts, nicht über das CA-Verzeichnis.
Zwei Registrierungsansichten, eine Batchdatei
Ein 32-Bit-Prozess und ein 64-Bit-Prozess können unterschiedliche Registrierungsansichten sehen, und eine Batchdatei, die eine davon voraussetzt, kann den Eintrag verfehlen, der in der anderen existiert. Diese schreibgeschützten Vergleiche zeigen den Unterschied für den alten Schlüssel, den manche alten Skripte verwenden:
reg query "HKLM\SOFTWARE\OpenVPN" /reg:32
reg query "HKLM\SOFTWARE\OpenVPN" /reg:64
Die reg-query-Referenz dokumentiert die Ansichtsauswahl. Führen Sie beide im selben Kontext wie das fehlschlagende Skript aus, denn die Ansicht hängt davon ab, wie der Prozess startet, und auch von den Flags. Wenn der Eintrag nur in einer Ansicht existiert, vergleichen Sie den Pfad, auf den er zeigt, mit den installierten Werkzeugen, bevor Sie etwas ändern. Ein Schlüssel, der existiert, aber auf ein altes Installationsverzeichnis verweist, ist ein anderer Fehler als ein fehlender Schlüssel.
Hat keine der beiden Ansichten den Eintrag, hat der Installer ihn nie angelegt, und ein von Hand erzeugter Wert bringt die Werkzeuge nicht zum Laufen.
Fügen Sie /reg:64 nicht bedingungslos hinzu
Die verlockende Korrektur ist, jeder Abfrage den 64-Bit-Selektor anzuhängen und weiterzugehen. Bei manchen Installationen ist das richtig, bei anderen schickt es das Skript in eine Ansicht, die wirklich nichts enthält.
Ändern Sie die Suche erst, nachdem Sie gesehen haben, welche Ansicht den erwarteten Wert enthält.
Erkennung ist keine PKI-Reparatur
Dieser Fehler belegt nicht, dass das CA-Zertifikat, der Signaturschlüssel, die Seriendatei oder die Sperrliste beschädigt sind. Ein aus einem alten Tutorial kopiertes clean-all würde einen völlig anderen Satz von Objekten zerstören und die Suche kaputt lassen. Halten Sie die beiden Tätigkeiten im Kopf und im Ticket getrennt. Scheitert später eine Zertifikatsoperation, bewerten Sie sie nach ihren eigenen Belegen.
Sichern Sie das CA-Verzeichnis vor jedem Experiment, auch vor einem, von dem Sie sicher sind, dass es nur liest.
Der Umstieg auf Easy-RSA 3 ist eine Migration
Eine gepflegte Installation sollte den eigenen Launcher und das Konfigurationsmodell des aktuellen Pakets verwenden, und Easy-RSA 3 ist nicht derselbe Batchdatei-Workflow wie Easy-RSA 2. Sein Schnellstart für eine neue PKI ist keine Migrationsanleitung für eine bestehende Autorität. Bevor Sie Versionen wechseln, sichern Sie das CA-Material samt Ausstellungs- und Sperrverzeichnis und folgen Sie den Upgrade-Hinweisen dieser Version. Eine Ersatz-CA im maßgeblichen Verzeichnis zu initialisieren, damit ein Werkzeug-Erkennungsfehler verschwindet, ist die schlechteste Option auf der Liste.
Ein Versionswechsel ist ein Projekt; der Registrierungsfehler ist ein Nachmittag.
Der Vergleich, der es tatsächlich löst
Notieren Sie vier Dinge und vergleichen Sie sie direkt:
- Welches Skript lief und welche Zeile fehlschlug.
- Welche Registrierungsansicht diese Zeile abfragte.
- Welchen Programmpfad das Skript erwartete.
- Welche Installation auf dem Rechner tatsächlich existiert.
Wenn diese vier übereinstimmen, ist der Fehler weg, und jedes verbleibende Zertifikatsproblem lässt sich anhand seiner eigenen Belege lesen, statt die CA zu beschuldigen.