Httpd

SHA-2 簽名的 SSL 證書在 CentOS 5.X 上啟動時使 apache 崩潰

  • October 7, 2014

為了準備在訪問帶有 SHA1 簽名證書的 SSL 站點時將開始出現在瀏覽器中的警告,我想獲取我已升級的所有證書。

我的一些基礎設施執行在基於“舊版”CentOS 5.X 的伺服器上。在這些伺服器上,當我安裝新的密鑰和證書時,apache 在啟動時就會當機。error_log 中沒有任何用處。

現在,DigiCert 有一個兼容性頁面,上面寫著對於 apache,需要以下版本。

httpd 2.0.63+ w/ OpenSSL 0.9.8o+

在 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 反向移植,並且看起來好像 SHA256 相關的更改是在 RHEL/CentOS 反向移植之一中送出的。

我在 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 pacakge 中,我在更改日誌中看到了這個…

rpm -q --changelog openssl 
* Wed Mar 09 2011 Tomas Mraz <t----z@redhat.com> 0.9.8e-18
- add SHA-2 hashes in SSL_library_init() (#676384)

所以,對我來說,似乎我應該擁有正確版本的 httpd 和 openssl(帶有反向移植修復)來處理 SHA-2 簽名證書。

所以我的問題。我錯過了什麼嗎?在使用此證書啟動時,是否還有其他一些 apache 錯誤配置可能導致崩潰?

如果我必須下載更新版本的 openssl 0.9.8X 並且不使用 yum,我可以這樣做,但如果可能的話我想避免這種情況。

回答我自己的問題…

是的,CentOS 5 確實支持 SHA256 簽名證書。乾淨的 VM 工作正常,一定是 apache 配置問題。

error_log 中沒有任何用處…

仔細查看您的ssl_error_log ,由於 error_log 中的 ssl 內容,apache 停止沒有任何用處。預設情況下 apache 使用 ssl_error_log…

我懷疑 :) 你會發現 apache 配置有問題。

引用自:https://serverfault.com/questions/633410