Crea certificati in formato PEM

Visualizza categorie

Crea certificati in formato PEM

9 min letto

Panoramica #

RELIANOID è in grado di gestire connessioni HTTPS (Profilo HTTP), quindi l'amministratore di sistema deve creare dei propri certificati (certificati autofirmati) oppure acquisire Certificati Firmati da un'Autorità di Certificazione, in entrambi i casi il certificato deve essere costruito in formato PEM.

Il certificato di sicurezza deve essere creato senza password e le chiavi e la CSR devono essere generate nel server da proteggere.

I positivi SSL sono pronti per andare in formato PEM ma Rapid SSL deve essere convertito in quanto ogni file contiene il certificato, la CA intermedia e la CA radice separate.

Requisiti #

Il pacchetto openssl dovrà essere installato per poter generare le chiavi nel server, nel nostro caso sarà il RELIANOID istanza che dovrebbe essere già installata.

Innanzitutto, genera la chiave senza passphrase.

root@noid-ee-01:~# openssl genrsa -out host_domain_com.key 2048

Quindi, generare la richiesta firmata del certificato (.csr) utilizzando la chiave generata (.key) come input.

root@noid-ee-01:~# openssl req -new -key host_domain_com.key -out host_domain_com.csr

Una volta che il certificato e i file CA intermedi sono stati consegnati, assicurarsi di ottenere il certificato di root emittente.
Tutti i file separati devono essere in formato PEM: certificato server, certificato intermedio e certificato CA radice. In caso contrario, converti il ​​file con il seguente comando:

root@noid-ee-01:~# openssl x509 -in nomeFilecert.csr -outform PEM -out convertitoNomeFileCert.pem

Infine, abbiamo la chiave privata, il certificato emesso, il certificato intermedio e il certificato CA radice. Tutti questi contenuti di file devono essere combinati per creare il file PEM in formato UNIX.

Genera certificato SSL in formato PEM #

Per generare un certificato SSL in formato PEM, in genere sono necessari una chiave privata , un certificato , un certificato CA intermedio (se presente) e un certificato CA radice . Ecco come generare il file PEM:

Preparare i componenti #

chiave privata: Assicurati di avere la chiave privata corrispondente al certificato.
Certificato: Ottieni il certificato emesso per il tuo dominio o server.
Certificato CA intermedio: se il tuo certificato è emesso da una CA intermedia (non direttamente dalla CA radice), avrai bisogno del certificato della CA intermedia.
Certificato CA radice: potrebbe essere necessario anche il certificato CA radice, soprattutto se non è già incluso nell'archivio attendibilità delle applicazioni o dei dispositivi client.

Concatenare i componenti #

Apri un editor di testo o utilizza gli strumenti da riga di comando per concatenare la chiave privata, il certificato, il certificato CA intermedio (se applicabile) e il certificato CA radice (se necessario) in un singolo file PEM, come mostrato di seguito.

-----BEGIN RSA PRIVATE KEY----- Chiave privata (senza passphrase) -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- Certificato (CN= www.miodominio.com) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Intermediate (Intermediate CA, se esiste) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Root (ROOT CA, che firma il certificato) -----END CERTIFICATE-----

Fare riferimento all'esempio seguente per sapere come apparirà un file PEM corretto.

-----BEGIN RSA PRIVATE KEY-----
uiMTxBQnK9ApC5eq1mrBooECgYB4925pDrTWTbjU8bhb/7BXsjBiesBBVO43pDYL
nUVxhqt4DT+4Vp5S7D9FQ+HagbhVInQXKXtT7FNFhpIxpRy512ElSuWvrELiZOwe
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
wYDVR0fBDwwOjA4oDagNIYyaHR0cDovL3JhcGlkc3NsLWNybC5n
DYmhNE0IgXx6XRHiMAwGA1UdEwEB/wQCMAAwSQYIKwYBBQUHAQEEPTA7MDkGCCsG
gOYD8kmKOsxLRWeZo6Tn8
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

È obbligatorio convertire l'intero file PEM in formato UNIX. A scopo di test, è disponibile un certificato denominato zencert.pem o noidcert.pem da utilizzare con i profili HTTPS.

