大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

iPhoneアプリ『お散歩ミッション その?』とATS

株式会社クローバーフィールドの経営理念
著者:川上洋
公開日:2016/01/12
最終更新日:2018/06/14
カテゴリー:技術情報

お久しぶりです。三日坊主(ジジィ?)の川上です。

『お散歩ミッション』。。なかなか進みませんねぇ。。m(_ _)m

このところ、以前公開したMyアプリのswift2対応をちょこちょこしていました。

今後、Appstoreに出すアプリは、

『アプリ側もios9対応と前々から言われているipv6対応』

が必須になる模様。

昨年10月にswiftがswift1からswift2にVerUpされたのを機に、公開中のMyアプリをxcode7、iOS9でリビルドしてみた。。。。orz

仕様がキツクなったというか、変更された箇所が多くて、これが全然通らない。困ったもんです。

ワーニングやerrorをぼつぼつと退治しておりました。

どうにかグーグル先生聞きながら、なんとかビルドは通せました。

で、実行してみたら ATSで引っかかり落ちましたw。(;o;)

ATS(列車自動制御?と思ったアナタ、それがフツウです。)は、

「App Transport Security」のことで、iOS9とOS X 10.11から導入されるネットワークセキュリティ対策のことで、これが結構、キツイのです。

グーグル先生によりますと

『基本的には、アプリとサーバーの間のネットワーク接続をSSLにすることを推奨するというもので、デフォルトの設定では、SSLではないネットワーク接続が失敗となります。 (なお、ATSが適用されるのは、iOS9用にビルドした場合のみであり、iOS8以前用にビルドされたアプリをiOS9で実行してもATSは適用されません。)

SSL以外にも、下記のような細かい条件が指定されてます。

  • サーバーはTLS 1.2以上をサポートする必要がある
  • 暗号化は forward secrecy(対応する暗号化は上記資料を参照)に対応していなければいけない
  • サーバー証明書のFingerprintが、SHA256以上でないといけない。また2048bit以上のRSA鍵か256bit以上のECC鍵を用いている。
  • 適切なTLS証明書を使っている』

との事です。

簡単に言えば、「http://のWebページは https://にしなさいよ。http://のWebページへのコネクションは制限されまっせ」です。

とりあえず、Myアプリで参照しているWebページ(某銀行のホームページ)は「http://のWebページ」なので、ATSを無効にして実行すると、なんとか起動できました。でも、全機能のテストが不十分なので公開中アプリのUpdateは、まだまだです。

公開中のアプリは

(なお、ATSが適用されるのは、iOS9用にビルドした場合のみであり、iOS8以前用にビルドされたアプリをiOS9で実行してもATSは適用されません。)

なんで、そのまま放置してます。(my iphone6+( ios9.2)で稼働中の myアプリは、今の所、機嫌よく動いているので大丈夫でしょう。多分。 )

が、GA、ガ..

『お散歩ミッション』は、 ATSを無効(Appleさん非推奨!)にするわけにはいかんでしょうな。

でも、「ええい!皆の者、ATSを無効にすること、まかりならん」ってなったら、どうしましょうかね〜。

多分、『お散歩ミッション』が 出来上がる頃には、ATS関連の情勢も固まってることでしょう。

    上に戻る