CRT 轉 PEM 轉換器
將二進位 CRT 安全憑證轉換為 Base64 編碼的 PEM 文字格式,使其相容於 Apache、Nginx 與現代 Linux 網頁伺服器。
格式比較與技術規格
| 規格 | CRT | PEM |
|---|---|---|
| MIME 類型 | application/ | application/ |
| 類型 | X.509 公開憑證 | Base64 ASCII 憑證容器 |
| 壓縮 | 無 | 無(Base64 封裝) |
| 標準規格 | ITU-T X.509 / RFC 5280 | IETF RFC 7468 |
| 檔案簽章(magic bytes)標頭 | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
格式概述與應用
安全憑證可確保網頁瀏覽器與伺服器之間傳送的資料安全。CRT 檔案通常使用稱為 DER 的二進位格式,或它可以是一個純文字檔案。許多 Linux 網頁伺服器、負載平衡器與電子郵件程式要求安全憑證必須使用 PEM 格式。PEM 檔案使用標準文字字元,並將安全資料包裝在特定的邊界標籤內。系統管理員在將安全憑證從 Windows 環境遷移到 Linux 系統時,經常會遇到這個格式要求。Apache 與 Nginx 網頁伺服器期望公開金鑰與私密金鑰位於 PEM 文字檔案中。轉換 CRT 憑證可確保伺服器軟體在 SSL 交握期間正確讀取密碼編譯資料。
技術規格與編解碼器解析
CRT 檔案使用 MIME 類型 application/x-x509-ca-cert。如果以 DER 格式儲存,檔案包含原始二進位資料;如果從特定憑證授權單位匯出,則可能是文字。PEM 格式使用 MIME 類型 application/x-pem-file。PEM 代表隱私增強郵件(Privacy Enhanced Mail),是一種用來儲存密碼學金鑰的容器格式。這兩種格式都不使用壓縮,因此轉換不會降低檔案品質。二進位 CRT 檔案不包含可讀文字;PEM 檔案則有可讀標頭,例如 -----BEGIN CERTIFICATE-----,後接 Base64 ASCII 字元,並以 -----END CERTIFICATE----- 結尾。轉換只是將原始位元組轉為可讀的 ASCII 文字,不會改變底層的公開金鑰數學運算。
作業系統與瀏覽器相容性
憑證檔案副檔名無法決定其內容是 DER 還是 PEM 編碼。支援程度取決於應用程式和預期的編碼。OpenSSL 和許多伺服器工具接受 PEM 輸入,而 Windows 憑證工具通常適用於支援的編碼和容器中的 X.509 憑證。
實用資訊
在重新啟動您的正式環境網頁伺服器之前,務必使用 OpenSSL 指令驗證您的私密金鑰是否與新轉換的 PEM 憑證相符。
常見問題
如何在不失真的情況下將 CRT 憑證轉換為 PEM 憑證?
CRT 與 PEM 只是副檔名,並非固定的編碼方式。當輸入為支援的憑證時,轉換會變更其序列化或包裝方式;請在部署前確認輸出內容包含相同的憑證。
CRT 憑證與 PEM 憑證有什麼差異?
CRT 是用於憑證的副檔名,可能編碼為 DER 或 PEM。PEM 則是帶有邊界標籤的 Base64 文字編碼。實際的編碼應從檔案內容中偵測,而不應僅從副檔名推斷。