SSLmentor

Certificati TLS/SSL di qualità per siti web e progetti su internet.

PEM, PFX, KEY, DER, CSR, P7B

PEM, PFX, KEY, DER, CSR, P7B

Formati dei Certificati SSL

In relazione ai certificati SSL, si menzionano un numero relativamente grande di nomi come PEM, CSR, KEY, DER, ecc. Si tratta di file che sono praticamente solo "contenitori" per la posizione del certificato e delle sue chiavi. Un gran numero di formati sono stati creati gradualmente a causa di varie implementazioni nei sistemi operativi o nelle applicazioni, alcuni sono stati standardizzati in RFC.

CSR (.csr)

Una Certificate Signing Request (CSR) è una richiesta di certificato che viene inviata a un'autorità di certificazione per la certificazione. La richiesta può essere generata direttamente sul server, nell'applicazione OpenSSL o è possibile generarla facilmente nel dettaglio dell'ordine secondo questo manuale, incluso la chiave privata, dopo aver ordinato il certificato SSL. Il formato dell'applicazione è conforme a PKCS # 10 (Public Key Cryptography Standards) e è definito in RFC 2986 (Certification Request Syntax Specification). La richiesta CSR contiene le informazioni necessarie per l'emissione del certificato. Quindi, il nome di dominio, l'organizzazione, lo stato e anche la chiave pubblica che l'autorità di certificazione conferma. Il formato di codifica del CSR che viene inserito nell'ordine e inviato all'autorità di certificazione è PEM. La struttura delle informazioni nella richiesta è definita utilizzando ASN.1 (abstract syntax notation).
Dopo che il certificato è stato emesso e firmato dall'autorità di certificazione, il certificato viene già consegnato dall'autorità in altri formati, come CRT, p7b. Spesso viene inviato direttamente via e-mail in formato txt PEM, insieme alle informazioni sull'emissione del certificato SSL.

Non consigliamo di creare una richiesta di certificato e una chiave privata su siti online sconosciuti.
Nel nostro aiuto pubblichiamo istruzioni su come generare un CSR e una chiave privata in OpenSSL.

PEM (.pem)

Uno dei formati più utilizzati per memorizzare i certificati SSL/TLS. È un contenitore per memorizzare dati crittografici codificati in testo (chiavi e certificati) e consente un facile invio via e-mail, è definito in RFC 1421 a 1424. Può contenere un certificato pubblico separato ma anche un certificato pubblico più certificati CA o può contenere un intero set di certificati inclusa la chiave pubblica, la chiave privata e i certificati radice dell'autorità di certificazione emittente. Una Certificate Signing Request (CSR) viene anche fornita in formato PEM, che viene convertita dal formato PKCS10.
Il nome ha origine dall'abbreviazione Privacy-enhanced Electronic Mail (PEM), che era lo standard per la sicurezza delle e-mail. L'essenza principale del formato PEM è la codifica del formato binario (cioè uno e zero) mediante il metodo base64 e l'aggiunta di un'intestazione informativa e un piè di pagina -----BEGIN PRIVATE KEY----- e -----END PRIVATE KEY----- o -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----.

Esempio del certificato emesso in formato PEM

