Strumenti Utente

Strumenti Sito


guide_pubbliche:certificatitls:formaticertificati

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
guide_pubbliche:certificatitls:formaticertificati [2025/04/11 05:48]
riccardo.cappone@unipr.it
guide_pubbliche:certificatitls:formaticertificati [2025/04/11 06:41] (versione attuale)
riccardo.cappone@unipr.it [Generazione chiave privata e CSR]
Linea 1: Linea 1:
-====== Formati disponibili dei vari certificati TLS ======+====== Formati disponibili dei vari certificati TLS e utility ​======
  
 ===== 1. PEM (Privacy Enhanced Mail) ===== ===== 1. PEM (Privacy Enhanced Mail) =====
Linea 23: Linea 23:
  
 ===== 4. PKCS#12 ===== ===== 4. PKCS#12 =====
 +(è possibile utilizzare il tool messo a disposizione da Harica per generare questo formato)
  
   * Estensioni: .p12, .pfx   * Estensioni: .p12, .pfx
Linea 29: Linea 30:
   * Utilizzo: Usato per memorizzare più oggetti crittografici in un unico file. Comunemente usato per importare/​esportare certificati e chiavi tra sistemi.   * Utilizzo: Usato per memorizzare più oggetti crittografici in un unico file. Comunemente usato per importare/​esportare certificati e chiavi tra sistemi.
  
-===== Tabella Riassuntiva =====+====== Tabella Riassuntiva ​======
  
 +^ Formato ​ ^ Estensioni ​             | Codifica ​               | Contenuti ​                                          | Utilizzo ​                                                                           |
 +| PEM      | .pem, .crt, .cer, .key  | Base64 ASCII            | Certificati,​ chiavi private, catene di certificati ​ | Ambienti Unix/Linux, leggibile dall'​uomo ​                                           |
 +| DER      | .der, .cer              | Binaria ​                | Singolo certificato ​                                | Ambienti Windows, non leggibile dall'​uomo ​                                          |
 +| PKCS#​7 ​  | .p7b, .p7s              | Base64 ASCII o Binaria ​ | Certificati,​ catene di certificati ​                 | Scambio di certificati,​ ambienti Windows ​                                           |
 +| PKCS#​12 ​ | .p12, .pfx              | Binaria ​                | Certificati,​ chiavi private, catene di certificati ​ | Importazione/​esportazione tra sistemi, memorizzazione di più oggetti crittografici ​ |
  
 +====== Conversione dei formati ======
  
 +===== Generazione del formato PKCS#12 =====
 +
 +E' possibile avvalersi del tool grafico via web messo a disposizione da HARICA a questo indirizzo:
 +
 +https://​www.harica.gr/​en/​Tools/​PemToP12
 +
 +In input saranno necessari il certificato in formato (.pem), la chiave privata in formato (.pem), la password che crittografa la chiave privata ed infine il file PEM bundle in formato (.pem)
 +
 +Con il programma openssl da terminale Linux è possibile convertire dal formato PEM al formato PKCS#12 con il seguente comando:
 +<​code>​
 +openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile ca_bundle.crt
 +Enter pass phrase for private.key:​
 +Enter Export Password:
 +Verifying - Enter Export Password:
 +
 +</​code>​
 +
 +====== Generazione chiave privata e CSR ======
 +
 +HARICA mette a disposizione un tool grafico via web per generare chiavi private e CSR
 +
 +https://​www.harica.gr/​en/​Tools/​KeyGeneration
 +
 +E' altresì possibile creare le chiavi con il comando openssl su terminale Linux.
 +
 +Raccomandiamo le seguenti best practice:
 +
 +1. Utilizzare Algoritmi Forti
 +RSA: Utilizzare una dimensione della chiave di almeno 2048 bit, ma 4096 bit è raccomandato per una maggiore sicurezza.
 +Curva Ellittica (EC): Utilizzare curve come prime256v1 o secp384r1 per una forte sicurezza.
 +
 +2. Utilizzare Archiviazione Sicura delle Chiavi
 +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.
 +
 +3. Crittografare le Chiavi Private
 +Crittografia AES-256: Crittografare le chiavi private con algoritmi di crittografia forti.
 +
 +===== Comandi per Generare Chiavi Private Sicure =====
 +
 +
 +^ Tipo di Chiave ​ ^ Dimensione ​ | Comando ​                                                                                |
 +| RSA             | 2048        | openssl genpkey -algorithm RSA -out rsa_2048.key -aes256 -pkeyopt rsa_keygen_bits:​2048 ​ |
 +| RSA             | 3072        | openssl genpkey -algorithm RSA -out rsa_3072.key -aes256 -pkeyopt rsa_keygen_bits:​3072 ​ |
 +| RSA             | 4096        | openssl genpkey -algorithm RSA -out rsa_4096.key -aes256 -pkeyopt rsa_keygen_bits:​4096 ​ |
 +
 +^ Tipo di Chiave ​ ^ Curva                 | Comando per Generare la Chiave ​                                     | Comando per Crittografare la Chiave ​                                                                     |
 +| ECDSA           | prime256v1 (256 bit)  | openssl ecparam -name prime256v1 -genkey -noout -out ecdsa_256.key ​ | openssl pkcs8 -topk8 -inform PEM -outform PEM -in ecdsa_256.key -out ecdsa_256_encrypted.key -v2 aes256 ​ |
 +| ECDSA           | secp384r1 (384 bit)   | openssl ecparam -name secp384r1 -genkey -noout -out ecdsa_384.key ​  | openssl pkcs8 -topk8 -inform PEM -outform PEM -in ecdsa_384.key -out ecdsa_384_encrypted.key -v2 aes256 ​ |
 +
 +===== Comandi per Generare la CSR a partire dalle chiavi private =====
 +
 +| Tipo di Chiave ​ | Curva/​Dimensione ​     ^ Comando per Generare la CSR                                       ^
 +| 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 ​ |