Posso revocare un certificato client usando solo il suo numero di serie (non è crt / pem)?

5

Ho firmato e rilasciato alcuni certificati client con la mia CA. Ora posso revocarli in questo modo:

openssl ca -name ${CA_NAME} -revoke ${USERS_DIR}/${USERNAME}.crt -keyfile $SSL_PRIVATE_DIR/ca.key -cert $SSL_CERTS_DIR/ca.crt

( da qui )

Tuttavia ciò richiede l'accesso a * .pems nella cartella new_certs_dir (ad esempio 01.pem, 02.pem). Posso usarli ma sembra che l'unica informazione che ho bisogno per revocare un certificato cliente sia il suo numero di serie. Tuttavia la pagina man per il flag di revoca dice che deve essere il file crt / pem:

-revoke filename
       a filename containing a certificate to revoke.

Ho anche notato che posso modificare manualmente il file del database, cambiando il V (valido, presumibilmente) in R (revocato, presumibilmente) e fornendo un timestamp per la seconda colonna timestamp, in questo modo:

V       180408071318Z           01      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA
V       180408071319Z           02      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA

a

V       180408071318Z           01      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA
R       180408071319Z    180408081319Z       02      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA

Se poi creo il crl dopo la modifica,

openssl ca -name ${CA_NAME} -gencrl -keyfile $SSL_PRIVATE_DIR/ca.key -cert $SSL_CERTS_DIR/ca.crt -out $SSL_PRIVATE_DIR/ca.crl -crldays 1095

il certificato corrispondente a quel seriale non è più valido. Quindi sembra che tutto ciò di cui avevo bisogno fosse il seriale, nonostante OpenSSL non fornisse quell'opzione.

Quindi la mia domanda è, c'è un modo kosher per revocare un certificato usando solo il suo numero di serie? O ci sono motivi importanti per cui ciò non viene fatto? Incontrerò problemi se modifico manualmente il file di database come sopra?

    
posta Dave 08.04.2016 - 09:26
fonte

1 risposta

2

In X509 i campi che rendono un certificato univoco sono la combinazione di emittente e numero di serie. Solo il numero di serie non può essere considerato univoco in quanto due CA possono utilizzare la stessa seriale. Questo è il motivo per cui entrambi sono tipicamente necessari per la revoca. In pratica, se hai solo una CA, il serial sarà abbastanza ovviamente. Ma non è generico. Non ci dovrebbero essere problemi di modifica manuale del database, poiché ciò sarà la stessa cosa che il comando farà

    
risposta data 09.04.2016 - 14:09
fonte

Leggi altre domande sui tag