I certificati digitali utilizzati per SSL / TLS hanno più componenti. Sebbene ci siano molti dettagli che potremmo esaminare, tutto ciò di cui abbiamo veramente bisogno qui è una panoramica di alto livello, ma ogni pezzo è importante per capire cosa dovresti fare e perché.
Quando hai iniziato il processo per ottenere il tuo certificato, hai prima emesso il comando,
keytool -keystore keystore -alias myalias -genkey -keyalg RSA -keysize 2048
Hai descritto questo come "creare il tuo keystore", che è accurato, ma ha fatto qualcosa di molto più importante: ha generato la tua coppia di chiavi privata / pubblica. In questo caso, il nuovo keystore conteneva una coppia di chiavi che utilizzava l'algoritmo RSA e 2048 bit di entropia (un modo ingegnoso per dire quanto è strong la chiave, o quanto tempo ci vuole per rompere rispetto ad altre chiavi). Questo è importante perché la coppia di chiavi è il modo in cui dimostrerai all'autorità di certificazione (CA) che la tua prossima richiesta è un rinnovo, proviene davvero da te e riguarda lo stesso certificato.
Quando hai generato la tua richiesta di certificato,
keytool -certreq -alias myalias -keystore keystore -file myrequest.csr
hai creato un file che conteneva le informazioni del tuo sito web (foo.com), insieme a un sacco di altre cose, inclusa la tua chiave pubblica. Tutto è stato codificato in un formato noto e inviato alla CA. La CA ha generato il tuo certificato utilizzando la tua chiave pubblica e la sua chiave privata, che è il modo in cui un browser Web casuale può utilizzare questo per sapere che si trova sul tuo sito web e che è sicuro inviare dati. Il tuo certificato viene convalidato dalla tua chiave privata, che hai solo tu, e dalla chiave pubblica della CA, che funziona solo se corrisponde alla chiave privata che ha firmato il certificato.
Quindi, in che modo tutto questo si traduce nel raggiungimento del tuo obiettivo di rinnovare il tuo certificato?
La risposta breve è che non si rinnova, perché un rinnovo non è in realtà un rinnovo.
Un "rinnovo" è solo un modo elegante per dire che stai richiedendo un nuovo certificato, con una nuova data di scadenza, usando la stessa chiave privata del vecchio certificato. Se si utilizza lo stesso comando di prima (con l'opzione -certreq), verrà creata una nuova richiesta di certificato utilizzando la coppia di chiavi esistente. Mandalo a GoDaddy (o qualsiasi altra CA) e dovrebbero essere in grado di elaborare la tua richiesta senza problemi.
Quando ti inviano il certificato, invia il comando di importazione e sei a posto:
keytool -keystore keystore -import -alias myalias -file example.com.crt -trustcacerts
Dovresti essere in grado di importare il nuovo certificato nello stesso keystore del vecchio certificato, poiché hanno numeri seriali diversi. Se riscontri problemi con l'importazione, prova a utilizzare un nuovo alias. Poiché un alias è in genere solo per riferimento personale, è possibile modificare l'alias o entrare e rimuovere il vecchio certificato dal keystore. Non sarà più usato, quindi è sicuro da rimuovere, ma di solito non fa male nulla per tenerlo in giro.
Nota: non dovrai eseguire nuovamente l'importazione root CA a meno che GoDaddy non abbia aggiornato il certificato di origine (ciò accade, ma non molto spesso). Questo era il comando che hai usato per portare il certificato di root:
keytool -import -trustcacerts -alias myalias -keystore keystore -file gd_bundle.crt
Dato che hai detto che stai usando GoDaddy, ecco il link alla loro pagina di rinnovo. Le uniche istruzioni che hanno che sono vicine al server Jetty che stai utilizzando sono quelle per Tomcat. Mentre quelli non sono esatti, la pagina di Tomcat include alcune istruzioni sull'uso di keytool.
pagina di supporto per il rinnovo dei certificati GoDaddy