Assicurarsi che l'ordine dei certificati sia il seguente:

1. Il tuo certificato
2. Certificato CA intermedio (se applicabile)
3. Certificato CA radice

Salva file PEM concatenato #

Salvare il file PEM concatenato con estensione .pem. Questo file conterrà la chiave privata e l'intera catena di certificati.

Utilizzare il file PEM #

Ora puoi utilizzare il file PEM nella configurazione del tuo server. A seconda del software del server (ad esempio, Apache, Nginx, RELIANOID), potrebbe essere necessario specificare il percorso del file PEM nella configurazione SSL. A RELIANOID, basta caricare il certificato SSL utilizzando la GUI Web e assegnarlo come Certificato abilitato in qualsiasi farm HTTPS.

Verifica configurazione #

Dopo aver configurato il server per utilizzare il file PEM, è essenziale verificare la configurazione SSL/TLS per garantire che la catena di certificati venga presentata correttamente ai client durante l'handshake SSL. Puoi utilizzare vari strumenti di test SSL/TLS online o utilità da riga di comando come OpenSSL per verificare la configurazione e garantire che la catena di certificati sia completa.

Genera un certificato SSL autofirmato in formato PEM #

Per creare un certificato SSL autofirmato in formato PEM dal sistema di bilanciamento del carico o dal server, eseguire i seguenti passaggi:

1. Genera i file della chiave e del certificato con una chiave RSA a 4096 bit valida per 1 anno e senza passphrase utilizzando il seguente comando:

root@noid-ee-01:~# openssl req -nodes -new -x509 -newkey rsa:4096 -keyout server.key -out server.cert -days 365
Generazione di una chiave privata RSA............................++++ .................... .................................................... .................................................... ...................................++++ scrittura della nuova chiave privata su 'server.key' - ---- Ti verrà chiesto di inserire le informazioni che verranno incorporate nella richiesta di certificato. Quello che stai per inserire è quello che viene chiamato Nome distinto o DN. Ci sono alcuni campi ma puoi lasciarne alcuni vuoti. Per alcuni campi ci sarà un valore predefinito. Se inserisci '.', il campo verrà lasciato vuoto. ----- Nome del paese (codice a 2 lettere) [AU]: nome dello stato o della provincia (nome completo) [Alcuni stati]: nome della località (ad es. città) []: nome dell'organizzazione (ad es. azienda) [Internet Widgits Pty Ltd]: Nome dell'unità organizzativa (ad es. sezione) []: Nome comune (ad es. FQDN del server o il TUO nome) []: Indirizzo e-mail []:

Durante l'esecuzione di questo comando ti verrà richiesto di inserire informazioni in modo interattivo. Si prega di fornire i dettagli richiesti.

2. Unire la chiave e il certificato in un file PEM utilizzando il seguente comando:

root@noid-ee-01:~# cat server.chiave server.cert >> server.pem

Questo comando combina la chiave e il certificato in un unico file PEM.

3. Il tuo certificato SSL autofirmato in formato PEM ( server.pem ) è ora pronto per essere utilizzato con il tuo proxy, i servizi web o i servizi Internet.

Come vedere il contenuto di un certificato SSL #

Per visualizzare il contenuto di un certificato SSL è possibile utilizzare vari strumenti e comandi. Un metodo comune è l'utilizzo di OpenSSL, uno strumento versatile da riga di comando che supporta varie operazioni crittografiche, inclusa l'ispezione dei certificati. Ecco come puoi visualizzare il contenuto di un certificato SSL utilizzando OpenSSL:

Comando OpenSSL per ottenere i dettagli del certificato #

Apri un terminale o una finestra del prompt dei comandi sul tuo sistema.

Utilizzare il seguente comando OpenSSL per visualizzare il contenuto del certificato SSL:

root@noid-ee-01:~# openssl x509 -in certificate.pem -text -noout

Sostituisci certificate.pem con il percorso del file del tuo certificato SSL.

