Android4でTLS1.2対応をする時に一部のサーバにだけアクセスできない問題の解決

私の環境だけかもしれませんが、対象サーバの SSLProtocol の設定とSSLCipherSuite の設定が原因でした。
なぜこの設定でないと動かないのかは分かりませんが今後の備忘録として残します。

-------------------------------------------------
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
-------------------------------------------------

前提:
 Server :
  Linux
  Apatch Ruby on Rails API Server
 Android :
  AndroidStudio 3.0.1
  targetSDK26
  Android5未満でのTLSv1.2対応のために
   SSLSocketFactoryを継承したTLSSocketFactoryを作成
  通信用framework : fuel

-------------------------------------------------
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
-------------------------------------------------

変更内容:

 1. SSLProtocolの変更

   SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    ↓
  SSLProtocol all -SSLv2 -SSLv3

 2. SSLCipherSuiteの内容を以下の形に変更する。

  SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS




TLSSocketFactoryの設定不備かと思いきやサーバサイドの問題であったため、解決まで時間がかかった・・・。

この記事へのコメント