整个证书生命周期内,SSL 证书在后台运行,保护着敏感数据免受网络不法分子的侵害。但有时候,用户会遇到烦人的SSL证书错误,则需要立即修复。
大多数 SSL 问题都与服务器端相关,一般是证书配置错误或安装不正确。例如,缺少中间证书可能会导致网站中断。但是,在极少数情况下,根证书和中间证书过期会让您的网站无法通过 HTTPS 访问。
遗留的中间证书过期
不受信任的证书错误与本地安装的遗留中间证书有关,这些证书出于兼容性的考虑而存储在系统上。例如,2014年过期的“DigiCertHigh Assurance EV Root CA”中间证书,安装 SSL证书的时候就没有必要了。但是,此问题可能会影响本地缓存系统或安装了该中间证书的系统。下面我们为 Windows、Mac、Apache 和 Nginx 客户端提供快速修复的方法:
修复 Windows 上过期的中间证书
由于不再需要过期的遗留中间证书,所以删除即可解决问题。但是在删除中间证书之前,为避免出现一些问题,请备份现有配置。
- 单击任务栏上的 Windows 图标并搜索“mmc”来打开 Microsoft 管理控制台。
- 要删除证书,需要将证书“管理单元”添加到控制台。管理单元是控制台中的一个内部工具,用于管理不同的元素,包括 SSL 证书。具体路径:文件 -> 添加/删除管理单元。
- 在“可用的管理单元”中,找到”证书”,点击并添加。
- 在“证书管理单元”中选择”计算机账户”。然后,单击“下一步”继续。
- 在选择计算机窗口中,选择本地计算机(运行此控制台的计算机)。单击完成,然后单击确定关闭管理单元管理器。
- 在控制台的左侧栏中,就可以看到本地计算机上的证书列表。点击“第三方根证书颁发机构”,找到“DigiCert High Assurance EV Root CA”。
- 选中证书后,右键单击,选择”属性” ,然后在“常规”选项中的”证书目的”中,选择禁用此证书的所有目的,然后点击“应用” 。重启电脑就OK了。
修复 Mac 上过期的中间证书
Mac OS X 上的错误是由于登录钥匙串中本地安装的中间证书造成的。OS X 用户可以通过使用钥匙串访问其登录密钥库去删除该中间证书来解决此问题:
- 使用管理账户登录您的计算机。
- 转到应用程序中打开实用程序文件夹。
- 双击钥匙串访问图标,打开证书应用程序。
- 在钥匙串访问窗口中, 导航到查看- > 查看过期证书,并搜索您的过期证书。删除此证书并关闭钥匙串访问。
修复 Apache 和 Nginx 上过期的中间证书
Apache
编辑 SSLCertificateChainFile /path/to/DigiCertCA.crt命名用以仅包含一个证书。
Nginx
编辑 ssl_certificate /etc/ssl/your_domain_name.pem 命名用来仅包含服务器证书及其颁发的中间证书。
中间证书因其生命周期较长,出现过期的情况较少,当中间证书过期时,我们可以从系统中删除该证书。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。