TomcatでJDK7アプリを実行していて、次の環境設定がある。
-Dhttps.protocols=TLSv1.1,TLSv1.2
上記の設定により、API呼び出しなどを実行しながらHTTPS経由で接続するときにTLS 1.0を使用しないことが保証されます。
また、org.springframework.mail.javamail .JavaMailSenderImplクラスを使用して、送信SMTPメールを送信し、次の小道具を使用します。
mail.smtp.auth=false;mail.smtp.socketFactory.port=2525;mail.smtp.socketFactory.fallback=true;mail.smtp.starttls.enable=true
問題は、SMTPメールサーバーへの接続がTLS1.2にアップグレードされたときに失敗することです。
javax.net.ssl.SSLHandshakeException:ハンドシェイク中にリモートホストが接続を閉じました
TLS1.2プロトコルを強制する設定またはコード変更はありますか?
私はいくつかの検索を行いましたが、これらの環境設定はアプレットとWebクライアント専用であり、サーバー側のアプリ用ではないようです
-Ddeployment.security.SSLv2Hello=false -Ddeployment.security.SSLv3=false -Ddeployment.security.TLSv1=false
これは、次に見ている人のための修正です:
mail.smtp.starttls.enable = true; mail.smtp.ssl.protocols = TLSv1.2;