El fitxer per lots s'atura amb “El sistema no ha pogut trobar la clau o el valor de registre especificats” i tothom assumeix que l'autoritat de certificació està espatllada. No ho està, o almenys encara no: l'script va fallar mentre buscava programari, abans de demanar a Easy-RSA que fes res amb una clau. Aquest ordre importa, perquè significa que la reparació és un problema de cerca i que el PKI és un espectador. Llegir la línia que falla és tot el diagnòstic, i triga menys que qualsevol de les solucions alternatives.

L'error passa abans de tocar la CA

Els fitxers per lots antics d'Easy-RSA 2 localitzen OpenSSL o la instal·lació d'OpenVPN consultant el registre, i després defineixen variables a partir del que troben. Quan la consulta no retorna res, l'script s'avorta abans que s'executi cap operació de certificat.

Per tant, un missatge sobre una clau de registre és evidència sobre l'entorn de l'script, no sobre el directori de la CA.

Dues vistes del registre, un sol fitxer per lots

Un procés de 32 bits i un procés de 64 bits poden veure vistes diferents del registre, i un fitxer per lots que n'assumeix una pot no trobar l'entrada que existeix a l'altra. Aquestes comparacions de només lectura mostren la diferència per a la clau heretada que fan servir alguns scripts antics:

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

La referència de reg query documenta els selectors de vista. Executeu les dues ordres en el mateix context que l'script que falla, perquè la vista depèn de com s'inicia el procés i també dels indicadors. Si l'entrada només existeix en una vista, compareu el camí al qual apunta amb les eines instal·lades abans de canviar res. Una clau que existeix però apunta a un directori d'instal·lació antic és una fallada diferent d'una clau absent.

Si cap de les dues vistes té l'entrada, l'instal·lador no la va crear mai, i fabricar un valor a mà no farà que les eines funcionin.

No afegiu /reg:64 incondicionalment

La solució temptadora és afegir el selector de 64 bits a cada consulta i continuar. En algunes instal·lacions és correcte, i en altres envia l'script a una vista que realment no té res.

Canvieu la cerca només després d'haver vist quina vista conté el valor esperat.

Descobrir no és reparar el PKI

Aquest error no estableix que el certificat de la CA, la clau de signatura, el fitxer de sèrie o la base de dades de revocació estiguin malmesos. Executar un clean-all copiat d'un tutorial antic destruiria un conjunt d'objectes completament diferent mentre deixaria la cerca trencada. Manteniu les dues activitats separades al cap i al tiquet. Si una operació de certificat falla més endavant, valoreu-la amb les seves pròpies proves.

Feu una còpia de seguretat del directori de la CA abans de qualsevol experiment, fins i tot d'un que estigueu segurs que és només de lectura.

Passar a Easy-RSA 3 és una migració

Una instal·lació mantinguda hauria d'usar el llançador i el model de configuració propis del paquet actual, i Easy-RSA 3 no és el mateix flux de treball amb fitxers per lots que Easy-RSA 2. La seva guia ràpida per a un PKI nou no és una instrucció de migració per a una autoritat existent. Abans de canviar de versió, preserveu el material de la CA i els registres d'emissió i revocació, i seguiu les indicacions d'actualització d'aquella versió. Inicialitzar una CA de substitució dins del directori autoritatiu per fer desaparèixer un error de descoberta d'eines és la pitjor opció de la llista.

Un canvi de versió és un projecte; l'error de registre és una tarda.

La comparació que realment ho resol

Anoteu quatre coses i compareu-les directament:

  • Quin script es va executar i quina línia va fallar.
  • Quina vista del registre va consultar aquella línia.
  • Quin camí d'executable esperava l'script.
  • Quina instal·lació existeix realment a la màquina.

Quan aquestes quatre coincideixen, l'error desapareix, i qualsevol problema de certificat que quedi es pot llegir amb les seves pròpies proves en lloc de culpar la CA.

Articles relacionats