DER,CRT,CER,PEM證書以及如何轉(zhuǎn)換它們

證書和編碼

X.509證書的核心是根據(jù)RFC 5280進行編碼或數(shù)字簽名的數(shù)字文檔。

實際上,術(shù)語X.509證書通常是指RFC 5280中規(guī)定的IETF的X.509 v3證書標準的PKIX證書和CRL配置文件,通常被稱為公鑰基礎(chǔ)結(jié)構(gòu)(X.509)。

X509文件擴展

我們首先要了解的是每種文件擴展名是什么。關(guān)于DER,PEM,CRT和CER是什么,存在很多困惑,并且許多人錯誤地表示它們都是可互換的。
盡管在某些情況下可以互換某些最佳做法,但最好的做法是確定證書的編碼方式,然后正確地對其進行標記,正確標記的證書將更容易操作。

編碼(也用作擴展名)
  • .DER = DER擴展名用于二進制DER編碼的證書,這些文件也可能帶有CER或CRT擴展名,正確的英語用法是“我有DER編碼證書”而不是“我有DER證書”。
  • .PEM = PEM擴展名用于不同類型的X.509v3文件,這些文件包含以 “--BEGIN…” 行為前綴的ASCII(Base64)包裝數(shù)據(jù)。
通用擴展
  • .CRT = CRT擴展名用于證書。證書可以編碼為二進制DER或ASCII PEM,CER和CRT擴展幾乎是同義詞, * nix系統(tǒng)中最常見的。
  • .CER = .crt的替代形式(Microsoft約定)您可以使用MS將 .crt 轉(zhuǎn)換為 .cer(.DER編碼的.cer或base64 [PEM]編碼的.cer). IE也將 .cer 文件擴展名識別為命令運行MS cryptoAPI命令(特別是rundll32.exe cryptext.dll,CryptExtOpenCER),該對話框顯示用于導入或查看證書內(nèi)容的對話框。
  • .KEY = KEY擴展名同時用于公共和私有PKCS#8密鑰,密鑰可以編碼為二進制DER或ASCII PEM。

CRT和CER唯一可以安全互換的時間是編碼類型可以相同時。 (即PEM編碼的CRT = PEM編碼的CER)

常見的OpenSSL證書操作

證書操作有四種基本類型。查看,轉(zhuǎn)換,組合和導出

1. 證書查看

即使PEM編碼的證書是ASCII,也不是人類可讀的證書。以下是一些命令,可讓您以易于閱讀的形式輸出證書的內(nèi)容。

查看PEM編碼的證書 使用具有證書擴展名的命令,將cert.xxx替換為證書名稱

  • openssl x509 -in cert.pem -text -noout
  • openssl x509 -in cert.cer -text -noout
  • openssl x509 -in cert.crt -text -noout

如果收到以下錯誤,則表示您正在嘗試查看DER編碼的證書,并且需要使用以下``查看DER編碼的證書''中的命令

unable to load certificate
12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE

查看DER編碼的證書

  • openssl x509 -in certificate.der -inform der -text -noout

如果收到以下錯誤,則表示您正在嘗試使用用于DER編碼證書的命令查看PEM編碼證書。使用“上面的查看PEM編碼的證書”中的命令

unable to load certificate
13978:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306:
13978:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509

2. 證書轉(zhuǎn)換

PEM to DER

  • openssl x509 -in cert.crt -outform der -out cert.der

DER to PEM

  • openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
3. 證書組合

在某些情況下,將多個X.509基礎(chǔ)結(jié)構(gòu)組合到一個文件中是有利的。一個常見的示例是將私鑰和公鑰都組合到同一證書中。
組合證書密鑰和鏈的最簡單方法是將每個密鑰轉(zhuǎn)換為PEM編碼的證書,然后將每個文件的內(nèi)容簡單地復制到新文件中。這適合于組合文件以在Apache的應用程序中使用

4. 證書導出

一些證書將以組合形式出現(xiàn)。其中一個文件可以包含以下任意一項:證書,私鑰,公鑰,簽名證書,證書頒發(fā)機構(gòu)(CA)或頒發(fā)機構(gòu)鏈。

[轉(zhuǎn)載]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容