-----BEGIN CERTIFICATE-----
MIIF+TCCBOGgAwIBAgIRAOUXUXsbB/LpS0VTQsz/HFcwDQYJKoZIhvcNAQELBQAw
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0xOTAxMTcwMDAwMDBaFw0xOTA0MTcyMzU5NTlaMFAxITAfBgNVBAsTGERv
bWFpbiBDb250cm9sIFZhbGlkYXRlZDERMA8GA1UECxMIRnJlZSBTU0wxGDAWBgNV
BAMTD3dlYi1zZWN1cml0eS5jejCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMNC5twUz78YyvW9Y+avpBZLZjGFLZbNZN3tukWL/1wuwLUrhuCju1IDXWnJ
a7vu4IFA/m/fgD68Y+I6BEF/tdw94TGc/X0n+Q326ZB3ff8e5+GF2o2oXQCUEX60
wGv17zIx8jCYZtaP9rWekUzWmkNPagImboWeYSLWkt7GvdJCU7VY8kpKm7Y/JF/P
Qs4Z5+d4HMsfknJ+PofI7Ve3wT0aPE4aiQ3+MWryxcnZYzH7xNpeB7UbkfFIeDki
4X1vkVFM2Do07IkY9dO8d0UNI3lDDJDpxCCW4kVOl8yQTRtmyPZmtXk5uoyFcCEh
KP5/T2gxNr9KNzIornE0F7LZfpMCAwEAAaOCAowwggKIMB8GA1UdIwQYMBaAFI2M
XsRUrYrhd+mb+ZsF4bgBjWHhMB0GA1UdDgQWBBSHdiVoz7sMpYkdFsQWYHoMcJZU
IzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIwQDA0BgsrBgEEAbIxAQICBzAlMCMGCCsG
AQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgEwgYQGCCsG
AQUFBwEBBHgwdjBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggr
BgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wLwYDVR0RBCgwJoIPd2Vi
LXNlY3VyaXR5LmN6ghN3d3cud2ViLXNlY3VyaXR5LmN6MIIBBAYKKwYBBAHWeQIE
AgSB9QSB8gDwAHYAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUugakJZkNo4e0YUAAAFo
Ww+ePQAABAMARzBFAiEAtZoULgmDyEppYK9nmDWNRjRGcE+BBo/DLaaoaYWg7C8C
IH+0UCda6Txcl05inAsMpzlePELyZ3hawgEdmMugK3bXAHYAdH7agzGtMxCRIZzO
JU9CcMK//V5CIAjGNzV55hB7zFYAAAFoWw+eiwAABAMARzBFAiEAmdEbql+1pWWf
HmpkY34JziCOQzaDlFVtUFen+blgIWwCIBVnwDD3vnwSsrO2T5Clo5Pjqa+xxU7O
trLo/ZRGkICBMA0GCSqGSIb3DQEBCwUAA4IBAQAzOM9lS3RSU7rLy8T3BfixHvua
ErZ+YOHCHpYhlCeSuFZ66jVHueYWvgfF8A+enRdMM0k0z0PC9enREnumNDq3msCf
WYhSLd5lDXiEddg2GCrXkwhOFfOiG0tywS5CD+hLsTq1LQkWDQg7EKlIb6ddhaZO
IYEQ9xwE7aehynQEvAjv3UyevMYfvw7glY+MW5bkMfsxPndDD1gDbnYt8kyenjcv
odjnkvTw4ngnCy1gF9mVWkgQsE1j34FER1bVtR/FlspI0FB+ogV4Qhso1N23DwtF
VDKxH8p+ddYh1LX4b6Oy3dZqzt4HOcunPKsFv36ABpeTs8FPOjgQueTWfHQ4
-----END CERTIFICATE-----

È possibile decodificare questa stringa di testo, ad esempio su questa pagina, dove è possibile trovare informazioni sul certificato (validità, informazioni nel certificato, autorità e molto altro).

