Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Renew a Certification Authority that is going to expiry

Esempio classico: il certificato di openvpn dopo 10 anni scade, il certificato originale era stato creato con easy-rsa

È possibile rinnovare il certificato della Certification Authority e del server in scadenza e far si che i client continuino a collegarsi.
Nel caso di alcuni software (vedi openvpn), il client dispone anche di copia del certificato server, purtroppo in questo caso andrà comunque inviata la nuova accoppiata (CA + server) al client.
Potremmo comunque installare sul server i nuovi certificati prima della scadenza e rinnovare man mano tutti i clienti senza che nessuno di essi smetta di funzionare.
Passaggi, in questo caso il vecchio certificato era stato prodotto con easy-rsa:

cd /etc/openvpn/extern-rsa

# carichiamo le variabili di easy-rsa (attenzione ai punti):

. ./vars

# Se non abbiamo la csr originale possiamo ricrearla partendo dal certificato e dalla chiave:

openssl x509 -x509toreq -in keys/ca.crt -signkey keys/ca.key -out keys/ca_2016.csr

# Ricreiamo un nuovo certificato CA con una nuova data di scadenza, estensioni per la CA e seriale 00 (attenzione: se il certificato CA non ha questo seriale openssl lo rifiuta, mentre i sistemi microsoft lo accettano 😉 )

openssl ca -config /etc/openvpn/extern-rsa/openssl.cnf -out keys/ca_2016.crt -set_serial 0000 -extensions v3_ca -days 7200 -keyfile keys/ca.key -selfsign -infiles keys/ca_2016.csr

# Ricrieamo ora il certificato per il server, presupponendo che abbiamo ancora il csr, altrimenti possiamo ricrearli con il passaggio sopra.

openssl ca -config /etc/openvpn/extern-rsa/openssl.cnf -out keys/extern_2016.crt -extensions server -days 7200 -infiles keys/extern.csr

Per verificare che tutto sia ok possiamo controllare un certificato già generato e ancora valido con la vecchia CA:

openssl verify -CAfile keys/ca.crt -verbose keys/test.crt

e in seguito con la nuova:

openssl verify -CAfile keys/ca_2016.crt -verbose keys/test.crt

In entrambi i casi il risultato sarà OK.

Possiamo anche controllare il nuovo certificato server con la vecchia CA e viceversa:

openssl verify -CAfile keys/ca.crt -verbose keys/extern_2016.crt
openssl verify -CAfile keys/ca_2016.crt -verbose keys/extern.crt

Il risultato sarà sempre OK, se cosi non fosse c’è stato qualche problema nei passaggi precedenti (attenzione al serial ad esempio)

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

*