18

そのため、Apple は iOS 9 以降の URL に対して Forward Secrecy を備えた TLS 1.2 を要求しています。アプリとは別に、サーバーがすべての要件を満たしていることを確認する最善の方法は何ですか?

nscurl は完全に機能しません。または、使用方法がわかりません。サーバーが準拠していることはわかっているのに、CFNetwork SSLHandshake が失敗したという出力が繰り返し表示されます。

TLSTool はある程度機能しますが、Forward Secrecy (FS) 暗号の使用を強制することはできません。

openssl はクライアント モードに特定の暗号を指定できますが、私のバージョンには FS 暗号がありません。openssl をアップグレードするにはどうすればよいですか?

最善の方法は何ですか?これまでのところ、ssllabs.com の analyze.html を調べなければなりませんでした。助言がありますか?

4

4 に答える 4

54

基本的nscurl --ats-diagnostics <url>に、サーバーへの接続の可能なすべてのバリエーションを試し、各テストの合格/不合格の結果を返すだけです。サーバーに合格するテストを見つけて、それに応じて ATS 構成を設定するだけです。

これは、ATS とサーバーのコンプライアンスの確認に関する優れた記事です。nscurlの例も含まれています。

于 2015-12-23T23:32:52.833 に答える
2

nscurl(macOS El Capitan 以降で利用可能) を使用すると、スイッチ--ats-tls-versionを使用して TLS 1.2 準拠を具体的にテストできます。たとえば、次のようになります。

nscurl --ats-diagnostics --ats-tls-version TLSv1.2 <url>

これは、Perfect Forward Secrecy のテストにもなります。PFS のテストを無効にする場合は、--ats-disable-pfsスイッチを使用します。

nscurl --ats-diagnostics --ats-tls-version TLSv1.2 --ats-disable-pfs <url>

于 2016-08-09T20:25:06.557 に答える
2

方法 1:

テストする URL が公開されている場合は、次のようなパブリック SSL テスト サービスを使用できます。

SSL サーバー テスト

URL を入力すると、「ハンドシェイク シミュレーション」というタイトルのセクションに「Apple ATS 9 / iOS 9」が一覧表示され、TLS 1.2 が正常にネゴシエートされたかどうか、およびどの接続暗号スイートが使用されたかが示されます。使用されている暗号スイートが技術的な ATS 要件の下にリストされており、TLS 1.2 が正常にネゴシエートされた場合、サーバーは ATS 用に適切に構成されています。

方法2:(これは他の人にも言及されていました)

OS X El Capitan を実行している Mac では、ターミナルで次のコマンドを実行します。

/usr/bin/nscurl --ats-diagnostics https://<url>

コマンドを実行した後、上部にある というラベルの付いたセクションを探しますATS Default Connection。の結果PASSは、サーバーが ATS 用に適切に構成されていることを示します。

方法 3:

パブリックにアクセスできない URLの場合は、 Wiresharkを使用して URL への通信を監視します。Wireshark フィルタを使用して、次の TLSv1.2 パケットのみを表示できます。

ssl.record.version == 0x0303

サーバーが TLS バージョン 1.2 用に構成されている場合、TLSv1.2 プロトコルを使用するパケットが表示されます。URL に着信するリクエストを監視しているときに Client Hello パケットしか表示されない場合は、モバイル デバイスと URL の間で TLSv1.2 がネゴシエートされていません。

ワイヤーシャーク_スクリーンショット

于 2016-09-29T20:48:08.100 に答える