Se il tuo certificato è in formato PEM, questo comando visualizzerà informazioni dettagliate sul certificato, tra cui:

Emittente
Oggetto
Periodo di validità (date di inizio e fine)
Informazioni sulla chiave pubblica
Estensioni del certificato
Algoritmo di firma
Impronte digitali (SHA-1, SHA-256, ecc.)

Una volta eseguito il comando, OpenSSL genererà la rappresentazione testuale del contenuto del certificato. Esamina le informazioni visualizzate per verificare i dettagli del certificato, come l'emittente, l'oggetto, le date di validità e altri metadati rilevanti.

Ispezionare i certificati DER #

Se il tuo certificato è in formato DER anziché PEM, puoi utilizzare l'opzione -inform der per specificare il formato di input:

root@noid-ee-01:~# openssl x509 -inform der -in certificate.pem -text -noout

Puoi anche salvare l'output in un file per ulteriori analisi o documentazione utilizzando il reindirizzamento della shell (>):

root@noid-ee-01:~# openssl x509 -in certificate.pem -text -noout > certificate_details.txt

Questo comando salverà i dettagli del certificato in un file denominato certificate_details.txt.

Utilizzando lo strumento da riga di comando OpenSSL, puoi facilmente ispezionare il contenuto di un certificato SSL e verificarne i dettagli, aiutandoti a garantire la sicurezza e la validità delle tue connessioni SSL/TLS.

Verificare che la CA intermedia e radice sia presente in un certificato SSL #

La verifica se i certificati CA intermedi e radice sono presenti in un certificato SSL comporta l'esame della catena di certificati. Ecco come puoi farlo:

Utilizza OpenSSL o un altro strumento per visualizzare i dettagli del certificato SSL. Esegui il seguente comando:

root@noid-ee-01:~# openssl crl2pkcs7 -nocrl -certfile certificate.pem | openssl pkcs7 -print_certs -noout 
soggetto=CN = miodominio.com emittente=C = USA, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1

Nell'esempio sopra è presente solo il certificato.

root@noid-ee-01:~# openssl crl2pkcs7 -nocrl -certfile certificate.pem | openssl pkcs7 -print_certs -noout 
oggetto=CN = miodominio.com emittente=C = USA, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1 oggetto=C = USA, O = "DigiCert, Inc.", CN = RapidSSL Global Emittente TLS RSA4096 SHA256 2022 CA1=C = USA, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA

Nell'esempio sopra sono presenti sia il certificato che l'Intermedio.

Sostituisci certificate.pem con il percorso del file del certificato SSL.

Inoltre, utilizza OpenSSL per visualizzare la catena di certificati presentata dal server SSL durante l'handshake. Esegui il seguente comando:

root@noid-ee-01:~# openssl s_client -connect miodominio.com:443 -showcerts

Sostituisci miodominio.com con il nome di dominio del server abilitato SSL a cui desideri connetterti.

Cerca le sezioni etichettate Catena di certificati o Catena di certificati (PEER). Verranno visualizzati i certificati presentati dal server, a partire dal certificato dell'entità finale e terminando con il certificato della CA radice.

Verificare i certificati CA radice e intermedi esaminando ciascun certificato nella catena per verificare se sono presenti sia il certificato CA radice che quello intermedio.
Certificato CA intermedio: cerca un certificato nella catena che corrisponda all'emittente del certificato dell'entità finale ma lo preceda.
Certificato CA radice: verificare che l'ultimo certificato nella catena sia il certificato CA radice.

In alternativa, è possibile utilizzare strumenti di convalida SSL online che controllano automaticamente la catena di certificati e verificano se sono presenti certificati CA intermedi e root. Strumenti come SSL Server Test di SSL Labs o SSL Installation Diagnostics Tool di DigiCert possono fornire informazioni dettagliate sulla catena di certificati.

Seguendo questi passaggi, puoi verificare se i certificati CA intermedi e root sono presenti in un certificato SSL e garantire l'integrità e la sicurezza delle tue connessioni SSL/TLS.

📄 Scarica questo documento in formato PDF #

    EMAIL: *

    Offerto da BetterDocs