https SSL主流數字證書都有哪些格式(轉載)

發表於2017-08-28

主流數字證照都有哪些格式?

一般來說,主流的Web服務軟體,通常都基於兩種基礎密碼庫:OpenSSL和Java。

Tomcat、Weblogic、JBoss等,使用Java提供的密碼庫。通過Java的Keytool工具,生成Java Keystore(JKS)格式的證照檔案。

Apache、Nginx等,使用OpenSSL提供的密碼庫,生成PEM、KEY、CRT等格式的證照檔案。

此外,IBM的產品,如Websphere、IBM Http Server(IHS)等,使用IBM產品自帶的iKeyman工具,生成KDB格式的證照檔案。微軟Windows Server中的Internet Information Services(IIS),使用Windows自帶的證照庫生成PFX格式的證照檔案。

如果您在工作中遇到帶有字尾副檔名的證照檔案,可以簡單用如下方法區分:

*.DER *.CER : 這樣的證照檔案是二進位制格式,只含有證照資訊,不包含私鑰。

*.CRT : 這樣的檔案可以是二進位制格式,也可以是文字格式,一般均為文字格式,功能與*.DER/*.CER相同。

*.PEM : 一般是文字格式,可以放證照或私鑰,或者兩者都包含。 *.PEM如果只包含私鑰,那一般用 *.KEY代替。

*.PFX *.P12 是二進位制格式,同時含證照和私鑰,一般有密碼保護。

怎麼判斷是文字格式還是二進位制?

用記事本開啟,如果是規則的數字字母,如
—–BEGIN CERTIFICATE—–
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–
就是文字的,上面的BEGIN CERTIFICATE,說明這是一個證照
如果是—–BEGIN RSA PRIVATE KEY—–,說明這是一個私鑰

這些證照格式之間是可以互相轉換的

以下提供了一些證照之間的轉換方法:

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目錄下,開啟OpenSSL執行以下命令:

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

4. 將PFX轉換為PEM/KEY/CRT

 

使用OpenSSL工具,可以將PFX檔案轉化為金鑰檔案KEY和公鑰檔案CRT。

將PFX檔案放到OpenSSL目錄下,開啟OpenSSL執行以下命令:

openssl pkcs12 -in server.pfx -nodes -out server.pem

openssl rsa -in server.pem -out server.key

** 請注意 ** 此步驟是專用於使用keytool生成私鑰和CSR申請證照,並且獲取到pem格式證照公鑰的情況下做分離私鑰使用的,所以在實際部署證照時請使用此步驟分離出來的私鑰和申請下來的公鑰證照做匹配使用。

雲盾證照服務統一使用 PEM 格式的數字證照檔案。

相關文章