Ssl

警告:SSL 引擎不支持指定的任何密碼

  • June 4, 2015

我有一個正在執行的 Web 服務,Apache Tomcat 7其中包含以下連接器元素server.xml

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" 
SSLEnabled="true" 
maxThreads="150"
scheme="https" 
secure="true" 
clientAuth="false"  
keystoreFile="C:\Java\myhost.keystore" 
keystorePass="importkey" 
sslProtocol="TLS"
/>

這多年來一直執行良好,但現在Logjam出現了新的安全威脅,我正在嘗試使用部署 Diffie-Hellman 的指南獲取 TLS說明來保護我的 Web 服務。

<connector>因此,我在元素中添加了以下行:

密碼=“ECDHE-RSA-AES128-GCM-SHA256、ECDHE-ECDSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-ECDSA-AES256-GCM-SHA38、GCM-SHA38-SHA256、DHE -DSS-AES128-GCM-SHA256:kEDH + AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-EC -RSA-AES256-SHA384:ECDHE-ECDSA -AES256-SHA384:ECDHE-RSA-AES256-SHA、ECDHE-ECDSA-AES256-SHA、DHE-RSA-AES128-SHA256、DHE-RSA-AES -AES128-SHA256、DHE-RSA-AES256-SHA256、DHE-DSS -AES256-SHA、DHE-RSA-AES256-SHA、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-A25、AES128-A25-SHA、AES256-SHA、AES、CAMELLIA、DES-CBC3-SHA"

Tomcat 重新啟動正常,但我不再能夠連接到我的 Web 服務。

檢查日誌後,我注意到這一行:

警告:SSL 引擎不支持指定的密碼:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-ECDSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-EC GCM-SHA384 , DHE-RSA-AES128-GCM-SHA256, DHE-DSS-AES128-GCM-SHA256: kEDH + AESGCM: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA-AES128-AES128-S SHA: ECDHE-ECDSA-AES128- SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA、ECDHE-ECDSA-AES256-SHA、D-25 DHE-RSA-AES128-SHA、DHE-DSS-AES128 -SHA256、DHE-RSA-AES256-SHA256、DHE-DSS-AES256-SHA、DHE-RSA-AES256-SHA、AES128-GCM-SHA256、AES SHA384、AES128-SHA256、AES256-SHA256、AES128-SHA、AES256- SHA、AES、CAMELLIA、DES-CBC3-SHA

我在試圖讓 Tomcat 只使用這些密碼時缺少什麼?

如何使 SSL 引擎支持它們?

here所述,您可能必須ciphers像這樣設置列表:

sslProtocols = "TLS"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_25‌​6_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"

第一部分,ECDHE,指定應該使用什麼密鑰交換算法。

$$ … $$ 接下來是身份驗證算法 RSA。

$$ … $$ 批量密碼 AES128-GCM 是主要的加密算法,用於加密所有流量。

$$ … $$ 最後一部分 SHA256 標識正在使用的消息摘要,用於驗證消息的真實性。

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