L'ordre s'atura amb un ca.crt que falta o un index.txt que falta, i la CA fa mesos que emet certificats. No ha canviat res de l'autoritat; l'ordre simplement ha mirat en un altre lloc. L'Easy-RSA 3 resol un directori de PKI a partir d'una opció, una variable d'entorn, un fitxer vars i un valor per defecte integrat, i qualsevol d'aquests pot apuntar fora de l'autoritat del desplegament. Comproveu quin ha guanyat abans de crear res.

L'error anomena un fitxer, no un directori

El directori d'instal·lació i el directori de l'emissor són dos llocs diferents. Trobar easyrsa a la màquina només demostra que l'eina està instal·lada, no que hagi trobat l'autoritat en què confia el vostre VPN.

Per això reinstal·lar el paquet o tornar a executar el pas init sembla productiu i no canvia res.

Comproveu el selector abans de res

A l'Easy-RSA 3 el selector és EASYRSA_PKI o l'opció corresponent --pki-dir. Passeu un camí absolut com ara --pki-dir=/srv/pki/office, i la resposta deixa de dependre d'on us trobàveu. Aquest hàbit elimina tota una classe d'aquest error, especialment per a scripts executats des de cron o des d'un checkout de CI.

Confirmeu primer la generació, perquè l'hàbit de l'Easy-RSA 2 d'un fitxer vars més build-key és un model diferent del que espera l'Easy-RSA 3. easyrsa --version imprimeix la generació abans de fer res més, i ./easyrsa --help llista les subordres: un objectiu build-key significa 2.x, mentre que build-client-full significa 3.x. Portar un camí KEY_DIR antic a una invocació 3.x perquè el nom del directori sembla familiar produeix exactament aquest error.

Si la cadena de versió i la sintaxi de l'ordre no coincideixen, atureu-vos i llegiu la documentació de la versió instal·lada.

La precedència explica un fitxer vars que ha perdut

La precedència documentada és opció de línia d'ordres, després entorn, després fitxer vars, després valor per defecte integrat. Per tant, un valor correcte a vars perd davant d'una variable d'entorn heretada, i aquesta és la versió silenciosa d'aquesta fallada. Inspeccioneu les variables previstes i la selecció de fitxers en lloc d'abocar tot l'entorn en un tiquet. La diferència entre tots dos sol ser un secret.

Recorreu la cadena en ordre i anoteu quina font va proporcionar el camí que va utilitzar l'ordre. Un cop ho sapigueu, la solució és un indicador o un export, no una nova autoritat de certificació.

La referència de configuració d'Easy-RSA defineix el selector i la precedència, i és la citació que cal posar al tiquet.

Confirmeu l'emissor amb material públic

Amb l'emissor habitual basat en fitxers, llegiu ca.crt i compareu la seva empremta amb el registre d'emissor que heu aprovat. Un nom de subjecte coincident no és prova d'identitat, i un directori anomenat production tampoc. Només l'empremta lliga el fitxer que heu trobat amb l'autoritat que es va dir als vostres parells que confiessin.

N'hi ha prou amb una comprovació de només lectura: openssl x509 -in /srv/pki/office/ca.crt -noout -subject -issuer -serial -fingerprint -sha256.

Després establiu el paper del directori. Un directori de sol·licituds que utilitza un client no és una base de dades d'emissor, i una clau de signatura guardada fora de línia no té res a fer a cada amfitrió VPN. Un ca.key que falta és una propietat de disseny en aquesta disposició, no un permís per inventar una autoritat substituta.

Si l'estat realment ha desaparegut

De vegades el camí és correcte i l'estat genuïnament no hi és. Un index.txt buit i un comptador de sèrie reiniciat us donen una PKI que sembla sana i no pot demostrar res sobre els certificats que mai ha vist: les renovacions no revocaran els antics, i els números nous xocaran amb l'historial. Restaureu en canvi la còpia de seguretat aprovada de la CA, perquè inicialitzar una PKI buida en un altre lloc només mou l'error i deixa enrere una segona autoritat no relacionada.

Quan el camí i l'emissor coincideixin, tracteu la següent fallada pel seu mèrit. Permission denied, una clau de signatura que necessita la seva contrasenya i un registre d'emissió que falta són tres avaries diferents, i només una tracta del directori que acabeu de corregir.

No elimineu mai el xifratge de claus ni amplieu els permisos de directori per tapar un error de camí. L'error és barat de corregir; la reparació no.

Articles relacionats