详解SSL证书格式和服务器的对应关系

SSL证书是数字证书的一种,也称为SSL服务器证书,遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

SSL证书所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准,常见的证书格式有:PKCS#7、PKCS#12 、DER 、PEM 、CER/CRT 、PFX 、P7B等。

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。

Web服务器目前最主流的Web服务器是Apache、 Nginx 、IIS、Tomcat。

IIS:(Internet Information Services)是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,安装SSL证书时需要用到的证书文件格式是cer、pfx。

Cer、crt都是符合ITU-T X509 国际标准的DER编码(ASCII)的证书文件格式,目前不作为IIS的主流安装证书文件。

Pfx格式证书文件是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,属于PKCS#12的常用后缀。并且是IIS服务器中使用率最高,安装效率最高的证书文件格式。

Nginx:是一个高性能的HTTP和反向代理web服务器,安装SSL证书时需要使用到的证书文件格式是PAM编码(Base64)。

PEM文本格式是以”—–BEGIN…”开头, “—–END…”结尾的,通常证书内会包含根证书、中间证书和用户证书的内容,但是并不包含key。

Apache:可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一,安装SSL证书时需要使用到的证书文件格式是:Crt。

Crt证书通常将根证书、中间证书和用户证书分开存放,上传到服务器后,修改配置文件即可。

Tomcat是免费的开放源代码的Web 应用服务器,是开发和调试JSP 程序的首选,安装SSL证书时需要使用到 证书文件格式是:jks。

JKS是是基于二进制编码的证书格式,JKS证书通常将根证书、中间证书、用户证书和私钥合并存放并设置密码。

证书颁发机构CA签发的证书通常是PEM格式或PKCS#7格式,而PKCS#12格式和JKS格式的证书需要进行证书格式转换才能得到。我们可以通过OpenSSL、Keytool或在线证书转换工具等方式将PEM格式或PKCS#7格式的证书转换为我们需要的其他格式。