Verifica che il certificato sia stato revocato da CRL

0

Ho configurato una CA e firmato alcune richieste di certificato.

Li revoco di:

openssl ca -config config.cnf -revoke cert.pem

Aggiornamento CRL di:

openssl ca -config config.cnf -gencrl -out crl/crl.pem

index.txt mostra una 'R' per questo certificato, anche quando controllo il crl.pem che il certificato è elencato come revocato. Quindi penso che abbia funzionato bene.

Ora il problema: non posso controllare il certificato se è stato revocato. Alcuni possono darmi il comando giusto. Se provo:

openssl cerify -CAfile cacert.pem cert.pem

Non riesco a trovare la sintassi corretta per includere il file crl. Ho letto qualcosa sugli hash dei certs? Ma non riuscivo a capire come farlo.

    
posta guest123 19.05.2014 - 22:35
fonte

1 risposta

3

Devi specificare -crl_check (e spell verify correttamente) E avere sia il certificato CA che il CRL (applicabile) nel tuo archivio sicuro. Ci sono due modi per farlo:

  1. concatena cacert.pem e crl.pem in un file e usalo per -CAfile .
  2. inserisce o collega il file PEM cacert in una directory usando il nome $hash.0 dove $ hash è l'hash dell'oggetto cert (che per un certificato radice è anche l'emittente) come output di openssl x509 -noout -subject_hash -in $cert ; e metti o collega il file CRL PEM nella stessa directory usando il nome $hash.r0 dove $ hash è l'hash dell'emittente CRL come output di openssl crl -noout -hash -in $crl (che qui sarà uguale al cert); e usa quella directory per -CApath . (In un caso più generale in cui si hanno molti certs e / o CRL e ci sono collisioni hash, si incrementa lo 0 a 1 ecc.)

L'approccio 2 è probabilmente quello a cui si è fatto riferimento, ma si noti che non è il cert né il CRL come tale che è hash. A seconda che si stia usando la distro sorgente di openssl o di una build pacchettizzata, su Unix può fornire uno script c_rehash che imposta i collegamenti simbolici per l'approccio 2; su Windows AFAICT sei da solo, e farlo manualmente è piuttosto fastidioso (ma possibile).

    
risposta data 20.05.2014 - 00:25
fonte

Leggi altre domande sui tag