一般來(lái)說(shuō),主流的Web服務(wù)軟件,通常都基于兩種基礎密碼庫:OpenSSL和Java。
Tomcat、Weblogic、JBoss等,使用Java提供的密碼庫。通過(guò)Java的Keytool工具,生成Java Keystore(JKS)格式的證書(shū)文件。
Apache、Nginx等,使用OpenSSL提供的密碼庫,生成PEM、KEY、CRT等格式的證書(shū)文件。
此外,IBM的產(chǎn)品,如Websphere、IBM Http Server(IHS)等,使用IBM產(chǎn)品自帶的iKeyman工具,生成KDB格式的證書(shū)文件。微軟Windows Server中的Internet Information Services(IIS),使用Windows自帶的證書(shū)庫生成PFX格式的證書(shū)文件。
如果您在工作中遇到帶有后綴擴展名的證書(shū)文件,可以簡(jiǎn)單用如下方法區分:
*.DER *.CER : 這樣的證書(shū)文件是二進(jìn)制格式,只含有證書(shū)信息,不包含私鑰。
*.CRT : 這樣的文件可以是二進(jìn)制格式,也可以是文本格式,一般均為文本格式,功能與*.DER/*.CER相同。
*.PEM : 一般是文本格式,可以放證書(shū)或私鑰,或者兩者都包含。 *.PEM如果只包含私鑰,那一般用 *.KEY代替。
*.PFX *.P12 是二進(jìn)制格式,同時(shí)含證書(shū)和私鑰,一般有密碼保護。
怎么判斷是文本格式還是二進(jìn)制?
用記事本打開(kāi),如果是規則的數字字母,如
—–BEGIN CERTIFICATE—–
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–
就是文本的,上面的BEGIN CERTIFICATE,說(shuō)明這是一個(gè)證書(shū)
如果是—–BEGIN RSA PRIVATE KEY—–,說(shuō)明這是一個(gè)私鑰
這些證書(shū)格式之間是可以互相轉換的

以下提供了一些證書(shū)之間的轉換方法:
1. 將JKS轉換成PFX
可以使用Keytool工具,將JKS格式轉換為PFX格式。
keytool -importkeystore -srckeystore D:\server.jks -destkeystore D:\server.pfx -srcstoretype JKS -deststoretype PKCS12
2. 將PFX轉換為JKS
可以使用Keytool工具,將PFX格式轉換為JKS格式。
keytool -importkeystore -srckeystore D:\server.pfx -destkeystore D:\server.jks -srcstoretype PKCS12 -deststoretype JKS
3. 將PEM/KEY/CRT轉換為PFX
使用OpenSSL工具,可以將密鑰文件KEY和公鑰文件CRT轉化為PFX文件。
將密鑰文件KEY和公鑰文件CRT放到OpenSSL目錄下,打開(kāi)OpenSSL執行以下命令:
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
4. 將PFX轉換為PEM/KEY/CRT
使用OpenSSL工具,可以將PFX文件轉化為密鑰文件KEY和公鑰文件CRT。
將PFX文件放到OpenSSL目錄下,打開(kāi)OpenSSL執行以下命令:
openssl pkcs12 -in server.pfx -nodes -out server.pem
openssl rsa -in server.pem -out server.key
** 請注意 ** 此步驟是專(zhuān)用于使用keytool生成私鑰和CSR申請證書(shū),并且獲取到pem格式證書(shū)公鑰的情況下做分離私鑰使用的,所以在實(shí)際部署證書(shū)時(shí)請使用此步驟分離出來(lái)的私鑰和申請下來(lái)的公鑰證書(shū)做匹配使用。
云盾證書(shū)服務(wù)統一使用 PEM 格式的數字證書(shū)文件。
聯(lián)系客服