Ogni server si aspetta il certificato in un formato preciso. Il contenuto è lo stesso: cambia solo il contenitore.
| Formato | Estensioni | Contiene | Usato da |
|---|---|---|---|
| PEM | .pem .crt .cer | certificati, chiave (testo) | nginx, Apache, la maggior parte dei server Linux |
| DER | .der .cer | un certificato (binario) | Java, alcuni dispositivi |
| PKCS#12 | .pfx .p12 | certificato, intermedi e chiave, protetti da password | IIS, Windows, Tomcat |
| PKCS#7 | .p7b .p7c | certificato e intermedi, senza chiave | Windows, Tomcat |
Un file PEM si riconosce perché è testo e inizia con -----BEGIN CERTIFICATE-----.
Convertire con OpenSSL
Da DER a PEM:
openssl x509 -inform der -in certificato.cer -out certificato.pem
Da PEM a PFX, ad esempio per IIS (chiede una password per il file):
openssl pkcs12 -export -out certificato.pfx \
-inkey chiave.key -in certificato.crt -certfile intermedi.crt
Da PFX a PEM, con certificati e chiave in chiaro:
openssl pkcs12 -in certificato.pfx -out certificato.pem -nodes
Da P7B a PEM:
openssl pkcs7 -print_certs -in certificato.p7b -out certificato.pem
Un file con la chiave privata in chiaro va trattato con cura: permessi ristretti, e mai inviato per email.
