2011-09-24 20 views

Trả lời

36

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>----------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, ...

+3

Cảm ơn bạn đã giải thích từ viết tắt là viết tắt của – hek2mgl

2

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 AlgorithmSignature Algorithm phần đọc this (cả hai đều là công cộng).

Các vấn đề liên quan