为了让你快速对比,以下是主要证书格式的梳理:
格式分类与核心对比
-
X.509 标准格式 (证书本体)
- PEM (文本) :最通用,Apache、Nginx等所有基于OpenSSL的系统首选。文本格式,用记事本就能打开。
- DER (二进制):PEM的二进制版本,主要用于Java、Windows平台。
- 如何快速判断PEM与DER :用记事本打开文件,看到
-----BEGIN CERTIFICATE-----就是PEM;如果全是乱码,可能是DER。
-
PKCS 标准容器 (打包/传递格式)
- PKCS#7 / P7B :用于存储和分发证书链 ,不包含私钥。常用于Windows、Java Tomcat。
- PKCS#12 / PFX/P12 :密码保护的二进制容器 ,能同时包含证书、私钥和证书链。是Windows IIS、Java应用服务器备份或迁移证书的首选。
-
特定平台格式
- JKS:Java平台专用的密钥库格式(自Java 9起,PKCS#12成为默认推荐)。
- KDB:IBM WebSphere等产品的专用格式。
-
其他相关文件
- KEY :通常存放PEM或DER编码的私钥。
- CSR:证书签名请求文件,用于向CA申请证书,通常为PEM格式。
🔧 如何选择和转换
选择格式主要看你的服务器或平台:
- Apache、Nginx :使用
server.crt(证书) 和server.key(私钥) 文件。 - Tomcat、JBoss等Java应用 :推荐使用
.pfx或.p12文件。 - Microsoft IIS :使用
.pfx文件。 - Weblogic :使用
.jks文件。
所有主流格式都可以用 OpenSSL 或 Keytool (Java) 工具进行相互转换。