Apache TomcatがTLS v1.2プロトコルをサポートしているかどうかを知りたい。私はこれについて書類を見つけられませんでした!ありがとう!TomcatはTLS v1.2をサポートしていますか?
答えて
TLSバージョン1.2は、JSSE実装のOracle JDKバージョン7でサポートされています。 TomcatはJSSEを基礎となるSSLライブラリとして使用するため、JDKバージョン1.7以降でサポートされる必要があります。また、有効なSSL暗号スイートをTomcatでチェックしてください。
Apacheをプロキシとして使用している場合は、Apacheと基本となるOpenSSLのドキュメントを参照してください。
いくつかのリンク:
http://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html(Java SEの7のセキュリティ強化)
http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html私もTLSv1.1に、以下に述べたようにsslProtocolをアップグレードするために探していましたJava6とJava7のリンク
Java6 http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html のSSLContextはJava6のではサポートJava7 http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html
はSSL、TLSv1のとJava7 SSL、TLSv1が、TLSv1.1とTLSv1.2でサポートされています。
tomcatでTLSv1.1またはTLSv1.2を有効にするには、Java7にアップグレードし、tomcatのserver.xmlにあるConnectorのsslProtocolを変更してください。
他の人が述べたように、TomcatはJDK 7+のJSSE経由でTLSv1.2をサポートしています。
Tomcatネイティブ(APR)で使用する場合、TomcatはTLSv1.1またはTLSv1.2をサポートしません。 https://issues.apache.org/bugzilla/show_bug.cgi?id=53952を参照してください。
更新:TLSv1.2は最終的にTomcat Native 1.1.32とTomcat 8.0.15/7.0.57でサポートされるようです。
私は、TLSv1.1またはSSLv3などの以前のSSLプロトコルにフォールバックするのではなく、TLSv1.2のみを厳密に使用できるようにするための同様の使用例を持っています。 TomcatがTLSv1.2をサポートするようにする方法は次のとおりです。
私はC:\ apache-tomcat-7.0.64-64bitとC:\ Java64 \ jdk1.8.0_60を使用しています。
この指示に続いて:https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html。 Tomcatは比較的簡単にSSLサポートをセットアップできます。
多くの参考文献から、私は多くの組み合わせをテストしました。最後に、TLSv1.2のみを受け入れるようにTomcat 7を強制する1が見つかりました。
1)Cで:タッチするのに必要な2箇所\のApache-Tomcatの-7.0.64-64bit \ confに\のserver.xml
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="ssl/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="SSL" sslEnabledProtocols="TLSv1.2" />
いるkeystoreFile =局所自己署名トラストストア
org.apache.coyote.http11.Http11Protocol = JSSE BIOの実装です。
org.apache.coyote.http11.Http11AprProtocolはopensslを使用しているため使用しません。基礎となるopensslは、以前のSSLプロトコルをサポートするために後退します。
2)Tomcatを起動するときは、以下の環境パラメータを有効にしてください。制限が必要とされる
set JAVA_HOME=C:\Java64\jdk1.8.0_60
set PATH=%PATH%;C:\Java64\jdk1.8.0_60\bin
set CATALINA_HOME=C:\apache-tomcat-7.0.64-64bit
set JAVA_OPTS=-Djdk.tls.client.protocols="TLSv1.2" -Dsun.security.ssl.allowUnsafeRenegotiation=false -Dhttps.protocols="TLSv1.2"
JAVA_OPTS、(Java8によって供給されて)それ以外の場合はTomcatは以前のSSLプロトコルをサポートするためにフォールバックします。
は、Tomcat Cを起動:\ apacheの-tomcatに-7.0.64-64bit \ビンの\ startup.batを
我々はJAVA_OPTSは、Tomcatの起動ログに表示され見ることができます。
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.client.protocols=TLSv1.2
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dsun.security.ssl.allowUnsafeRenegotiation=false
Oct 16, 2015 4:10:17 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dhttps.protocols=TLSv1.2
次に、opensslコマンドを使用してセットアップを検証できます。最初にlocalhost:8443をTLSv1.1プロトコルで接続します。 Tomcatはサーバー証明書で返信を拒否します。
C:\OpenSSL-Win32\bin>openssl s_client -connect localhost:8443 -tls1_1
Loading 'screen' into random state - done
CONNECTED(000001C0)
5372:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:.\ssl\s3_pkt.c:362:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 0 bytes
接続をlocalhost:8443をTLSv1.2プロトコルで、Tomcatは証明書でのServerHelloを返信:
C:\OpenSSL-Win32\bin>openssl s_client -connect localhost:8443 -tls1_2
Loading 'screen' into random state - done
CONNECTED(000001C0)
depth=1 C = US, ST = Washington, L = Seattle, O = getaCert - www.getacert.com
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
0 s:/C=SG/ST=SG/L=Singapore/O=Xxxx/OU=Development/CN=Myself
i:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
1 s:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
i:/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
---
Server certificate
-----BEGIN CERTIFICATE-----
(ignored)
-----END CERTIFICATE-----
subject=/C=SG/ST=SG/L=Singapore/O=Xxxx/OU=Development/CN=Myself
issuer=/C=US/ST=Washington/L=Seattle/O=getaCert - www.getacert.com
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2367 bytes and written 443 bytes
これはTomcatが今厳密にのみTLSv1.2要求に応えることを証明しています。
- 1. RCurlのTLS v1.1/TLS v1.2のサポート
- 2. Webview AndroidでのTLS v1.2のサポート
- 3. TLS v1.1vs TLS v1.2のセッション再開の違いは何ですか?
- 4. grpcでTLSをサポートしています。
- 5. PonyはGmail/SSL対応のTLSをサポートしていますか?
- 6. .NETはTLS-PSKをサポートしていますか?
- 7. iOSはTLS圧縮をサポートしていますか?
- 8. Apache CXFはTLS 1.2をサポートしていますか?
- 9. TLS v1.2でRabbitMQ .NETクライアントが動作しない
- 10. Windows XP用Openssl TLS V1.2を構築するには?
- 11. freeradiusはPEAP V0 TLSメソッドをサポートしています
- 12. Tomcat 7はJava 8をサポートしていますか?
- 13. Android 5.0以降はTLS v1.0をサポートしていますか?私のアプリで
- 14. SSL/TLSのバージョンがOS Xをサポートしているインフォグラフィックはありますか?
- 15. Kubernetes secretRefKeyはV1.2でサポートされていません原子ホストRHEL?
- 16. アンドロイドスタジオアプリケーションでTLS V1.1とV1.2を実装するにはどうすればいいですか?
- 17. BlackBerryでサポートされているTLSのバージョンは何ですか?
- 18. Wildfly 10スタンドアロンモードでTLS v1.2を有効にするにはどうすればよいですか?
- 19. SQL Server用のMicrosoft OLE DBプロバイダはTLS 1.2をサポートしています
- 20. TLSをサポートするPerl IMAPモジュールはありますか?
- 21. Netty SSL/TLS/HTTPSサポート
- 22. Tomcat Bayeuxサポート/ Tomcatモジュール
- 23. SSL/TLSサポート用のコアPerlモジュールはありますか?
- 24. openwrtのlibstropheをコンパイルしてTLSをサポートする
- 25. KaaのSSL/TLSサポートがESP8266
- 26. C#でのGRPCのTLSサポート
- 27. TomcatがServlet 3.0をサポートしているかどうかを知る方法は?
- 28. iOSでサポートされているSSL/TLSのバージョンと暗号は何ですか?
- 29. 複数のTLSプロトコルをサポートするHttpClient
- 30. Tomcat TLSの脆弱性Sweet32 Birthday attack
TomcatはTLSをまったくサポートしていません。これは、Java(JSSE経由)またはそれをサポートするOpenSSLです。サポートするTLSのバージョンは、バージョンによって異なります。あなたの質問は不調です。 – EJP