2016-12-07 59 views
0

我能夠使用此答案幫助我使用客戶端證書登錄到我的應用程序。在Alamofire問題中上傳文件的客戶端證書

Getting Client Certificate for Mutual Authentication with Alamofire

一切精美的作品日誌項。現在,我需要再上傳一個文件。我使用了前一篇文章中的相同代碼來獲取p12文件並創建我的serverTrustPolicy並將其添加到會話管理器中,但是當發出請求時,服務器告訴我沒有將證書傳遞給它們。

我不明白爲什麼代碼可以用於一個實例,而不是另一個。兩者之間的唯一區別是:

作品:

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

不起作用:

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

兩者都使用didChallenge代表完全相同。

我將不勝感激。

回答

0

所以顯然這個問題是由於有一個配置和一個ServerTrustPolicyManager。當我只有一個STPM並將我的頭文件放入上傳函數中時,該調用就可以正常工作。也許在應用程序中嘗試執行兩個背景調用會導致問題。默認和臨時調用工作得很好。