【JavaMail TLS1.0/1.1対策】JavaMail1.4を1.6にアップデートしてTLS1.2に対応しよう
目次
どうもこんにちは。三宮です。
少し前のことですが、AWSより下記の記事が上がりました。
TLS 1.2 がすべての AWS API エンドポイントへの接続に必要な最小バージョンになります
これを受けて、古いJavaで動いている機能を調査する機会があったのでメモを残しておきます。
JavaMail1.4系はTLS1.0/1.1しか対応してない
元々あるシステムを調査していて、警告があったのでTCPダンプを取って調査をしているところ、JavaMailでのメール送信がTLS1.0 or TLS1.1を使用しているようでした。見てみると、JavaMail1.4系はTLS1.0/1.1しか対応していないとのこと。
参考サイト:Update JavaMail library from 1.4 to 1.6 in order to support TLS 1.2
記事の通り、JavaMailを利用する場合のモジュールは1.6系を使うようにしました。
JavaMail1.6を適応する
参考サイトからモジュールをダウンロードして利用するか、Mavenを利用している方は下記を利用すればOKです。
com.sun.mail javax.mail 1.6.2
バージョンはお使いになるシステムに合わせてご確認ください。
エラー内容
ちなみに、現在Amazon SESでJavaMail1.4系を使用してメール送信を実施すると下記エラーが発生し、メール送信に失敗するようです。
554 Access denied: Amazon SES no longer supports TLS 1.0 and TLS 1.1 connections. You must update your client to use TLS version 1.2 or above. To learn more and to update your client, see https://go.aws/3AUlVSb. For further assistance, contact AWS support
最後に
AWSに限らず全体的にTLSのバージョンアップをしておいた方が間違いなさそうですね。
それではまた。
《関連記事》