AFNetworking2.5.xまでの自己証明書でのSSL通信
これまでAFNetworking2.5.xを使ってきた筆者ですが、開発中は当然のことながら自己証明書を利用することがあります。
まずはこれまでの書き方をAFHTTPSessionManager
を例に確認してみましょう。
1 2 3 4 5 6 |
|
そうです。
自己証明書を許可するのに、manager.securityPolicy.allowInvalidCertificates = YES;
と書いていました。
しかし、2015/08/18に 2.6.0 が登場した途端、ネット上で大騒ぎに…笑。
2.6.0のRelease Noteを見てみると、 Full Certificate Chain Validation has been removed from AFSecurityPolicy. なんて一言が…。
いろいろと困ったのですが、筆者の場合は次のやり方でうまくいきました。
AFNetworking2.6.0での自己証明書 SSL通信
はい。2.6.0では下記のように書きました。
1 2 3 4 5 6 7 |
|
何が変わったかお気づきでしょうか?
そうです。
manager.securityPolicy.validatesDomainName = NO;
を追加したのです。
まとめ
iOS9からATS設定が追加されたこともあり、HTTPSが推奨されています。
しかも、正式な証明書が開発・商用関係なく使われていくことでしょう。
なので、こういった更新は納得感ありますが、なかなか開発者には辛いところもありますよね。
とは言え、AppleやGoogleが決めていくことにはついていった方が良いよな〜といったところで本日はここまで。