(è possibile utilizzare il tool messo a disposizione da Harica per generare questo formato)
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 |
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:
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:
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.
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 |
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 |