为了应对访问带有 SHA1 签名证书的 SSL 站点时浏览器中开始出现的警告,我希望获取所有已升级的证书。
我的部分基础设施运行在基于“旧版” CentOS 5.X 的服务器上。在这些服务器上,当我安装新密钥和证书时,apache 在启动时就死机了。error_log 中没有任何有用的信息。
现在,DigiCert 有一个兼容性页面,上面说对于 apache,需要以下版本。
带有 OpenSSL 0.9.8o+ 的 httpd 2.0.63+
在 CentOS 5.X 服务器上,这些软件包已完全更新,我看到了这一点...
httpd.x86_64 2.2.3-91.el5.centos
openssl.x86_64 0.9.8e-27.el5_10.4
因此我立即想到 0.9.8e 可能存在问题。但我做了一些调查,查看上游 openssl 项目 0.9.8o 中引入的与 SHA 相关的更改是否已由 RH 反向移植,结果看起来确实在 RHEL/CentOS 反向移植之一中提交了与 SHA256 相关的更改。
我在 git repo 中查找了 openssl,发现 0.9.8o 中似乎有与 SHA 2 相关的更改
Commit Hash: bc06baca76534abc2048a3ac4d109b144da4b706
Add SHA2 algorithms to SSL_library_init(). Although these aren't used
directly by SSL/TLS SHA2 certificates are becoming more common and
applications that only call SSL_library_init() and not
OpenSSL_add_all_alrgorithms() will fail when verifying certificates.
在 CentOS/RHEL openssl 包中,我在变更日志中看到了这一点……
rpm -q --changelog openssl
* Wed Mar 09 2011 Tomas Mraz <[email protected]> 0.9.8e-18
- add SHA-2 hashes in SSL_library_init() (#676384)
因此,对我来说,似乎我应该拥有适当版本的 httpd 和 openssl (带有反向移植修复) 来处理 SHA-2 签名的证书。
所以我的问题是。我遗漏了什么吗?在使用此证书启动时,是否存在其他可能导致崩溃的 Apache 配置错误?
如果我必须下载较新版本的 openssl 0.9.8X 并脱离 yum,我可以这样做,但如果可能的话,我希望避免这样做。
答案1
回答我自己的问题...
是的,CentOS 5 确实支持 SHA256 签名证书。干净的 VM 运行正常,肯定是 Apache 配置问题。
error_log 中没有任何有用的信息......
仔细看看你的ssl_错误日志 error_log 中没有任何关于 apache 因 ssl 问题而停止的有用信息。默认情况下,apache 使用 ssl_error_log...
我怀疑:) 您会发现 apache 配置存在一些问题。