文章最後更新於 2023 年 7 月 11 日
資安證書是用於確保網站、應用程式或系統的安全性和可信度的數位憑證。它們包含了數位加密金鑰,用於加密和解密網路通訊,並且可以證明數據的真實性和完整性。在資安領域中,常見的檔案格式有以下幾種:
*.pem (Privacy-Enhanced Mail)
PEM 是一種基於 ASCII 的檔案格式,主要用於傳輸加密金鑰和證書。PEM 格式可以存儲 X.509 證書、私有金鑰和中間 CA (Certificate Authority) 的證書。這種格式常用於 Apache 和 Nginx 伺服器等環境。
*.crt (Certificate)
CRT 格式是 X.509 證書的標準檔案格式。它通常包含公開金鑰和簽發者的數據,以證明證書的有效性。CRT 檔案通常被用於網站伺服器和瀏覽器之間的 SSL/TLS 通訊。
*.cer (Certificate)
CER 格式也是 X.509 證書的一種常見檔案格式,與 CRT 格式相似。主要區別在於擴展名的命名慣例,CER 檔案通常被用於 Windows 系統。
*.key (Private Key)
KEY 檔案通常包含私有金鑰,用於數據加密和解密。私有金鑰應該保密,僅限應用程式或系統使用。常見的私有金鑰檔案格式包括 PEM 和 DER (Distinguished Encoding Rules)。
*.jks (Java KeyStore)
JKS 格式是 Java 平台上常用的金鑰存儲格式。它可以包含一個或多個證書和私有金鑰,並使用密碼保護。JKS 檔案通常用於 Java 應用程式和服務器的金鑰管理。
*.pfx (Personal Information Exchange)
PFX 格式是一種個人信息交換格式,可以用於將私有金鑰和證書捆綁在一起。PFX 檔案通常使用密碼保護,用於將證書導入到 Windows 平台的應用程式或服務器。
轉換這些資安證書格式之間,您可以使用不同的工具和命令根據您所使用的作業系統和工具,以下是一些常見的轉換方法:
- PEM 轉換:
- 將 PEM 轉換為 CRT:
openssl x509 -outform der -in certificate.pem -out certificate.crt
- 將 PEM 轉換為 KEY:
openssl rsa -in privatekey.pem -out privatekey.key
- CRT/CER 轉換:
- 將 CRT/CER 轉換為 PEM:
openssl x509 -inform der -in certificate.cer -out certificate.pem
- KEY 轉換:
- 將 KEY 轉換為 PEM:
openssl rsa -in privatekey.key -out privatekey.pem
- JKS 轉換:
當涉及到不同格式的 Java KeyStore(JKS)檔案之間的轉換時,你可以使用 Java 的 keytool
工具來執行這些操作。以下是展示如何轉換不同格式的 JKS 檔案的示範:
- JKS 轉換為 PKCS12
keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12
上述命令將名為 keystore.jks
的 JKS 檔案轉換為 PKCS12 格式的 keystore.p12
檔案。
- PKCS12 轉換為 JKS
keytool -importkeystore -srckeystore keystore.p12 -destkeystore keystore.jks -srcstoretype PKCS12 -deststoretype JKS
上述命令將名為 keystore.p12
的 PKCS12 檔案轉換為 JKS 格式的 keystore.jks
檔案。
- JKS 轉換為 PEM
首先,將 JKS 檔案轉換為 PKCS12 格式,然後再將 PKCS12 轉換為 PEM 格式。
# JKS 轉換為 PKCS12
keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12
# PKCS12 轉換為 PEM
openssl pkcs12 -in keystore.p12 -out keystore.pem -nodes
上述命令將名為 keystore.jks
的 JKS 檔案轉換為 PKCS12 格式的 keystore.p12
檔案,然後使用 OpenSSL 將 PKCS12 檔案轉換為 PEM 格式的 keystore.pem
檔案。
- PEM 轉換為 JKS
首先,將 PEM 檔案轉換為 PKCS12 格式,然後再將 PKCS12 轉換為 JKS 格式。
# PEM 轉換為 PKCS12
openssl pkcs12 -export -in keystore.pem -out keystore.p12 -name "alias"
# PKCS12 轉換為 JKS
keytool -importkeystore -srckeystore keystore.p12 -destkeystore keystore.jks -srcstoretype PKCS12 -deststoretype JKS
上述命令將名為 keystore.pem
的 PEM 檔案轉換為 PKCS12 格式的 keystore.p12
檔案,然後使用 keytool
將 PKCS12 檔案轉換為 JKS 格式的 keystore.jks
檔案。
這些命令將幫助你在不同格式的 JKS 檔案之間進行轉換。請確保替換命令中的實際檔案名稱和路徑,並根據你的需求進行調整。
- PFX 轉換:
- 將 PFX 轉換為 PEM:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
以上是一些常見的轉換方法,但根據您的具體需求和使用情境,可能會有其他特定工具和命令可用。
補充部分: 除了上述提到的格式,還有一些其他常見的資安證書格式,例如:
*.p7b (PKCS#7)
PKCS#7 是一種加密的語法標準,常用於簽名和加密數據。P7B 檔案通常包含數個證書,用於將它們簽名、簽發者和中間 CA 一起封裝在一個檔案中。
*.p12 (PKCS#12)
PKCS#12 是一種個人信息交換的標準,它可以捆綁私有金鑰、證書和其他相關憑證。P12 檔案通常使用密碼保護,可用於將證書和私有金鑰導入到不同的應用程式和平台中。
轉換這些格式之間的方法,大多數情況下,可以使用 OpenSSL 工具或特定應用程式的功能來執行。請注意,在進行任何轉換之前,請確保您具有原始檔案的正確副本,並遵循相關的安全最佳實踐。
關於作者

- 我是Oscar (卡哥),前Yahoo Lead Engineer、高智商同好組織Mensa會員,超過十年的工作經驗,服務過Yahoo關鍵字廣告業務部門、電子商務及搜尋部門,喜歡彈吉他玩音樂,也喜歡投資美股、虛擬貨幣,樂於與人分享交流!
最新文章
- 2023 年 9 月 6 日職場技能PREP方法:組織思維、表達見解的有效工具
- 2023 年 8 月 17 日個人成長完全指南:如何提高個人效率,實現更多成就
- 2023 年 8 月 12 日財富小記掌握這15項關鍵技能,邁向億萬富翁之路 | 培養造就財富的必備能力
- 2023 年 7 月 6 日心得筆記資安證書格式解析:從*.pem到*.pfx,完整指南和轉換方法
如果對文章內容有任何問題,歡迎在底下留言讓我知道。
如果你喜歡我的文章,可以按分享按鈕,讓更多的人看見我的文章。
網友留言