什麼是PEM文件?

如何打開,編輯和轉換PEM文件

帶有PEM 文件擴展名文件是用於私密傳輸電子郵件的隱私增強型郵件證書文件。 收到此電子郵件的人員可以確信該郵件在傳輸過程中未被更改,未向任何其他人顯示,並且是由聲稱已發送該郵件的人發送的。

PEM格式源於通過電子郵件發送二進制數據的複雜性。 PEM格式使用base64對二進制進行編碼,以便它以ASCII字符串形式存在。

PEM格式已被更新和更安全的技術所取代,但PEM容器目前仍用於存放證書頒發機構文件,公鑰和私鑰,根證書等。

注意:某些PEM格式的文​​件可能使用不同的文件擴展名,例如證書的CER或CRT,或公鑰或私鑰的KEY。

如何打開PEM文件

根據需要的應用程序和您使用的操作系統 ,打開PEM文件的步驟有所不同。 但是,您可能需要將PEM文件轉換為CER或CRT,以便其中一些程序能夠接受該文件。

視窗

如果您需要Microsoft Outlook電子郵件客戶端中的CER或CRT文件,請在Internet Explorer中打開它,以便將其自動加載到正確的數據庫中。 電子郵件客戶端可以從那裡自動使用它。

要查看哪些證書文件已加載到您的計算機上,並手動導入,請使用Internet Explorer的“ 工具”菜單訪問“ Internet選項”>“內容”>“證書”

要將CER或CRT文件導入Windows,首先從“運行”對話框打開Microsoft管理控制台(使用Windows Key + R鍵盤快捷鍵輸入mmc )。 從那裡,轉到文件>添加/刪除管理單元... ,然後從左列中選擇證書 ,然後選擇窗口中心的添加>按鈕。 在以下屏幕上選擇計算機帳戶 ,然後在嚮導中移動,並在詢問時選擇本地計算機

在“控制台根目錄”下加載“證書”後,展開該文件夾並右鍵單擊受信任的根證書頒發機構 ,然後選擇所有任務>導入...。

蘋果系統

對於Mac電子郵件客戶端來說,與Windows相同的概念是正確的; 使用Safari將PEM文件導入鑰匙串訪問。

您還可以通過Keychain Access中的文件>導入項目...菜單導入SSL證書。 從下拉菜單中選擇系統 ,然後按照屏幕提示進行操作。

如果這些方法不適用於將PEM文件導入macOS,則可以嘗試以下命令

安全導入yourfile.pem -k〜/ Library / Keychains / login.keychain

Linux的

使用此keytool命令查看Linux上的PEM文件的內容:

keytool -printcert -file yourfile.pem

如果要將CRT文件導入到Linux的可信證書頒發機構存儲庫(如果您有PEM文件,請參閱下面的下一部分中的PEM到CRT轉換方法),請執行以下步驟:

  1. 導航到/ usr / share / ca-certificates /
  2. 在那裡創建一個文件夾(例如, sudo mkdir / usr / share / ca-certificates / work )。
  3. 將.CRT文件複製到新創建的文件夾中。 如果您不想手動執行此操作,則可以使用以下命令: sudo cp yourfile.crt /usr/share/ca-certificates/work/yourfile.crt
  4. 確保權限設置正確(文件夾為755,文件為644)。
  5. 運行sudo update-ca-certificates命令。

Firefox和Thunderbird

如果需要將PEM文件導入到Thunderbird等Mozilla電子郵件客戶端,則可能需要先將PEM文件從Firefox中導出。 打開Firefox菜單並選擇選項 。 轉至高級>證書>查看證書>您的證書並選擇需要導出的證書 ,然後選擇備份...。

然後,在Thunderbird中,打開菜單並點擊或點擊選項 。 導航到高級>證書>管理證書>您的證書>導入...。導入窗口的“文件名:”部分,從下拉列表中選擇證書文件 ,然後查找並打開PEM文件。

要將PEM文件導入Firefox,只需遵循與導出一個步驟相同的步驟,但選擇Import ...而不是Backup ...按鈕。

Java KeyStore

如果需要,請參閱此堆棧溢出線程,以將PEM文件導入Java KeyStore(JKS)。 另一個可能的選擇是使用這個keyutil工具。

如何轉換PEM文件

與大多數可以使用文件轉換工具或網站轉換的文件格式不同,您需要針對特定程序輸入特殊命令,以便將PEM文件格式轉換為大多數其他格式。

使用PuTTYGen將PEM轉換為PPK。 從程序右側選擇加載 ,將文件類型設置為任何文件(*。*),然後瀏覽並打開您的PEM文件。 選擇保存私鑰以製作PPK文件。

