Zastanawiam się, czy plik pem zawiera zarówno klucz prywatny, jak i publiczny? na co stać pem?Czy plik .pem zawiera klucze prywatne i publiczne?
Odpowiedz
Plik PEM może zawierać prawie wszystko, w tym klucz publiczny, klucz prywatny lub oba, ponieważ plik PEM nie jest standardem. W efekcie PEM oznacza po prostu, że plik zawiera bit danych zakodowany w base64. Nazywany jest plikiem PEM przez aluzję do starych standardów Ulepszonej Prywatności, które poprzedziły S/MIME jako standard bezpieczeństwa poczty. Standardy te określają format różnych kluczy i komunikatów w określonym formacie base64. Zobacz na przykład RFC 1421.
Zazwyczaj plik PEM zawiera klucz zakodowany w base64 lub certyfikat z liniami nagłówka i stopki w postaci -----BEGIN <whatever>-----
i -----END <whatever>----
. Z biegiem czasu rozwinęło się wiele możliwości dla <whatever>
, w tym kluczy prywatnych, kluczy publicznych, certyfikatów X509, danych PKCS7, plików zawierających wiele certyfikatów, plików zawierających zarówno klucz prywatny i certyfikat X509, żądanie podpisania certyfikatu PKCS # 10, ...
można decode swój PEM sformatowana x509certificate za pomocą następującego polecenia:
openssl x509 -in cert.pem -text -noout
PEM certyfikatu klucza publicznego tylko containslub klucz prywatny tylko lub zarówno.
Na poniższym 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-----
dostaniesz:
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
Aby zrozumieć różnicę między Public Key Algorithm
i Signature Algorithm
sekcjach czytać this (oba są publiczne).
- 1. OpenSSL RSA prywatne i publiczne klucze
- 2. Interfejs API linii papilarnych z Androidem i klucze prywatne/publiczne
- 3. iPhone: Jak wyeksportować klucze publiczne SecKeyRef lub NSData zawierające klucze publiczne do formatu PEM?
- 4. Jak załadować klucze publiczne eliptycznej krzywej PEM do Bouncy Castle?
- 5. Skąd wiadomo, czy plik .pem zawiera klucz publiczny czy prywatny?
- 6. Czy publiczne i prywatne mają wpływ na układ pamięci obiektu?
- 7. Szyfrowanie prywatne/publiczne w Pythonie z biblioteką standardową
- 8. Kopiowanie konstruktora powinno być prywatne lub publiczne
- 9. Clojure, defn, defn-, publiczne/prywatne, domyślnie
- 10. Git prywatne i publiczne repo dla tego samego projektu
- 11. Na ruby, dlaczego uwzględnienie jest prywatne i rozszerzenie jest publiczne?
- 12. Co to jest publiczne, prywatne i chronione w programowaniu obiektowym?
- 13. Parse Pancerne klucze publiczne/prywatne ECC (generowane z gpg cli) w java
- 14. Jak sprawdzić, czy słownik zawiera określone klucze?
- 15. Pojemniki na klucze, wystarczająco bezpieczne, aby przechowywać klucze prywatne?
- 16. Konwersja Openssl .PEM zawiera tylko klucz prywatny RSA do .PKCS12
- 17. publiczne lub prywatne, to naprawdę ważne ze zmiennymi Android
- 18. Czy Heroku Git Repo jest publiczne?
- 19. Co to jest plik .pem i jak z niego korzystać?
- 20. Rejestr GetSubKeyNames() zawiera różne klucze niż Regedit?
- 21. Sprawdzanie, czy plik (txt) zawiera ciąg/zmienną
- 22. Jak wiemy, czy macierz FileInfo [] zawiera plik
- 23. Czy externed wyłudzić "publiczne" dla Python?
- 24. Czy istnieje publiczne lustro rubygems.org?
- 25. Client.ipa nie zawiera plik
- 26. co zawiera plik .exe?
- 27. Czy Thymeleaf zawiera i zastępuje?
- 28. Czy klucze i wartości w zamówionym NSDictionary?
- 29. Jak mogę utworzyć plik, który dokumentuje tylko "publiczne" API w Doxygen
- 30. Klucze certyfikatów - konwersja
Dzięki za wyjaśnienie, co skrót oznacza – hek2mgl