PEM 轉 CRT 轉換器
將 PEM 文字憑證轉換為 CRT 二進位憑證,可讓 Apache 伺服器與 Windows 系統正確讀取您的網站安全憑證。
格式比較與技術規格
| 規格 | PEM | CRT |
|---|---|---|
| MIME 類型 | application/ | application/ |
| 類型 | Base64 ASCII 憑證容器 | X.509 公開憑證 |
| 壓縮 | 無(Base64 封裝) | 無 |
| 標準規格 | IETF RFC 7468 | ITU-T X.509 / RFC 5280 |
| 檔案簽章(magic bytes)標頭 | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) |
格式概述與應用
安全憑證透過加密使用者與伺服器之間的流量來保護網站。PEM 格式使用 Base64 ASCII 文字,因此很容易在基本文字編輯器中開啟,也可以複製並貼到電子郵件訊息中。然而,許多伺服器環境、硬體防火牆和特定作業系統會拒絕文字格式,改為要求 CRT 格式。管理員將安全憑證從 Apache 網頁伺服器移轉到 Windows Internet Information Services 環境或網路設備時,經常會遇到這種不相容的情況。Windows 電腦或硬體負載平衡器會要求檔案採用二進位結構。變更檔案格式可讓這些系統正確讀取安全金鑰,並建立安全的 HTTPS 連線,而不會向訪客顯示錯誤。
技術規格與編解碼器解析
PEM 格式使用 MIME 類型 application/x-pem-file,並以 Base64 ASCII 編碼為基礎,內容包在特定的標頭與頁尾行之間。這些邊界行分別是 -----BEGIN CERTIFICATE----- 與 -----END CERTIFICATE-----。CRT 格式使用 MIME 類型 application/x-x509-ca-cert,並將完全相同的密碼學公開金鑰資料儲存在稱為「Distinguished Encoding Rules」的二進位結構中。這兩種格式都不使用壓縮,因此不會產生壓縮負荷。轉換過程完全無損,因為只是將文字編碼的 Base64 位元組轉回原始二進位位元組,不會改變底層密碼學公開金鑰資料的任何位元。
作業系統與瀏覽器相容性
憑證副檔名無法決定內容是採用 DER 還是 PEM 編碼。Linux 伺服器軟體通常接受 PEM,而 Windows 憑證工具和設備可能會接受 DER 或其他容器。請檢查產品文件記載的輸入格式;瀏覽器使用的是信任存放區,而不是將伺服器憑證檔案當作頁面內容開啟。
實用資訊
在將憑證套用到正式環境的網頁伺服器之前,請務必使用 OpenSSL 指令檢查模數值,以驗證您的私密金鑰是否與新轉換的 CRT 檔案相符。
常見問題
如何在不失真的情況下將 PEM 憑證轉換為 CRT 憑證?
轉換過程完全是無損的。這兩種檔案格式都儲存了完全相同的 X.509 密碼編譯公開金鑰資料。轉換檔案只是將容器編碼從 Base64 ASCII 文字變更為二進位位元組,而不會改變底層的安全性金鑰。
PEM 憑證與 CRT 憑證有什麼差異?
PEM 檔案是以文字為基礎的容器,使用 Base64 編碼與人類可讀的標頭行。CRT 檔案則是二進位容器,以原始位元組格式保留完全相同的憑證資料,這是特定作業系統和伺服器硬體所要求的。