Perdeches o certificado do cliente? Revoga polo número de serie, non polo nome
Un ficheiro de certificado ausente non é un rexistro ausente. A revogación funciona sobre o número de serie que asinou a CA, así que atopa ese obxecto antes de emitir un substituto.
O ficheiro do certificado do teu cliente desapareceu e o reflexo é revogar o nome e emitir un novo. Ese reflexo deixa válido o certificado orixinal, porque a revogación funciona sobre un número de serie e non sobre unha etiqueta. A CA case con seguridade aínda garda unha copia do que emitiu, e atopar esa copia é toda a tarefa.
Perder un ficheiro non é perder o rexistro da CA
Unha PKI de Easy-RSA conserva os certificados públicos que emitiu, e as versións actuais tamén arquivan copias por serie no directorio certs_by_serial da PKI. A clave privada non fai falta para revogar nada. O que importa é o certificado exacto que asinou a CA, que a CA xa ten.
Traballa sobre unha copia de seguridade da PKI correcta, co administrador que a posúe. A revogación é unha operación auditable e non unha reparación feita nunha base de datos de produción á medianoite.
Unha copia do certificado público incorporado do cliente tamén serve, se o despregamento conservou unha.
Le o emisor e a serie antes que nada
Inspecciona o PEM recuperado e anota o emisor, o número de serie, o suxeito e a xanela de validez. O número de serie é único dentro do ámbito dun emisor, non entre todas as CA do teu contorno, así que o emisor forma parte da identidade. Se varios certificados comparten un suxeito, son esas series as que os distinguen.
Cotexa os valores cos rexistros da CA e co dispositivo ou a persoa que cres que ten o certificado.
Un nome común pódese reutilizar, e normalmente faise. Non decidas que certificados retirar ata que as series estean anotadas.
Por que revogar o certificado novo non fai nada
Emitir un substituto co mesmo nome común crea un segundo certificado cunha serie distinta. Revogar o substituto retira o novo e deixa o orixinal válido ata que caduque. Dende o punto de vista da CA son dous obxectos independentes, e unha CRL lista series e non nomes. O índice da CA mantén unha fila por certificado emitido exactamente por iso.
A mesma confusión produce o erro inverso: borrar o ficheiro do cliente e supor que a CA o esqueceu. Borrar no cliente non é un evento de revogación, e o certificado segue funcionando para calquera que teña unha copia.
Ambos os erros veñen de tratar o nome como a identidade.
Revoga o certificado que nomea a serie
Identifica o obxecto antes de tocar a CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates imprime os catro valores nunha soa pasada, e a serie é o que comparas co arquivo da CA. Easy-RSA garda ese arquivo baixo pki/certs_by_serial, cun ficheiro por serie. A orde de revogación acepta un nome común e non unha serie, así que copia o ficheiro arquivado a pki/issued/<common-name>.crt e deixa que o nome apunte ao obxecto que identificaches. Executa easyrsa revoke <common-name> dende o directorio da PKI e logo comproba que a fila correspondente en index.txt pasou a R. A serie é como escolles o obxecto, non un argumento que a orde acepte.
openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl
Se index.txt non mostra R, detente e le o erro antes de xerar unha CRL, porque unha CRL construída a partir dun rexistro que segue vixente non retira nada. Só despois de que a fila cambie executas easyrsa gen-crl e pasas a distribuír o ficheiro.
Publica a CRL onde realmente se aplica
Xera unha CRL nova mediante o fluxo de traballo admitido da PKI e logo publícaa en cada verificador que aplique as revogacións deste emisor.
Un ficheiro actualizado que repousa na CA non cambia nada, porque a VPN remata a decisión no seu propio verificador. Comproba o emisor da CRL, o período de validez e as series revogadas, e confirma que o servizo recarga o ficheiro en lugar de cachear o anterior. A propiedade e a ruta importan tanto como o contido: unha CRL que o daemon non pode ler é indistinguible de non ter ningunha. A opción crl-verify de OpenVPN nomea o ficheiro que le o daemon, así que comproba esa ruta e a propiedade do ficheiro na configuración do servidor.
Verifica cun intento de conexión real, non coa marca de tempo do ficheiro.
Sabe cando unha CRL é a ferramenta equivocada
Se a clave privada do emisor xa non é de confianza, retirar series coñecidas non impide que un posuidor non autorizado asine certificados novos. Iso é unha transición de confianza do emisor, é dicir, unha CA nova e un plan de distribución, non outra entrada na CRL. Que un antigo administrador tivese acceso non é por si só proba de que a clave se usase mal, así que reúne os feitos antes de reconstruír a confianza.
Editar á man a base de datos de emisión para xirar unha letra de estado non substitúe unha revogación asinada, e deixa a CRL incoherente cos rexistros.
Ten a serie, a CRL e o paso de distribución nunha soa nota, e a próxima auditoría convértese nunha lectura. O proxecto Easy-RSA documenta as ordes admitidas para a versión que tes instalada, e esa é a única interface que paga a pena seguir.