問題タブ [app-transport-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
117 参照

ios - iOS 9.2 が [[CJSONDeserializer deserializer] deserializeAsDictionary でクラッシュする:

iOS 8.4 および 9.2 で次のコードを実行すると、jsonData808 バイトの NSData オブジェクトが取得されます。

ただし、この NSData オブジェクトを CJSONDeserializer にフィードすると、iOS 9.2 ではクラッシュしますが、iOS 8.4 では NSDictionary が発生します。例えば

注: クラッシュの行で、NSData オブジェクトが変更されているようです。たとえば、次のようになります。

inDataiOS 8.4 では 808 バイトですが、iOS 9.2 では次のようになります。

NSData

これは、アドレスが奇数であるため、オブジェクトが正しくない (おそらく上書きされた?) ことを意味すると思います。

App Transport Security のオーバーヘッドなしで問題を把握しようとしているので、次のように NSAppTransportSecurity を設定しています。

また、CJSONDeserializer を最新バージョンに更新しました。

問題の可能性があるその他の提案。

0 投票する
4 に答える
14064 参照

ios - サーバーが Apple の ATS / TLS 1.2 要件に準拠していることを確認するための最良の方法

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

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

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

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

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

0 投票する
1 に答える
591 参照

ios - App Transport Security がクリアテキストの HTTP XCode 7.1 をブロックしました

XCode 7.1 のコードでアプリ トランスポート セキュリティ ブロッカーを確認しました。stackoverflow から true に設定するオプションをいくつか試しNSAllowsArbitraryLoadsましたが、それでも機能しません。これ以上の提案は本当に役に立ちます。

ログ

0 投票する
1 に答える
592 参照

ios - ビルド構成に基づいて App Transport Security 設定をどのように変更しますか?

複数のビルド構成を持つアプリがあります。選択した構成がデバッグの場合、ファイルのNSallowArbitraryLoadsキーInfo.plistを YES に設定し、それ以外の場合は NO に設定します。

これを達成するにはどうすればよいですか?

0 投票する
1 に答える
177 参照

ios - App Transport Security の問題の取得

ねえ、私はこのエラーが発生しています:

安全ではないため、App Transport Security はクリアテキスト HTTP (http://) リソースの読み込みをブロックしました。一時的な例外は、アプリの Info.plist ファイルを介して構成できます。

Web から画像を取得しようとするとき、これは iOS9 App Transport Security を使用する必要があることを知っていますが、問題は、私の plist でAllow Arbitrary Loadstrue に設定されていることです。

それ以上に、この問題の解決策をこれ以上見つけることができません。

誰にもアイデアはありますか?

ここに画像の説明を入力

0 投票する
0 に答える
715 参照

ios - iOS 9 ATS が AllowInsecureHTTPLoads および Allow Arbitrary Loads でも失敗する

これまでに見たソリューションを試してみましたが、何も機能しませんでした。

私の理解では、info.plist ファイルの App Transport Security Settings に Allow Arbitrary Loads = YES を設定すると、すべての ATS がオフになります。

それでも、私は得るNSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)

サーバーを次のようにチェックすると:

すべてのテストに合格!

TLSTool を使用してサーバーの設定を確認しようとすると、次のようになります。

実行時に次のことを実行しようとする単純な iOS アプリを作成しました...

App Transport Security Settings を Allow Arbitrary Loads = YES に設定しています

また、NSURLConnection のデバッグもオンにしました。それは私に次の情報を与えました:

失敗していることはわかりますが、失敗しないようにするために何ができるかわかりません!

すべての ATS をオフにすると、何かが通過するのではないでしょうか?

これはすべて、Go Daddy 証明書が適切な暗号を使用していないことが原因ですか?

Mac のコマンドライン経由ですべての TLS チェックがパスするのに、非常にシンプルなアプリ経由で実行しようとすると接続できないのはなぜですか。

これが長い投稿であることは承知していますが、この問題を回避するためにできる限りのことを試しましたが、何もうまくいきませんでした。ヘルプ。

アップデート:

任意の読み込みを許可し、NSURLSessionDelegate に以下を追加すると、Swift の例を機能させることができます

ただし、既存のサーバーで ATS を適切に動作させたいため、このソリューションは理想的とは言えません。

ATS が適切に動作するように、サーバー側で実際に問題を修正する手順を知っている人はいますか?