内容目录(原文见公众号python宝)
一、常见证书格式二、SSL证书常见格式转换三、证书格式要求四、单双向认证
www.xmmup.com
一、常见证书格式
公钥解密,私钥加密
私钥签名,公钥验签
常见SSL证书主要的文件类型和协议有: PEM、DER、PFX、JKS、KDB、CER、KEY、CSR、CRT、CRL、OCSP、SCEP等。
.p12 二进制编码秘钥
.cer 二进制编码证书、公钥
签名前需要对信息哈希,一般用的是SHA1
SSL证书格式主要有公钥证书格式标准X.509中定义的PEM和DER、公钥密码标准PKCS中定义的PKCS#7和PKCS#12、Java环境专用的JKS。
PEM是基于Base64编码的证书格式,扩展名包括pem、crt和cer。Linux系统使用crt,Windows系统使用cer。PEM证书通常将根证书、中间证书和用户证书分开存放,主要用于Apache和Nginx。
证书扩展名后缀是 .crt。
.crt是用于存放证书,它是2进制形式存放的。
Ngnix服务器和Apache服务器使用.crt格式的证书文件。
DER是基于二进制编码的证书格式,扩展名包括der、crt和cer。DER证书相当于PEM证书的二进制版本,主要用于Java平台。
PKCS#7是基于Base64编码的证书格式,扩展名包括p7b和p7c。PKCS#7证书通常将根证书和中间证书合并存放,将用户证书单独存放。PKCS#7证书不包含私钥,主要用于Tomcat和Windows Server。
PKCS#12是基于二进制编码的证书格式,扩展名包括pfx和p12。PKCS#12证书通常将根证书、中间证书、用户证书和私钥合并存放并设置密码,主要用于Windows Server。
JKS是是基于二进制编码的证书格式,扩展名是jks。JKS证书通常将根证书、中间证书、用户证书和私钥合并存放并设置密码,主要用于Java Web Server。
证书扩展名后缀是 .PKCS12。
同时包含证书和私钥,通常有密码保护,2进制方式。
IIS服务器使用PFX(即PKCS12或P12)格式的证书文件。
JKS格式:Tomcat服务器使用JKS格式的证书文件。
证书颁发机构CA签发的证书通常是PEM格式或PKCS#7格式,而PKCS#12格式和JKS格式的证书需要进行证书格式转换才能得到。我们可以通过OpenSSL、Keytool或在线证书转换工具等方式将PEM格式或PKCS#7格式的证书转换为我们需要的其他格式。
二、SSL证书常见格式转换
一、 OpenSSL 生成合成 PFX 文件
是将Apache/OpenSSL使用的“KEY文件 + CRT文件”转换为标准的PFX文件,可以将PFX文件格式导入到微软IIS 5/6/7、微软ISA、微软Exchange Server等软件。