guide_pubbliche:certificatitls:formaticertificati
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| guide_pubbliche:certificatitls:formaticertificati [2025/04/11 06:29] – [Table] riccardo.cappone@unipr.it | guide_pubbliche:certificatitls:formaticertificati [2026/07/23 10:18] (versione attuale) – [Verificare corrispondenza chiave privata - certificato - CSR] riccardo.cappone_unipr.it | ||
|---|---|---|---|
| Linea 58: | Linea 58: | ||
| ====== Generazione chiave privata e CSR ====== | ====== Generazione chiave privata e CSR ====== | ||
| + | |||
| + | HARICA mette a disposizione un tool grafico via web per generare chiavi private e CSR | ||
| + | |||
| + | https:// | ||
| + | |||
| + | E' altresì possibile creare le chiavi con il comando openssl su terminale Linux. | ||
| + | |||
| + | Raccomandiamo le seguenti best practice: | ||
| 1. Utilizzare Algoritmi Forti | 1. Utilizzare Algoritmi Forti | ||
| Linea 66: | Linea 74: | ||
| Moduli di Sicurezza Hardware (HSM): Archiviare le chiavi in HSM per sicurezza fisica. | Moduli di Sicurezza Hardware (HSM): Archiviare le chiavi in HSM per sicurezza fisica. | ||
| File System Locale: Assicurarsi che le chiavi siano archiviate in modo sicuro con permessi appropriati. | File System Locale: Assicurarsi che le chiavi siano archiviate in modo sicuro con permessi appropriati. | ||
| + | |||
| + | 3. Crittografare le Chiavi Private | ||
| + | Crittografia AES-256: Crittografare le chiavi private con algoritmi di crittografia forti. | ||
| ===== Comandi per Generare Chiavi Private Sicure ===== | ===== Comandi per Generare Chiavi Private Sicure ===== | ||
| Linea 74: | Linea 85: | ||
| | RSA | 3072 | openssl genpkey -algorithm RSA -out rsa_3072.key -aes256 -pkeyopt rsa_keygen_bits: | | RSA | 3072 | openssl genpkey -algorithm RSA -out rsa_3072.key -aes256 -pkeyopt rsa_keygen_bits: | ||
| | RSA | 4096 | openssl genpkey -algorithm RSA -out rsa_4096.key -aes256 -pkeyopt rsa_keygen_bits: | | RSA | 4096 | openssl genpkey -algorithm RSA -out rsa_4096.key -aes256 -pkeyopt rsa_keygen_bits: | ||
| + | |||
| + | ^ Tipo di Chiave | ||
| + | | ECDSA | prime256v1 (256 bit) | openssl ecparam -name prime256v1 -genkey -noout -out ecdsa_256.key | ||
| + | | ECDSA | secp384r1 (384 bit) | openssl ecparam -name secp384r1 -genkey -noout -out ecdsa_384.key | ||
| + | |||
| + | ===== Comandi per Generare la CSR a partire dalle chiavi private ===== | ||
| + | |||
| + | | Tipo di Chiave | ||
| + | | RSA | 2048 bit | openssl req -new -key rsa_2048.key -out rsa_2048.csr | ||
| + | | RSA | 3072 bit | openssl req -new -key rsa_3072.key -out rsa_3072.csr | ||
| + | | RSA | 4096 bit | openssl req -new -key rsa_4096.key -out rsa_4096.csr | ||
| + | | ECDSA | prime256v1 (256 bit) | openssl req -new -key ecdsa_256_encrypted.key -out ecdsa_256.csr | ||
| + | | ECDSA | secp384r1 (384 bit) | openssl req -new -key ecdsa_384_encrypted.key -out ecdsa_384.csr | ||
| + | |||
| + | ====== Altri comandi utili da terminale con openssl ====== | ||
| + | |||
| + | ===== Leggere da un file contenente una catena di certificati (bundle) ===== | ||
| + | |||
| + | Output breve:\\ | ||
| + | < | ||
| + | openssl crl2pkcs7 -nocrl -certfile < | ||
| + | </ | ||
| + | Output esteso:\\ | ||
| + | < | ||
| + | openssl crl2pkcs7 -nocrl -certfile < | ||
| + | </ | ||
| + | |||
| + | ===== Verificare corrispondenza chiave privata - certificato - CSR ===== | ||
| + | |||
| + | Estrarre ed effettuare l'hash della chiave pubblica a partire dalla chiave privata:\\ | ||
| + | < | ||
| + | openssl rsa -noout -modulus -in server.key | openssl md5 | ||
| + | </ | ||
| + | |||
| + | Dal certificato: | ||
| + | < | ||
| + | openssl x509 -noout -modulus -in server.crt | openssl md5 | ||
| + | </ | ||
| + | |||
| + | Dal CSR:\\ | ||
| + | < | ||
| + | openssl req -noout -modulus -in server.csr | openssl md5 | ||
| + | </ | ||
| + | |||
| + | Gli hash devono essere uguali in tutti i tre casi. | ||
| + | |||
| + | Oppure anche il confronto dei seguenti due hash:\\ | ||
| + | |||
| + | **openssl pkey -in server.key -pubout -outform DER | openssl sha256** | ||
| + | |||
| + | **openssl x509 -in server.crt -pubkey -noout | openssl pkey -pubin -outform DER | openssl sha256** | ||
| + | |||
| + | |||
| + | ===== Chiave privata protetta da password ===== | ||
| + | |||
| + | Durante il wizard per la creazione del CSR viene generata la chiave privata, protetta da password e dunque cifrata. Se si desidera utilizzare la chiave privata in sistemi che non prevedono la decifratura, | ||
| + | |||
| + | < | ||
| + | openssl rsa -in encrypted_key.pem -out decrypted_key.pem | ||
| + | </ | ||
guide_pubbliche/certificatitls/formaticertificati.1744352940.txt.gz · Ultima modifica: da riccardo.cappone@unipr.it
