PEM 憑證 (.pem)
IETF 標準隱私增強郵件(PEM)是一種廣泛使用的文字型密碼學物件編碼,包含憑證與私密金鑰,使用包覆在標示 '-----BEGIN...-----' 與 '-----END...-----' 邊界內的 Base64 資料。
將 CRT 轉換為 PEM
免費的瀏覽器端 CRT 轉 PEM 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 PEM 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 PEM 檔案:
十六進位簽章(偏移量 0):
2D 2D 2D 2D 2D 42 45 47 49 4EASCII 表示法: -----BEGIN
標準化: IETF RFC 7468 / RFC 1421
技術規格
| 容器架構 | 以 '-----BEGIN [LABEL]-----' 與 '-----END [LABEL]-----' 框住並封裝 DER 二進位結構的 Base64 ASCII 裝甲容器 |
| 壓縮 | 未壓縮的文字格式 |
| 位元組序 | ASCII / UTF-8 文字串流 |
| 色彩空間 | 不適用(密碼學容器) |
| 色版與結構 | 憑證、私密金鑰(RSA / EC / DSA)、憑證簽署請求(CSR)、公開金鑰以及憑證撤銷清單 |
| 最大尺寸 | 無限制文字串流(支援多個串接憑證) |
| 透明度 | 明文 ASCII 裝甲信封 |
| 串流與漸進式 | 依標頭順序串流提取 |
技術比較矩陣:PEM 對比競爭格式
| 技術屬性 | PEM (目前) | DER | P12 | CRT |
|---|---|---|---|---|
| 文字與二進位 | 人類可讀的 Base64 文字 | 僅原始二進位位元組 | 加密的二進位壓縮檔 | 通常為 Base64 文字 |
| 雲端與 DevOps 用途 | 常用於 AWS 與 Kubernetes 工作流程;支援的環境各不相同 | 硬體權杖 / Java | Windows IIS 伺服器匯入 | 網頁伺服器設定 |
| 允許的內容 | 憑證、私密金鑰、憑證鏈、憑證簽署請求(CSR) | 單一憑證或金鑰 | 封裝憑證 + 加密金鑰 | 通常僅公開憑證 |
| 可複製貼上 | 是(直接貼到文字輸入框中) | 否(二進位) | 否(二進位) | 是(若經過 PEM 編碼) |
常見損壞模式與十六進位修復指南
OpenSSL 錯誤:「PEM_read_bio: no start line」(沒有起始行)。
根本原因: 缺少或損壞的 '-----BEGIN ...-----' 標頭行,或 Windows CRLF 換行字元損壞。
修復: 使用 File2File.app 憑證工具還原標準的 5 個破折號標頭行。
安全性分析與解析器攻擊向量
PEM 檔案通常包含未加密的私密金鑰('-----BEGIN RSA PRIVATE KEY-----'),若外洩將授予完整的伺服器存取權限。
已知攻擊向量
- 將未加密的 PEM 私密金鑰提交至公開的版本控制儲存庫。
- 透過本機檔案包含(LFI)讀取伺服器 PEM 金鑰的路徑周遊攻擊。
- 加密私密金鑰 PEM 檔案使用的密碼短語強度不足。
防禦最佳實務: 使用嚴格的檔案系統權限(chmod 600)保護私密金鑰 PEM 檔案,且切勿提交至 git。
歷史起源與里程碑
主要優勢與優點
- 人類可讀且可複製貼上:可以複製到表單、雲端主控台輸入欄位(AWS、GCP)以及電子郵件中。
- 常被 OpenSSL、Linux 服務、Docker、Kubernetes 與雲端系統等工具和平台使用;支援的格式因元件而異。
- 支援多張憑證:透過堆疊區塊,允許在單一文字檔案中儲存完整的憑證信任鏈。
技術限制與缺點
- 由於 Base64 編碼的額外開銷,檔案大小約比原始二進位 DER 大 33%。
- 意外損壞:標頭行的換行方式變更或缺少破折號,可能會導致解析失敗。
- 未加密的私密金鑰 PEM 檔案如果外洩,將會帶來極高的安全風險。
有趣的技術冷知識
- 雖然 PEM 最初是為未能普及的加密電子郵件系統而建立,但其 ASCII 裝甲編碼卻成為全球最受歡迎的安全格式。
- 每個有效的 PEM 檔案都以五個破折號開頭:「-----BEGIN」。
- 只需在單一 .pem 檔案中一個接一個地貼上多個 'BEGIN CERTIFICATE' 區塊,就能建立完整的 SSL 憑證鏈。
常見技術問題
什麼是 .pem 檔案?
.pem 檔案是一種文字格式,用於儲存安全性憑證、私密金鑰或完整憑證鏈,採用可讀的 Base64 格式,並帶有 '-----BEGIN...-----' 標頭行。
如何將 PEM 轉換為 P12 或 PFX?
您可以直接在網頁瀏覽器中使用 File2File.app,一鍵將您的 PEM 憑證與私密金鑰轉換為受密碼保護的 P12 或 PFX 檔案。
如何檢查 PEM 憑證的到期日?
在 File2File.app 中開啟您的 .pem 檔案以解碼到期日、發行者與網域名稱,且不會將任何資料傳送至外部伺服器。
相關的 PEM 轉換對
將二進位 CRT 安全憑證轉換為 Base64 編碼的 PEM 文字格式,使其相容於 Apache、Nginx 與現代 Linux 網頁伺服器。
將 PEM 文字憑證轉換為 CRT 二進位憑證,可讓 Apache 伺服器與 Windows 系統正確讀取您的網站安全憑證。
將 PKCS #12 封裝轉換為 PEM 憑證,可從受密碼保護的二進位容器中擷取您的公開與私密金鑰,並轉為適用於網頁伺服器的純文字檔案。
將 PEM 憑證轉換為 PKCS #12 封裝會將您的公開憑證與私密金鑰結合成單一受密碼保護的檔案,以便輕鬆安裝在 Windows 伺服器和網頁瀏覽器上。
將 DER 二進位憑證轉換為 PEM 憑證,可將其編碼從原始二進位位元組變更為 Base64 ASCII 文字,方便網頁伺服器與文字編輯器輕鬆讀取。
將二進位 CER 安全憑證轉換為 Base64 編碼的 PEM 文字檔案,可讓管理員輕鬆讀取安全金鑰並將其貼至網路伺服器與應用程式設定中。