I file PEM sono codificati nel formato Base64, che è una codifica che converte i dati binari in una sequenza di caratteri ASCII stampabili (un set di caratteri a 64 elementi composto da lettere maiuscole e minuscole dell'alfabeto inglese, numeri e segni più ('+') e una barra ('/')). I file PEM sono molto facili da lavorare, poiché hanno un contenuto in un formato di testo leggibile e possono essere aperti in qualsiasi editor. I singoli certificati sono poi chiaramente separati da un'intestazione e un piè di pagina. Maggiori informazioni sul formato PEM in WIKI...

PFX (.pfx) / formato PKCS #12

.pfx, ma anche .p12 o .pkcs12 sono formati definiti negli Standard di Crittografia a Chiave Pubblica (standard PKCS). È un formato contenitore di password che contiene sia certificati pubblici che privati. A differenza dei file .pem, il contenitore è completamente crittografato. PKCS#12 (.p12) era originariamente uno standard privato di Microsoft che in seguito è stato definito in RFC 7292. Fornisce una maggiore sicurezza rispetto al formato testuale PEM.
Ci imbatteremo principalmente nel formato PFX sulla piattaforma Windows. Se la richiesta di certificato non viene generata direttamente nel Sistema di Informazioni su Internet (IIS), è necessario fornire all'amministratore del server un certificato in formato PFX per l'importazione nel server. Per questi casi, pubblichiamo nell'aiuto istruzioni su come esportare il certificato in PFX usando OpenSSL.
Anche i certificati di firma del codice e le firme elettroniche vengono esportati nel file .p12 / .pfx.

I file .pfx e .p12 sono de facto identici, e se hai bisogno del file p12 invece del pfx, potresti leggere che devi semplicemente rinominarlo. Non sempre funziona così facilmente. Puoi saperne di più nella discussione su stackoverflow.com.

KEY (.key)

Il file .key contiene il certificato in formato PEM e contiene solo la chiave privata del certificato. La chiave privata è racchiusa nelle stringhe ----- BEGIN PRIVATE KEY ----- e ----- END PRIVATE KEY -----. Questo file dovrebbe essere aperto in qualsiasi editor di testo.
Non c'è standardizzazione per il formato .key ed è de facto una designazione del file con la chiave privata.

File .key aperto in Notepad

DER (.der)

DER (Distinguished Encoding Rules). Un file binario (una stringa di zeri e uni) che contiene le informazioni del certificato memorizzate. Contiene un certificato SSL o il percorso completo della catena radice (certificati intermedi) e può anche contenere una chiave privata. Utilizzato nel mondo Unix o sulle piattaforme Java, in Windows il file .der è considerato automaticamente un portatore di certificati. DER è una versione binaria difettosa di un file PEM codificato in base64.

CRT (.crt)

Il file .crt contiene un certificato SSL in formato PEM. Possono essere aperti con qualsiasi editor di testo e il certificato è racchiuso nei tag ----- BEGIN CERTIFICATE ----- e ----- END CERTIFICATE -----.
In Windows, quando si fa doppio clic su un file e si accetta l'avviso, si apre automaticamente una finestra con i dettagli del certificato. Se si rinomina il file .crt in .txt, facendo doppio clic si apre un editor di testo con il contenuto PEM.

File CRT di un certificato SSL emesso

P7B (.p7b)

Il formato P7B contiene la chiave pubblica e i certificati intermedi dell'autorità di certificazione. Non contiene una chiave privata. Il formato P7B / PKCS # 7 è salvato in formato ASCII Base64 e il file ha un'estensione .p7b o .p7c. Definito in RFC 2315 come numero PKCS 7. Il formato usato da Windows. Java usa .keystore. È possibile definire una gerarchia dei certificati per questi contenitori.

CER (.cer), CERT (.cert)

Si tratta di un'estensione diversa del file .pem. Usato per indicare il certificato emesso. Il certificato memorizzato in formato PEM è delimitato dall'intestazione e dal piè di pagina ----- BEGIN CERTIFICATE ----- e ----- END CERTIFICATE -----.

Altri tipi e formati di file

CRL

Elenco di revoca dei certificati (CRL) - elenco dei certificati revocati. Le autorità di certificazione pubblicano elenchi di certificati revocati in questi elenchi.

RFC 7468

Lo standard proposto RFC 7468 (Textual Encodings of PKIX, PKCS, and CMS Structures) descrive e standardizza la codifica testuale delle strutture PKI (Public-Key Infrastructure X.509), PKCS (Public-Key Cryptography Standards) e CMS (Cryptographic Message Syntax).

RFC 7468

Lo standard proposto RFC 7468 (Codifiche testuali delle strutture PKIX, PKCS e CMS) descrive e standardizza la codifica testuale delle strutture PKI (Infrastruttura a chiave pubblica X.509), PKCS (Standard di crittografia a chiave pubblica) e CMS (Sintassi del messaggio crittografico).

Torna alla Guida
Hai trovato un errore o non capisci qualcosa? Scrivici!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum