因此,我一直在這個問題上抨擊我的頭在過去的幾個小時。如何啓用TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384密碼與Apache 2.4和mod_ssl
問題是,我有一個iOS應用程序加載了一些網頁內容。 試圖做好自己的工作,但發現錯誤「An SSL Error has occurred and has an secure connection to the server can not be made」。
我跑的URL通過SSLLabs,看到我已經在握手仿真列出以下錯誤:
Apple ATS 9/iOS 9 "Server sent fatal alert: handshake_failure"
不知道這件事了,這似乎是關係到不能夠提供密碼到應用程序的WebView,它可以保證正向保密。
列出了Apple ATS 9/iOS 9
的可接受密碼列表here。
我匹配該列表的openssl ciphers
的輸出,我提供here
首先,從OpenSSL的列表中的密碼和加密法從SSLLabs看起來是兩種不同格式/命名約定。但除此之外,它看起來像我不支持任何ECDHE_ECDSA[...]
,除非我只是讀錯了。
在缺乏事情好做,我剛剛用它和我的主機的SSL配置瞎搞現在在他們這些行:
SSLProtocol -ALL +TLSv1.2
SSLCipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:ECDHE-RSA-AES256-GCM-
SHA384:HIGH:!RC4:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
SSLHonorCipherOrder On
這似乎什麼都不做。
當我查看可用的TLSv1.2密碼SSLLabs報告時,它完全停止了對我的任何意義。我已經把這個清單her。在我看來,這與我在SSLCipherSuite
中定義的內容完全不符 - 但將該列表與ATS支持的密碼列表進行比較,似乎很清楚爲什麼它會抱怨。
我承認,我在這裏有一點點 - 我想了解發生了什麼,但我真的不知道從哪裏開始。
- 我是否安裝了正確的密碼?
- 如果沒有,我在哪裏可以得到它們(我目前在openssl 1.0.2k和Apache 2.4.25上)
- 如果我確實有正確的密碼,openssl列表如何與SSLLabs中的列表對應?
- 如何在服務器上啓用正確的密碼?
非常感謝您的時間。
如果這實際上是SSLLabs檢測到的密碼的完整列表,那麼您可能在apache配置中的某個位置有另一個SSLCipherSuite定義。請注意,對於不同的VirtualHost,不可能有不同的SSLCipherSuite,因此請檢查所有配置文件。 –
您觀察到的密碼名稱錯誤(https://www.openssl.org/docs/man1.0.2/apps/ciphers.html同時列出了兩種格式)。我不知道爲什麼你不會有任何ECDHE密碼,但試試這個:https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=apache-2.4.18&openssl = 1.0.2k&hsts = no&profile = intermediate –
@SteffenUllrich我確定沒有其他配置。那麼,至少我可以確定。我正在測試只有一個VirtualHost的設置。 –