這個問題在這里已經有了答案: 僅在 apache-tomcat-9 和 Java 8 中啟用 TLS 1.2 (3 個回答) 19 天前關閉。
我是 tomcat 的新手。我已經看到很多關于在 tomcat 中更改 tls 版本的鏈接。他們都做一件共同的事情(即)在下面的連接器(在 server.xml 中)配置 sslProtocol 欄位:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLSv1.2" />
但是,我已將這條線多次更改為不同的版本。但是每當我使用 openssl 進行測驗時,服務器只能在 TLSv1.2 上運行,而不能在任何其他版本上運行。連接器中的欄位 sslProtol 似乎對更改 TLS 版本沒有影響。除了更改連接器中的版本之外,還有什么需要配置的嗎?我已經在整個網路和 stackoverflow 上搜索了很多答案。一切似乎都在改變連接器。
除了配置連接器以更改 ssl/tls 版本(例如添加任何外部庫或配置 jdk 或類似的東西)之外,還有什么其他的。
uj5u.com熱心網友回復:
Tomcat 本身沒有實作 SSL/TLS。相反,它依賴于外部的東西。
如果您使用 APR 連接器,它會在您的平臺上安裝的 OpenSSL 引擎上使用。
如果您使用 BIO 或 NIO 連接器,它會使用您的 JVM 配置為使用的 JSSE 提供程式。這可以是作為 Java SE 一部分分發的 JSSE 提供程式,也可以是 BounceCastle 等第 3 方提供程式。
所以...如果您無法獲得“sslProtocol”引數來實際選擇您想要的內容,請檢查您的 JVM、JSSE 提供程式或 OpenSSL 實作是否實際支持您嘗試使用的版本。
請注意,如果您使用的“堆疊”不支持(例如)TLSv1.3,則在Connector配置中指定它不會神奇地使其作業。SSL 實作代碼必須支持它。
參考:
- 如何查找 Java 中使用的 SSL/TLS 版本
請注意,上面說的是舊版本的 Java 支持哪些版本的 SSL / TLS。它還提供了一些提示,用于確定實際使用的版本。
如果你明確告訴我們...
- 您嘗試使用的 SSL/TLS 版本,
Connector您使用的是什么 Tomcat類,以及- 您使用的相應軟體的版本是什么...
那么我也許可以給你更具體的建議。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/316746.html
