ATS有効の状態でオレオレ証明書を使って通信する
Sep 6, 2016 · iosssl
ATS
が有効の場合、SSL/TLS通信でないと通信自体ができない
が、開発時はローカル環境だったりドメイン自体がなかったりで正式なSSL証明書を使えないことが多い・・・ かといって、ATSをOFFにして開発するのも・・・
って時に自己署名証明書(オレオレ証明書)を使ってしのぐ方法
流れとしては、
- オレオレ証明書を作ってサーバへ設定
- iOS端末へオレオレ証明書をインストール
となる
最初の証明書の作成については、Docker構築メモを参照
ポイントとなるオレオレ証明書のインストール部分については以下の通り
!注意!
検証はiOS9でのみiOS10は未検証
(ローカル環境でのATSの挙動が変わりそう!?)
(2016/12/10追記) iOS9とiOS10両方で動作を確認済
Apple Configurator
は2.2
の操作方法
また、セキュリティ面で危険なのでくれぐれもオレオレ証明書の容量・用法には気をつけること
手順
前提:サーバへのオレオレ証明書は設定済みの状態
準備
- オレオレ証明書
server.crt
を作成しておく Apple Configurator2
をインストールしておく
構成プロファイルの作成
Apple Configurator
のメニューのファイル
から新規プロファイル
を選択- 左側の
証明書
の項目を選択し構成
ボタンを押下 - ファイル選択画面でオレオレ証明書(
server.crt
)を選択して開く - メニューの
ファイル
から保存
を選択し、適当な名前をつけて保存
端末へインストール
以下のどちらかの方法でインストールする
Apple Configurator経由
Macと端末の有線接続が必要
Apple Configurator
に接続中の端末が表示されるので選択- ツールバーの
追加
ボタンからプロファイル
を選択 - 作成した構成プロファイルを選択
- iOS端末の画面がインストール画面に変わるので、
インストール
x3
(プロファイルのインストールはConfiguratorから操作不可)
ネットワーク経由
- 適当なサーバに構成プロファイルを置いてダウンロードできるようにする
- iOS端末のSafariから該当のURLへアクセス
- インストール画面になるので
インストール
x3
なお、証明書だけをインストールしてもアプリからは接続できないので、
構成プロファイル
を作ってからインストールするのが大事!
参考リンク
- Appleのテクニカルノート:TLSのテスト用証明書の作成
開発環境
- OS X 10.11.5 / 10.12.1
- Xcode 7.3.1 / 8.1
- iOS 9.3.4 / 10.1.1
- iPhone 6+ / 7+