使用OpenSSL(在此處獲取Windows版本),可以使用以下命令將PEM文件轉換為PFX:

openssl pkcs12 -inkey yourfile.pem -in yourfile.cert -export -out yourfile.pfx

如果您的PEM文件需要轉換為CRT,就像Ubuntu一樣,請在OpenSSL中使用此命令:

openssl x509 -in yourfile.pem -inform PEM -out yourfile.crt

OpenSSL還支持將.PEM轉換為.P12(PKCS#12或公鑰加密標準#12),但在運行此命令之前在文件末尾附加“.TXT”文件擴展名:

openssl pkcs12 -export -inkey yourfile.pem.txt -in yourfile.pem.txt -out yourfile.p12

有關將PEM文件與Java KeyStore結合使用(如果要將文件轉換為JKS)或本教程中的Oracle將該文件導入Java信任庫,請參閱上面的Stack Overflow鏈接。

更多關於PEM的信息

隱私增強郵件證書格式的數據完整性功能使用RSA-MD2和RSA- MD5消息摘要來比較消息發送前後的消息,以確保消息一直未被篡改。

在一個PEM文件的開頭是一個標題----- BEGIN [label] ----- ,並且數據的結尾是一個類似的頁腳,如下所示:----- END [label] - ----。 “[標籤]”部分描述了該消息,因此它可能會讀取私鑰,證書請求證書

這是一個例子:

----- BEGIN PRIVATE KEY ----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMLgD0kAKDb5cFyP jbwNfR5CtewdXC + kMXAWD8DLxiTTvhMW7qVnlwOm36mZlszHKvsRf05lT4pegiFM 9z2j1OlaN + CI / X7NU22TNN6crYSiN77FjYJP464j876ndSxyD + rzys386T + 1r1aZ aggEdkj1TsSsv1zWIYKlPIjlvhuxAgMBAAECgYA0aH + T2Vf3WOPv8KdkcJg6gCRe yJKXOWgWRcicx / CUzOEsTxmFIDPLxqAWA3k7v0B + 3vjGw5Y9lycV / 5XqXNoQI14j y09iNsumds13u5AKkGdTJnZhQ7UKdoVHfuP44ZdOv / RJ5 / VD6F4zWywpe90pcbK + AWDVtusgGQBSieEl1QJBAOyVrUG5l2yoUBtd2zr / kiGm / DYyXlIthQO / A3 / LngDW 5 / ydGxVsT7lAVOgCsoT + 0L4efTh90PjzW8LPQrPBWVMCQQDS3h / FtYYd5lfz + FNL 9CEe1F1w9l8P749uNUD0g317zv1tatIqVCsQWHfVHNdVvfQ + vSFw38OORO00Xqs9 1GJrAkBkoXXEkxCZoy4PteheO / 8IWWLGGr6L7di6MzFl1lIqwT6D8L9oaV2vynFT DnKop0pa09Unhjyw57KMNmSE2SUJAkEArloTEzpgRmCq4IK2 / NpCeGdHS5uqRlbh 1VIa / xGps7EWQl5Mn8swQDel / YP3WGHTjfx7pgSegQfkyaRtGpZ9OQJAa9Vumj8m JAAtI0Bnga8hgQx7BhTQY4CadDxyiRGOGYhwUzYVCqkb2sbVRH9HnwUaJT7cWBY3 RnJdHOMXWem7 / W == ----- END PRIVATE KEY -----

一個PEM文件可以包含多個證書,在這種情況下,“END”和“BEGIN”部分彼此相鄰。

你的文件仍然沒有打開?

你的文件沒有以上述方式打開的一個原因是你實際上沒有處理PEM文件。 您可能會擁有一個只使用類似拼寫文件擴展名的文件。 在這種情況下,這兩個文件就沒有必要關聯起來,或者他們無法使用相同的軟件程序。

例如, PEF看起來非常像PEM,但屬於賓得Raw圖像文件格式或Portable Embosser Format。 按照該鏈接查看如何打開或轉換PEF文件,如果這是您真正擁有的。

如果您正在處理KEY文件,請注意並非所有以.KEY結尾的文件都屬於本頁所述的格式。 它們可能是註冊軟件程序(如LightWave)或Apple Keynote創建的Keynote演示文件時使用的軟件許可證密鑰文件。

如果你確定你有一個PEM文件,但有打開或使用它的麻煩,請參閱獲取更多幫助 ,了解有關在社交網絡上或通過電子郵件與我聯繫,在技術支持論壇上發帖等等的信息。 讓我知道你有什麼樣的問題,我會看看我能做些什麼來幫助。