Tôi tự hỏi nếu tập tin pem chứa cả khóa riêng và khóa công khai? pem hiện những gì đứng cho?Tệp .pem có chứa cả khóa riêng và khóa công khai không?
Trả lời
Tệp PEM có thể chứa bất kỳ thứ gì bao gồm khóa công khai, khóa cá nhân hoặc cả hai vì tệp PEM không phải là tiêu chuẩn. PEM có hiệu lực chỉ có nghĩa là tệp có chứa một bit dữ liệu được mã hóa base64. Nó được gọi là tệp PEM bằng cách ám chỉ đến các tiêu chuẩn Mail-Enhanced Mail cũ trước S/MIME như một tiêu chuẩn bảo mật thư. Các tiêu chuẩn này đã chỉ định định dạng của các khóa và thông điệp khác nhau theo định dạng base64 cụ thể. Xem ví dụ RFC 1421.
Thông thường tệp PEM chứa khóa hoặc chứng chỉ được mã hóa base64 có dòng đầu trang và chân trang của biểu mẫu -----BEGIN <whatever>-----
và -----END <whatever>----
. Theo thời gian đã phát triển nhiều khả năng cho <whatever>
, bao gồm khóa cá nhân, khóa công cộng, chứng chỉ X509, dữ liệu PKCS7, tệp có chứa nhiều chứng chỉ, tệp chứa khóa cá nhân và chứng chỉ X509, yêu cầu ký chứng chỉ PKCS # 10, ...
bạn có thể decodePEM của bạn được định dạng x509certificate với lệnh sau đây:
openssl x509 -in cert.pem -text -noout
PEM chứng chỉ khóa công khai containshay khóa riêng chỉ hoặc cả hai.
Đối với example sau:
-----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-----
bạn sẽ nhận được:
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
Để hiểu sự khác biệt giữa Public Key Algorithm
và Signature Algorithm
phần đọc this (cả hai đều là công cộng).
- 1. X.509: Khóa riêng/khóa công khai
- 2. RSACryptoServiceProvider khởi tạo với khóa công khai và khóa riêng
- 3. Nhập khóa công khai và riêng tư vào kho khóa JKS
- 4. keytool - xem các khóa công khai và riêng tư
- 5. Tải khóa RSA riêng được mã hóa PEM trong Crypto ++
- 6. Cách tạo khóa Riêng RSA từ chuỗi * pem trong Java
- 7. Các khóa công khai/riêng tư của RSA trong YAML
- 8. từ khóa riêng tư không có từ khóa riêng tư
- 9. Cách cất giữ khóa công khai trong ngăn chứa khóa RSA cấp máy
- 10. Đối tượng chỉ chứa nửa công khai của cặp khóa
- 11. Cách tải khóa RSA từ tệp PEM và sử dụng khóa đó trong python-crypto
- 12. Cách lưu khóa công khai từ chứng chỉ ở định dạng .pem
- 13. Tạo tư nhân và khóa công khai OpenSSL
- 14. PKI nhiều khóa công khai
- 15. Chúng tôi có thể có nhiều khóa công khai với một khóa riêng duy nhất cho RSA không?
- 16. Đẩy vào TFS git bằng khóa công khai/riêng
- 17. Giải mã bằng khóa riêng từ tệp .pem trong C# với thư viện crypto .NET
- 18. Làm thế nào để đọc một khóa công khai RSA trong PEM + PKCS # 1 định dạng
- 19. có thể tạo chứng chỉ ssl bằng khóa công khai/riêng tư pgp không?
- 20. Đọc Khóa công cộng PEM RSA Chỉ sử dụng Lâu đài Bouncy
- 21. Lưu khóa PGP (công khai) trong kho khóa java - Bouncycastle
- 22. Làm thế nào để mã hóa một chuỗi với khóa riêng và giải mã bằng khóa công khai?
- 23. tải RSA khóa công khai từ file
- 24. Flash SecureSocket và khóa riêng RSA
- 25. Cách lấy khóa công khai bằng PyOpenSSL?
- 26. Tôi có cần xuất bản khóa công khai từ tệp .snk không?
- 27. Android App base 64 khóa công khai
- 28. Cách tạo khóa công cộng và khóa riêng thông qua RSA
- 29. Các khóa công khai và riêng tư khác nhau như thế nào?
- 30. Cách sử dụng kỹ thuật mã hóa khóa công khai và riêng tư trong C#
Cảm ơn bạn đã giải thích từ viết tắt là viết tắt của – hek2mgl