ATS有効の状態でオレオレ証明書を使って通信する

ATSが有効の場合、SSL/TLS通信でないと通信自体ができない

が、開発時はローカル環境だったりドメイン自体がなかったりで正式なSSL証明書を使えないことが多い・・・ かといって、ATSをOFFにして開発するのも・・・

って時に自己署名証明書(オレオレ証明書)を使ってしのぐ方法

流れとしては、

  1. オレオレ証明書を作ってサーバへ設定
  2. iOS端末へオレオレ証明書をインストール

となる

最初の証明書の作成については、Docker構築メモを参照

ポイントとなるオレオレ証明書のインストール部分については以下の通り

!注意!

検証はiOS9でのみiOS10は未検証 (ローカル環境でのATSの挙動が変わりそう!?)

(2016/12/10追記) iOS9とiOS10両方で動作を確認済

Apple Configurator2.2の操作方法

また、セキュリティ面で危険なのでくれぐれもオレオレ証明書の容量・用法には気をつけること

手順

前提:サーバへのオレオレ証明書は設定済みの状態

準備

構成プロファイルの作成

  1. Apple Configuratorのメニューのファイルから新規プロファイルを選択
  2. 左側の証明書の項目を選択し構成ボタンを押下
  3. ファイル選択画面でオレオレ証明書(server.crt)を選択して開く
  4. メニューのファイルから保存を選択し、適当な名前をつけて保存

端末へインストール

以下のどちらかの方法でインストールする

Apple Configurator経由

Macと端末の有線接続が必要

  1. Apple Configuratorに接続中の端末が表示されるので選択
  2. ツールバーの追加ボタンからプロファイルを選択
  3. 作成した構成プロファイルを選択
  4. iOS端末の画面がインストール画面に変わるので、インストールx3
    (プロファイルのインストールはConfiguratorから操作不可)

ネットワーク経由

  1. 適当なサーバに構成プロファイルを置いてダウンロードできるようにする
  2. iOS端末のSafariから該当のURLへアクセス
  3. インストール画面になるのでインストールx3

なお、証明書だけをインストールしてもアプリからは接続できないので、 構成プロファイルを作ってからインストールするのが大事!

参考リンク

開発環境