P12 轉 PEM 轉換器
將 PKCS #12 封裝轉換為 PEM 憑證,可從受密碼保護的二進位容器中擷取您的公開與私密金鑰,並轉為適用於網頁伺服器的純文字檔案。
格式比較與技術規格
| 規格 | P12 | PEM |
|---|---|---|
| MIME 類型 | application/ | application/ |
| 類型 | PKCS #12 加密壓縮檔 | Base64 ASCII 憑證容器 |
| 壓縮 | 密碼加密的 PKCS #7 安全容器 | 無(Base64 封裝) |
| 標準規格 | IETF RFC 7292 | IETF RFC 7468 |
| 檔案簽章(magic bytes)標頭 | 30 82 (ASN.1 PKCS #12 PFX sequence) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
格式概述與應用
在 Apache、Nginx 或 HAProxy 網頁伺服器上部署 SSL 憑證時,系統管理員經常會將 P12 檔案轉換為 PEM 格式。瀏覽器和作業系統會使用 P12 容器,將使用者身分與私密金鑰安裝到個人憑證存放區;但 Linux 網頁伺服器通常需要分別儲存公開憑證、中繼憑證鏈和私密金鑰的純文字檔案。這項轉換可讓伺服器軟體直接讀取安全憑證,不必在每次服務啟動時提示輸入解密密碼。另一個常見的工作流程涉及 API 整合和容器化微服務。自動化部署管線通常會透過環境變數或設定掛載注入純文字檔案。將二進位 P12 封裝轉換為個別 PEM 檔案,可確保與能解析標準 Base64 文字區塊的現代雲端協調工具相容。
技術規格與編解碼器解析
PKCS #12 (P12/PFX) 是可容納憑證、私密金鑰和相關資料的容器。檔案可能經過密碼加密,也可能在建立時未加密,視所用工具和設定而定。將私密金鑰資料匯出為 PEM 可能會移除容器保護,因此請妥善保護輸出檔案,並使用加密的傳輸通道。
作業系統與瀏覽器相容性
PEM 憑證在多數主要的 Unix 和 Linux 伺服器環境中享有廣泛的相容性,包括 Ubuntu、Red Hat、CentOS 和 Alpine Docker 容器。它們可由 OpenSSL、Apache HTTP Server、Nginx 和 Postfix 原生讀取。另一方面,P12 封裝則受到用戶端系統(例如 Windows 憑證管理員、macOS 鑰匙圈、iOS 和 Android)的高度支援,用於匯入個人驗證憑證。Chrome、Firefox 和 Safari 等網頁瀏覽器接受 P12 檔案進行用戶端憑證驗證,但網頁伺服器則需要對應的 PEM 檔案。
實用資訊
請將匯出的私密金鑰視為機密。請以嚴格的權限設定儲存,並使用安全且經過驗證的通道傳輸;僅靠 P12 密碼或加密演算法選擇,無法讓不安全的傳輸變安全。
常見問題
如何在不失真的情況下將 PKCS #12 封裝轉換為 PEM 憑證?
憑證資料可以在不變更其數值的情況下重新編碼,但轉換可能會擷取私密金鑰素材並移除 P12 加密。請保護產生的金鑰檔案,並僅透過適當安全的通道傳輸它。
PKCS #12 封裝與 PEM 憑證有什麼差異?
PKCS #12 套件是一種二進位容器,可包含憑證、私密金鑰及相關資料。套件可能有密碼保護,也可能未加密,取決於建立方式。