X509 CRL certificati sospesi e comando openssl ca

5

Nel formato CRL X509 abbiamo "codice istruzioni di attesa" per un elenco di certificati sospesi. So che "il suo uso è strongmente deprecato per l'Internet PKI", ma nella mia CA privata, voglio usarlo.

Openssl ha un comando ca dove posso fare tutte le cose "ca" direttamente sul mio cli Linux. Ha un'opzione -crl_hold instruction per mettere "in attesa" un certificato, ma come posso rimuovere lo stato "in attesa" di questo certificato? Non ho trovato alcun modo per gestire la sospensione temporanea di questo certificato.

Qualsiasi aiuto sarà molto utile.

    
posta Fausto Carvalho Marques Silva 25.04.2016 - 15:26
fonte

3 risposte

4

Da Libro di ricette OpenVPN 2 :

The OpenSSL ca command generates its CRL by looking at the index.txt file. Each line that starts with an ' R ' is added to the CRL, after which the CRL is cryptographically signed using the CA private key.

Per ripristinare il certificato revocato, puoi modificare il tuo database della CA :

database       = $dir/index.txt        # index file.

1. Aggiorna la voce pertinente in $dir/index.txt , sostituendo R=revoked con V=valid .
2. Ricrea il file crl: openssl ca -gencrl ***
3. Ciò che rimane è l'automazione del processo ( Uno script? )

    
risposta data 03.05.2016 - 13:09
fonte
1

La lettura della raccomandazione X.509 ci dice che un certificato può essere "non sospeso" di 2 significa:

  • o lo revocano davvero, cambiando il codice della ragione mentre lo tengono la data
  • o rimuoverlo completamente dal CRL. Se hai intenzione di emettere deltaCRL, DEVI usare "removeFromCRL" codice motivo per tali certificati, solo per i deltaCRL.
risposta data 03.05.2016 - 12:00
fonte
1

Non esiste un metodo per "sospendere" un certificato in openssl sulla CLI di cui sono a conoscenza. E la seguente citazione potrebbe darti un altro consiglio:

Martin Abalea, mailing list OpenSSL, 13/10/2008, Ri: Metti in attesa il certificato :

Reading the X.509 recommendation (downloadable for free from the ITU-T web site) tells us that a certificate can be "un-holded" by 2 means:
- either really revoke it, by changing the reason code while keeping the date
- or completely remove it from the CRL, as you guessed.

Ancora una volta, non sono a conoscenza di alcun comando CLI per OpenSSL, quindi le tue opzioni potrebbero essere:

  1. emettere un nuovo certificato o
  2. ripristinare una copia del CA DB prima della revoca e emettere un nuovo CRL.

    Se disponi di altri certificati revocati, assicurati di annotarli se ripristini il DB. Altrimenti, hai dichiarato che questa è la tua CA privata, non vedo perché generare un nuovo CERT sia un problema.

    C'è ancora un metodo "long shot" che potresti essere in grado di usare Microsoft (non so come fare qualcosa di simile in OpenSSL).

  3. Se puoi importare il tuo cert nella MS MS, MS ha un semplice "clic destro" per sottrarre. Consulta la seguente documentazione su come eseguire questa operazione. Ecco la CLI da quella pagina:

    To unrevoke a certificate revoked with the reason code "Certificate Hold," at a command prompt on the CA, type:

    certutil -revoke CertificateSerialNumber unrevoke
    
risposta data 28.04.2016 - 15:47
fonte

Leggi altre domande sui tag