2016-12-07 28 views
0

この回答を使用してクライアント証明書を使用してアプリケーションにログインすることができました。Alamofireでファイルをアップロードしたクライアント証明書問題

Getting Client Certificate for Mutual Authentication with Alamofire

すべてがログインのために美しく動作します。今、私はファイルをアップロードする別の要求をする必要があります。以前の投稿と同じコードを使用してp12ファイルを作成し、serverTrustPolicyを作成してセッションマネージャに追加しましたが、リクエストを行うと、サーバは証明書を渡していないことを通知します。

なぜコードが1つのインスタンスで動作するのか、別のインスタンスでは動作しないのか分かりません。両者の唯一の違いは次のとおりです。

作品:

manager = Alamofire.SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicy)) 

は動作しません:

manager = Alamofire.SessionManager(configuration: configuration, serverTrustPolicyManager : ServerTrustPolicyManager(policies: serverTrustPolicy)) 

まったく同じdidChallengeの委任を使用している両方。

私はどんな洞察もありがとうと思います。

答えて

0

明らかに、この問題は設定とServerTrustPolicyManagerが原因です。私はSTPMしか持たず、ヘッダをアップロード機能の中に入れても、その呼び出しはうまく動作します。おそらく、アプリで2回のバックグラウンドコールをしようとすることで問題が発生している可能性があります。デフォルトコールと一時コールは正常に動作します。

関連する問題