解决digicert颁发的SSL证书缺少中间证书问题

在IIS下绑定HTTPS证书时发现服务器提示证书链中的一个或多个证书丢失。

在IIS中的服务器证书管理界面发现证书颁发者为 GeoTrust TLS RSA CA G1 

但是通过 MMC 查看证书发现服务器中没有相对应的中间证书。

通过一番查找,在digicert的网站中找到了一个证书检查工具https://ssltools.digicert.com/checker/views/checkInstallation.jsp 。

在这个工具中输入我的网站地址点击检查后提示缺少的中间证书,在证书详情中点击提示缺少的中间证书旁边的下载,下载中间证书的PEM证书文件。

*注意:网站中下载的是txt文件,但内容为PEM证书,所以需要使用OpenSSL将其转换为CER证书。

 

转换证书步骤如下:

1. 首先下载OpenSSL客户端(Windows办客户端可以在https://slproweb.com/products/Win32OpenSSL.html下载)

2. 使用命令行进入证书文件路径,使用下面命令将PEM证书转换为CER证书

openssl x509 -outform der -in GeoTrust_TLS_RSA_CA_G1.txt -out GeoTrust_TLS_RSA_CA_G1.cer

 

安装证书:

在服务器上双击CER证书文件,点击安装证书,选择安装路径为中间证书颁发机构,点击确定即可

 

安装完证书后在IIS中重新绑定SSL证书即可。

再次使用证书检查工具https://ssltools.digicert.com/checker/views/checkInstallation.jsp 对网站进行检查提示证书链已经完整。

 

 

证书相关内容

PEM格式
PEM格式是证书颁发机构颁发证书的最常见格式.PEM证书通常具有扩展名,例如.pem,.crt,.cer和.key。它们是Base64编码的ASCII文件,包含“----- BEGIN CERTIFICATE -----”和“----- END CERTIFICATE -----”语句。服务器证书,中间证书和私钥都可以放入PEM格式。

Apache和其他类似服务器使用PEM格式证书。几个PEM证书,甚至私钥,可以包含在一个文件中,一个在另一个文件之下,但是大多数平台(例如Apache)希望证书和私钥位于单独的文件中。

DER格式
DER格式只是证书的二进制形式,而不是ASCII PEM格式。它有时会有.der的文件扩展名,但它的文件扩展名通常是.cer所以判断DER .cer文件和PEM .cer文件之间区别的唯一方法是在文本编辑器中打开它并查找BEGIN / END语句。所有类型的证书和私钥都可以用DER格式编码。DER通常与Java平台一起使用。SSL转换器只能将证书转换为DER格式。如果您需要将私钥转换为DER,请使用此页面上的OpenSSL命令。

PKCS#7 / P7B格式
PKCS#7或P7B格式通常以Base64 ASCII格式存储,文件扩展名为.p7b或.p7c。P7B证书包含“----- BEGIN PKCS7 -----”和“----- END PKCS7 -----”语句。P7B文件仅包含证书和链证书,而不包含私钥。多个平台支持P7B文件,包括Microsoft Windows和Java Tomcat。

PKCS#12 / PFX格式
PKCS#12或PFX格式是二进制格式,用于将服务器证书,任何中间证书和私钥存储在一个可加密文件中。PFX文件通常具有扩展名,例如.pfx和.p12。PFX文件通常在Windows计算机上用于导入和导出证书和私钥。

将PFX文件转换为PEM格式时,OpenSSL会将所有证书和私钥放入一个文件中。您需要在文本编辑器中打开该文件,并将每个证书和私钥(包括BEGIN / END语句)复制到其各自的文本文件中,并将它们分别保存为certificate.cer,CACert.cer和privateKey.key。

posted @ 2020-06-03 11:53  安培昌浩  阅读(3267)  评论(0编辑  收藏