在 CentOS 5.X 上启动时,SHA-2 签名的 SSL 证书会导致 Apache 崩溃

在 CentOS 5.X 上启动时,SHA-2 签名的 SSL 证书会导致 Apache 崩溃

为了应对访问带有 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 配置存在一些问题。

相关内容