0

クライアント証明書を必要とするSSO X509接続に接続すると、資格情報を提供して成功します。私は再びNSURLAuthenticationMethodClientCertificateとしてをAuthMethodを取得し、didReceiveChallengeデリゲートメソッドがヒットし 次回は、認証方法がNSURLAuthenticationMethodServerTrustであり、私は次の要求のためにこのAuthMethodのクライアント証明書のNSURLSession AuthChallengeが繰り返しスローされる

completionHandler(NSURLSessionAuthChallengeUseCredential,[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); 

ために、次のコードを持っています。だから、基本的にすべての要求のために、デリゲートメソッドを二回ヒットさ

、一度AuthMethodのNSURLAuthenticationMethodServerTrust

とNSURLAuthenticationMethodClientCertificate目と2回目などをAuthMethodと私は繰り返しリクエストごとにNSURLAuthenticationMethodClientCertificateなどをAuthMethodを取得する必要はありません。

この理由と回避方法は何ですか?それは、私はあなたがその問題を回避するために必要な三つのことを知ってるたび

答えて

0

を認証するために、パフォーマンスに影響を与えます。

  • リユースNSURLSessionできるだけ多くのセッションを。ソケットとTLSセッションキャッシュはセッション間で共有されないため、セッションを再利用しないと、すべての要求に対して完全な認証が行われます。
  • サーバが既存のセッションへの再接続を適切にサポートしていることを確認し、これを許可するように設定されていることを確認してください。
  • できるだけWi-Fiを使用してください。 IIRCは、電源管理上の理由から、Wi-Fiを使用している場合よりも携帯電話を使用している場合にOSを攻撃する方がずっと積極的です。新しい接続(TLSキャッシュは通常、サーバー上の既存のTLSセッションに再接続させることができます)を作成したばかりのため、完全な認証サイクルで必ずしもヒットするとは限りませんが、その可能性は高くなります。

DTSインシデントを開いて、QuinnまたはRichが問題をデバッグするのに役立つものがありません。 :-)

+0

返信のためのタクです。サーバーが既存のセッションに再接続することをサポートするかどうかを確認するにはどうすればよいですか? – user584263

+0

返信してください。サーバが既存のセッションに再接続することをサポートしているかどうかを知る必要があります – user584263

+0

実行中のWebサーバ(Apacheなど)を提供しているソフトウェアベンダに問い合わせる必要があります。 – dgatwood

関連する問題