前回のte2ji様の回答でリンク先にあったテストツールの結果はどうだったのでしょうか?とりあえず、このテストツールに自分のホスト名をいれてみて、その結果をここに記載されている条件と照合して、全部満足していたのでしょうか?
具体的に、Nginxの何をどのように調整すれば、iOSのATS要件を満足させることができるでしょうか?
上記サイトからのコピペですが1個ずつチェックしてみましょう。
TLSのバージョン
TLS 1.2以上
テストツールの結果の Configuration の protocol のところで TLS 1.2 のみが yes になっていて、それ以外が no になっていればOKです。
暗号スイート
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
テストツールの結果の Configuration の Cipher Suites のところで、上記のアルゴリズムだけが表示されていれば、OKです。上記以外のアルゴリズムが表示されていると、そのアルゴリズムも使えるということになるので、NG だと思います。
これらの2つがNGの場合は、nginx のパラメータを調整すれば解消できると思います。具体的には、Webサーバー nginx における SSL証明書設定の安全性向上 ~SSL Server Test で A+ 判定を目指して~などを参考に設定されてはいかがでしょうか。
あとは、サーバ証明書の方の適合条件になります。
サーバ証明書
OSに組み込まれている認証局によって発行された証明書
信頼されたルートCAによって発行されて、ユーザやシステム管理者によってインストールされた証明書
テストツールの結果のCertificate の Certification Paths を展開(右肩の+ボタンを押して)して、すべてのパスで In trust store となっていればOKだと思います。
サーバ証明書の署名する際のキー
2048bit以上のRSAキー
256bit以上の楕円曲線暗号キー(ECCキー)
テストツールの結果のCertificate の Keyが上記のいずれかであればOKです。たとえば、RSA 2048 bits となっていればOKです。
サーバ証明書のハッシュアルゴリズム
256bit以上のダイジェスト長であるSHA-2(つまり、SHA-256以上)
テストツールの結果のCertificate の Signature algorithm が上記の条件を満たしていればOKです。たとえば、SHA256withRSA となっていればOKです。ただし、ルート証明書も SHA2 でないとだめだとすると、 かなり厳しいです。
おそらく、ルート証明書のSHA1は許容されると思います。そうでないと、ほとんどのサーバ証明書ベンダが合格しないことになってしまいそうです。
サーバ証明書がこれらの条件に合致していない場合は、サーバ証明書を買い直すしかありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/05 00:07