Mi chiedo se il file pem contiene sia la chiave privata che quella pubblica? cosa significa pem?Il file .pem contiene chiavi sia private che pubbliche?
risposta
Un file PEM può contenere qualsiasi cosa, tra cui una chiave pubblica, una chiave privata o entrambi, poiché un file PEM non è uno standard. In effetti PEM significa solo che il file contiene un bit di dati con codifica Base64. Viene chiamato un file PEM per allusione ai vecchi standard di Privacy-Enhanced Mail che hanno preceduto S/MIME come standard di sicurezza della posta. Questi standard specificavano il formato di varie chiavi e messaggi in un particolare formato base64. Vedere RFC 1421 per esempio.
In genere un file PEM contiene una chiave codificata in base64 o un certificato con righe di intestazione e piè di pagina del modulo -----BEGIN <whatever>-----
e -----END <whatever>----
. Nel tempo si sono evolute molte possibilità per <whatever>
, tra cui chiavi private, chiavi pubbliche, certificati X509, dati PKCS7, file contenenti più certificati, file contenenti sia la chiave privata che il certificato X509, richieste di firma del certificato PKCS # 10, ...
È possibile decode tua PEM formattato x509certificate con il seguente comando:
openssl x509 -in cert.pem -text -noout
PEM certificato contains chiave pubblica solo o chiave privata solo o entrambi.
Per il seguente example:
-----BEGIN CERTIFICATE-----
MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G
A1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y
aXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0
ZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw
CQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy
dGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu
dVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB
BwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X
uQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud
DwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG
SM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA
l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo=
-----END CERTIFICATE-----
otterrete:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 0 (0x0)
Signature Algorithm: ecdsa-with-SHA256
Issuer: C = BE, O = GnuTLS, OU = GnuTLS certificate authority, ST = Leuven, CN = GnuTLS certificate authority
Validity
Not Before: May 23 20:38:21 2011 GMT
Not After : Dec 22 07:41:51 2012 GMT
Subject: C = BE, O = GnuTLS, OU = GnuTLS certificate authority, ST = Leuven, CN = GnuTLS certificate authority
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
04:52:d8:8d:23:8a:e3:67:d7:86:36:b1:20:0b:09:
7d:c8:c9:ba:a2:20:95:2f:c5:4a:63:fa:83:5f:ce:
78:2f:8f:f3:62:ca:fd:b7:f7:80:56:9d:6e:17:b9:
0e:11:4c:48:b2:c0:af:3b:59:17:16:30:68:09:07:
99:17:fe:dd:a7
ASN1 OID: prime256v1
NIST CURVE: P-256
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
X509v3 Subject Key Identifier:
F0:B4:81:FE:98:12:BF:B5:28:B9:64:40:03:CB:CC:1F:66:4E:28:03
Signature Algorithm: ecdsa-with-SHA256
30:45:02:20:31:ae:c0:3d:4a:3f:21:be:85:17:fc:f0:c7:b2:
31:07:2a:38:56:43:d1:36:d5:95:e1:7e:52:c0:06:43:87:a7:
02:21:00:97:8c:0e:b8:3c:0a:41:af:ae:a5:cf:06:7e:d5:c4:
d8:2f:ff:e2:62:80:34:10:ba:22:dd:35:81:46:93:22:9a
Per comprendere differenza tra Public Key Algorithm
e Signature Algorithm
sezioni leggere this (entrambi sono pubblici).
- 1. openssl RSA chiavi pubbliche e private
- 2. keytool - vedere le chiavi pubbliche e private
- 3. Rubino: la crittografia dei file/decifratura con/chiavi pubbliche private
- 4. come decifrare il file .pcap SSH che utilizza l'ecryption Diffie Hellman. Con chiavi pubbliche e private
- 5. avviso di sicurezza: App contiene le chiavi private incorporati o file di archivio chiavi
- 6. Come sono diverse le chiavi pubbliche e private?
- 7. Genera certificati, chiavi pubbliche e private con Java
- 8. Certificati, profili di provisioning, chiavi pubbliche/private demistificate
- 9. C# BouncyCastle - Crittografia RSA con chiavi pubbliche/private
- 10. file di chiavi private non protette
- 11. code private e pubbliche sulla MSMQ
- 12. Devo utilizzare variabili pubbliche o private?
- 13. Come crittografare i dati in php utilizzando le chiavi pubbliche/private?
- 14. Come creare una coppia di chiavi private/pubbliche utilizzando la crittografia Node.js?
- 15. Importazione della coppia di chiavi pubbliche/private OpenSSH RSA nell'accesso con portachiavi di Apple
- 16. generazione di chiavi rsa pubbliche/private serializzate da NED Big Ints
- 17. Qualche danno nell'usare la validità del dominio globale quando si ottengono le chiavi pubbliche/private ReCAPTCHA?
- 18. Utilizzo di credenziali private e pubbliche in JAAS
- 19. File di chiavi private per SFTP in NetBeans
- 20. OpenSSL non creerà le chiavi private?
- 21. Come estrarre le chiavi private da un agente ssh?
- 22. RSA pubblica/chiavi private in YAML
- 23. Memorizzazione di chiavi private nel database
- 24. Partizionare la struttura in sezioni private e pubbliche?
- 25. Ebean - Chiave primaria composita che contiene chiavi esterne
- 26. Impossibile importare le chiavi pubbliche o private con codice di accesso tramite Keychain (Mac OS X Mavericks)
- 27. SecKeychainItemCopyContents in segfault su chiavi private
- 28. Best practice per chiavi private personali
- 29. C#: Come ottenere tutte le proprietà di stringa pubbliche (sia get che set) di un tipo
- 30. gestione di chiavi pubbliche ssh su repository di organizzazioni github
Grazie per aver spiegato cosa significa l'abbreviazione – hek2mgl