bg-tutorials

Come installare un certificato SSL su GlassFish

In questo tutorial imparerai come installare un certificato SSL su GlassFish (ora Eclipse GlassFish) utilizzando lo strumento Java keytool e la riga di comando asadmin.

Generare un codice CSR per GlassFish

Il primo passo per ordinare un certificato SSL è creare una CSR (Certificate Signing Request) e inviarla alla tua Autorità di Certificazione (il tuo fornitore SSL). La CSR è un blocco di testo contenente i dettagli sul tuo sito web e sulla tua organizzazione. La CA la utilizza per verificare la tua identità, quindi se la CSR contiene informazioni errate o obsolete, la CA non firmerà il tuo certificato.

Su GlassFish, la CSR viene generata con keytool a partire da un keystore Java, e quello stesso keystore contiene la chiave privata che riutilizzerai durante l’installazione. Hai due opzioni:

Puoi aprire il tuo file CSR con qualsiasi editor di testo (ad esempio, Notepad). Prima di inviarlo alla tua CA, ti consigliamo un ultimo controllo per individuare errori di battitura o altri problemi. Usa il nostro strumento di decodifica CSR per verificarlo.

A seconda del tipo di validazione del tuo certificato, l’emissione può richiedere da pochi minuti a un paio di giorni lavorativi. Una volta ricevuti i file SSL nella tua casella di posta, prosegui con l’installazione qui sotto.

Installare un certificato SSL su GlassFish

L’idea chiave dietro un’installazione GlassFish è che il tuo certificato firmato deve essere associato alla chiave privata creata insieme alla tua CSR. Questo si ottiene importando la catena di certificati e il certificato firmato nel keystore che già contiene quella chiave, lo stesso che hai usato per generare la CSR.

Passo 1: Estrai i file del certificato

La tua CA ti invia via email il certificato all’indirizzo che hai fornito, di solito come archivio ZIP. Estrailo. I file arrivano in uno dei due formati seguenti:

  • PEM: file separati, tipicamente un .crt (il certificato del tuo server) e un .ca-bundle (i certificati root e intermedio).
  • PKCS#7: un unico file .p7b (o .cer) che include già il certificato insieme all’intera catena.

Passo 2: Carica i file SSL sul tuo server GlassFish

Carica i file estratti sul server, nella stessa directory del keystore da cui hai generato la CSR (indicato di seguito come mykeystore.jks). Il formato PEM richiede due comandi di importazione; il PKCS#7 ne richiede uno solo. Scegli il formato corrispondente ai tuoi file.

Formato PEM. Importa prima il pacchetto CA in modo che keytool possa costruire una catena di fiducia completa, poi importa il certificato del tuo server. Importa il pacchetto CA con:

keytool -import -trustcacerts -alias ca -file file.ca-bundle -keystore mykeystore.jks

Usa qualsiasi nome desideri per l’alias di questa voce della catena (qui, ca), purché sia diverso dall’alias della tua chiave privata. Successivamente, importa il certificato firmato del tuo server nell’alias esistente della chiave privata, l’alias che hai usato durante la generazione della CSR:

keytool -import -trustcacerts -alias myalias -file file.crt -keystore mykeystore.jks

Qui, myalias deve essere l’alias che già contiene la tua chiave privata. Poiché quell’alias ha una chiave, keytool tratta questa importazione come una risposta al certificato e associa il certificato firmato alla chiave. Questo è il passaggio che fa funzionare HTTPS; vedi l’avviso qui sotto.

Formato PKCS#7. Un file .p7b contiene già l’intera catena, quindi un unico comando importa tutto in una volta, sempre nell’alias della chiave privata:

keytool -import -trustcacerts -alias myalias -file file.p7b -keystore mykeystore.jks

keytool ti chiederà la password del keystore. Come sopra, myalias deve corrispondere all’alias esistente della tua chiave privata. Se non ricordi l’alias, elenca il contenuto del keystore:

keytool -list -v -keystore mykeystore.jks

Cerca la voce il cui tipo è PrivateKeyEntry; quell’alias è quello in cui deve essere importato il tuo certificato firmato.

⚠️ Errore critico da evitare: non importare il certificato firmato con un alias completamente nuovo. Se l’alias non ha una chiave privata esistente, keytool memorizza il certificato come una voce attendibile a sé stante, senza alcuna chiave associata, e TLS non funzionerà. Importa sempre la risposta nell’alias che già contiene la chiave (alias predefinito di GlassFish: s1as).

Passo 3: Importa nel keystore predefinito di GlassFish

Una volta che il tuo certificato è pronto, importa il tuo keystore nel keystore predefinito di GlassFish. In un’installazione predefinita, si trova nella directory di configurazione del dominio, ad esempio glassfish/domains/domain1/config/keystore.jks (le versioni più vecchie di GlassFish 4 lo posizionano all’interno di una cartella principale glassfish4/). Il truststore corrispondente è cacerts.jks, nella stessa directory.

Nota: GlassFish crea domain1 per impostazione predefinita. Se hai aggiunto un tuo dominio personalizzato, usa la sua directory al posto di quella predefinita.

Importa il tuo keystore nel keystore di GlassFish con:

keytool -importkeystore -srckeystore mykeystore.jks -destkeystore keystore.jks

Passo 4: Fai corrispondere le password dei keystore

La password del keystore di GlassFish deve corrispondere alla master password di GlassFish per il dominio. Se la master password, la password del keystore e la password della chiave privata non corrispondono tutte, GlassFish non può sbloccare la chiave e il tuo certificato SSL non funzionerà. (In un dominio appena creato, la password predefinita del keystore è changeit.)

Passo 5: Aggiorna la configurazione di GlassFish

Dopo un’importazione riuscita, indirizza il listener HTTPS di GlassFish verso il tuo certificato, in modo che utilizzi il nuovo certificato invece di quello autofirmato predefinito. Puoi farlo dal browser tramite la console di amministrazione di GlassFish, oppure manualmente modificando domain.xml.

Opzione A: Console di amministrazione. Per prima cosa, abilita l’amministrazione sicura per il dominio:

asadmin enable-secure-admin

Riavvia il dominio GlassFish (quello predefinito è domain1) affinché la modifica abbia effetto:

asadmin restart-domain domain1

Ora apri la console all’indirizzo https://yoursite.com:4848. Ignora l’avviso relativo al certificato autofirmato e continua. Vai su Configurations > server-config > HTTP Service > HTTP Listeners > http-listener-2.

Apri la scheda SSL e, nel campo Certificate Nickname, inserisci l’alias del tuo certificato (lo stesso alias del keystore). Poi passa alla scheda General e cambia la porta del listener a 443. GlassFish utilizza la porta 8181 per HTTPS per impostazione predefinita. Salva le modifiche.

A volte non tutti i riferimenti di configurazione vengono aggiornati con il nuovo alias nella console. Se accade, completa la modifica manualmente in domain.xml (Opzione B).

Opzione B: Modifica domain.xml. Il file domain.xml si trova nella stessa directory di configurazione, ad esempio glassfish/domains/domain1/config/domain.xml. Per una modifica sicura, ferma prima il dominio:

asadmin stop-domain domain1

Apri domain.xml con un editor di testo e usa la funzione di ricerca (Ctrl+F) per trovare s1as, l’alias predefinito del certificato di GlassFish. Sostituisci ogni occorrenza di s1as con l’alias del tuo certificato (in questa guida, myalias). Aggiornandole tutte, proteggi anche la console di amministrazione con il tuo certificato.

Salva domain.xml e riavvia il dominio:

asadmin start-domain domain1

Congratulazioni, il tuo certificato SSL è ora installato sul tuo server GlassFish.

Verifica la tua installazione SSL

Dopo aver installato il certificato, esegui il nostro SSL Checker per verificare lo stato della tua installazione. La scansione istantanea rivela eventuali errori o vulnerabilità (come un certificato intermedio mancante o una catena non attendibile) che potrebbero influenzare il modo in cui i browser trattano il tuo certificato.

Dove acquistare un certificato SSL per GlassFish?

Il posto migliore dove acquistare un certificato SSL per GlassFish è SSL Dragon. Offriamo alcuni dei prezzi più bassi sul mercato e sconti regolari su tutta la nostra gamma di prodotti SSL, e abbiamo stretto collaborazioni con i migliori brand SSL del settore per garantire una crittografia forte e un’assistenza dedicata. Tutti i nostri certificati SSL sono compatibili con GlassFish.

Per aiutarti nella scelta, abbiamo creato due strumenti gratuiti. Il nostro SSL Wizard impiega solo pochi secondi per trovare l’offerta SSL migliore per il tuo progetto e il tuo budget.

Domande frequenti

Qual è il keystore e l’alias predefiniti su GlassFish?

Un dominio GlassFish include due file JKS nella sua directory di configurazione: keystore.jks, che contiene le chiavi private, e cacerts.jks, il truststore dei certificati CA attendibili. Entrambi si trovano per impostazione predefinita in domains/domain1/config/. L’alias predefinito del certificato utilizzato dal listener HTTP sicuro è s1as, e la password predefinita del keystore è changeit.

Perché il mio certificato SSL GlassFish non funziona dopo l’importazione?

La causa più comune è l’importazione del certificato firmato con un nuovo alias anziché con l’alias che già contiene la tua chiave privata. In tal caso, keytool lo memorizza come voce di certificato attendibile priva di chiave, quindi GlassFish non può completare l’handshake TLS. Reimporta la risposta firmata nell’alias esistente della chiave privata (predefinito s1as). La seconda causa più comune è una discrepanza di password; la password del keystore, della chiave e la master password del dominio devono essere tutte identiche.

Devo importare prima il pacchetto CA o il certificato?

Importa prima il pacchetto CA (certificati root e intermedio), come voce attendibile. Questo permette a keytool di costruire una catena completa quando successivamente importi il certificato firmato del tuo server nell’alias della chiave privata. Con un file PKCS#7 (.p7b) la catena è già inclusa, quindi una sola importazione gestisce tutto.

Come riavvio GlassFish dopo aver modificato la configurazione SSL?

Esegui asadmin restart-domain domain1 per applicare le modifiche in un solo passaggio, oppure ferma e avvia il dominio separatamente con asadmin stop-domain domain1 seguito da asadmin start-domain domain1. Un riavvio è necessario dopo aver abilitato l’amministrazione sicura e dopo aver modificato domain.xml.

Quale porta utilizza GlassFish per HTTPS?

Per impostazione predefinita, il listener sicuro (http-listener-2) utilizza la porta 8181, e la console di amministrazione utilizza la porta 4848. Per servire HTTPS sulla porta standard, cambia la porta del listener a 443 nella console di amministrazione o in domain.xml.

Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!

Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

Un'immagine dettagliata di un drago in volo
Scritto da

Scrittore di contenuti con esperienza, specializzato in certificati SSL. Trasforma intricati argomenti di cybersicurezza in contenuti chiari e coinvolgenti. Contribuisci a migliorare la sicurezza digitale attraverso narrazioni d'impatto.