2016-12-07 84 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并将我的头文件放入上传函数中时,该调用就可以正常工作。也许在应用程序中尝试执行两个背景调用会导致问题。默认和临时调用工作得很好。