LoginSignup
8
6

More than 5 years have passed since last update.

Java 6 での tls1.2 を使った HTTPS 接続

Last updated at Posted at 2018-05-11

環境

  • Java 6 (古い…)
  • TLS 1.2

TLS1.2

脆弱性が確認されていない暗号化通信プロトコル

HTTPS通信の際にも使用される。
SSL3.0, TLS1.0, TLS1.1 は脆弱性が見つかってしまった。
HTTPS通信では使用するプロトコルを限定できるので、相手側がTLS1.2 に限定した場合はこちらも対応しなければならない

Java 6

無償版ではバージョンアップがされていないので非対応…

試行錯誤

ググったら stackoverflow で似たような事をやろうとしている記事を発見。
自分なりに整理して github に載せました。(要bouncycastle)

TLSSocketFactory

  • シンプル形式

    HttpsURLConnection.setDefaultSSLSocketFactory(new TLSSocketFactory());

  • 自己証明書対応

    HttpsURLConnection.setDefaultSSLSocketFactory(new TLSSocketFactory(true));

  • 自己証明書+ソケットタイムアウト設定

    HttpsURLConnection.setDefaultSSLSocketFactory(new TLSSocketFactory(true, 60000));

HttpsURLConnection を使った通信が TLS1.2 に対応可能になります。
古いプログラムの対応等で使っていただければ嬉しいです。

8
6
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6