2016-08-16 241 views

回答

4

X.509是一系列的標準,而PEM是在一個文件中(編碼)只是X.509對象表示。從字面上看,任何數據都可以用PEM格式表示。任何可以轉換爲字節數組的東西(任何東西都可以,因爲RAM是一個非常大的字節數組),可以用PEM格式表示。

所有X.509對象都是轉讓並通過使用抽象語法表示法(ASN.1),爲字節數組呈現。字節數組在通過網絡傳輸時非常好,但在某處存儲時並不總是有用。另一件事是你無法輕易確定X.509對象類型,而無需分析內容。

PEM代表增強保密郵件RFC1421定義。雖然PEM的開發目的有點不同,但該標準定義了PEM展示,尤其是當需要用可打印字符表示不可打印的字符時。在密碼學中,PEM僅與X.509對象表示相關聯。另外,PEM提供額外的數據來識別嵌入對象。 X.509對象的

ASN.1形式是一個字節數組,例如(系列的八位位組來表示字節):

3a 20 63 65 72 74 6c 69 62 5c 6c 64 61 70 2e 63 
70 70 28 32 31 33 31 29 3a 20 6c 64 61 70 65 72 

由於,因爲它需要兩倍六角不是表示二進制數據有用比原始數據更多的空間,使用更高效的Base64編碼。和特殊的頁眉和頁腳用於表示嵌入對象類型:

X.509證書

-----BEGIN CERTIFICATE----- 
MIIEITCCA+CgAwIBAgIUKMmxmDbjbHqt+Yzwj5lflBxuQwEwCQYHKoZIzjgEAzAjMSEwHwYDVQQD 
ExhUb2tlbiBTaWduaW5nIFB1YmxpYyBLZXkwHhcNMTIxMTE2MTgzODMwWhcNMTIxMTIzMTgzODMw 
WjAtMSswKQYDVQQDHiIAYgBiADEANAAxADkAYQAyAGMAZgBjADEAZQAwADAAOAAAMIGfMA0GCSqG 
<...> 
-----END CERTIFICATE----- 

X.509證書撤銷列表

-----BEGIN X509 CRL----- 
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu 
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR 
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA 
<...> 
-----END X509 CRL----- 

X.509證書請求

-----BEGIN NEW CERTIFICATE REQUEST----- 
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu 
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR 
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA 
<...> 
-----END NEW CERTIFICATE REQUEST----- 

PKCS#1私鑰

-----BEGIN RSA PRIVATE KEY----- 
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu 
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR 
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA 
<...> 
-----END RSA PRIVATE KEY----- 

PKCS#8私鑰

-----BEGIN PRIVATE KEY----- 
MIIDBjCCAm8CAQAwcTERMA8GA1UEAxMIcXV1eC5jb20xDzANBgNVBAsTBkJyYWlu 
czEWMBQGA1UEChMNRGV2ZWxvcE1lbnRvcjERMA8GA1UEBxMIVG9ycmFuY2UxEzAR 
BgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqGSIb3DQEBAQUA 
<...> 
-----END PRIVATE KEY----- 

等。

相關問題