iOS应用程序SSL握手失败
我正在制作一个应用程序,通过在post方法中传递登录凭据,通过HTTPS登录到aspx网站。当使用Charles Proxy检查响应时,我可以从seal.verisign.com看到SSL握手失败错误,然后我被带回登录页面。我不知道我需要做什么来解决这个问题 我正在iPhone模拟器中测试这一点 我没有访问服务器实现的权限 有什么想法吗iOS应用程序SSL握手失败,ios,ssl,https,Ios,Ssl,Https,我正在制作一个应用程序,通过在post方法中传递登录凭据,通过HTTPS登录到aspx网站。当使用Charles Proxy检查响应时,我可以从seal.verisign.com看到SSL握手失败错误,然后我被带回登录页面。我不知道我需要做什么来解决这个问题 我正在iPhone模拟器中测试这一点 我没有访问服务器实现的权限 有什么想法吗 谢谢大家! 服务器可能没有您正在使用的url的有效证书。 你查过了吗 如果您使用浏览器尝试url,它会给您一个警告吗?也许在实际设备上测试会提供更多信息 要在查
谢谢大家! 服务器可能没有您正在使用的url的有效证书。 你查过了吗
如果您使用浏览器尝试url,它会给您一个警告吗?也许在实际设备上测试会提供更多信息 要在查尔斯做到这一点:
另外,您是否收到对连接的响应:(NSURLConnection*)连接didReceiveAuthenticationChallenge:(NSURLConficationChallenge*)质询方法?您必须在移动设备上安装SSL证书
联机搜索如何为Charles Proxy安装SSL证书。您需要安装SSL证书来解决此问题 遵循以下步骤
如果安装证书仍然没有帮助,那么可能是由于SSL固定 来自charlesproy.com: SSL固定 请注意,一些应用程序实现SSL证书固定,这意味着它们专门验证根证书。由于应用程序本身正在验证根证书,因此它将不接受Charles的证书,并将导致连接失败。如果您已成功安装Charles根SSL证书,并且可以在Safari中使用SSL代理浏览SSL网站,但某个应用程序失败,则SSL固定可能是问题所在
在iOS>=10.3上,安装Charles代理证书后(根据@ashish verma的出色回答),还需要通过设置->常规->关于->证书信任设置来启用它:
此处的完整设置:删除所有旧的用户凭据,然后重新安装新的ssl证书。如果在模拟器上运行,只需重新启动Charles Proxy和模拟器,确保Charles Proxy首先启动。我不知道“在您的设备上”的步骤1,肯定为我节省了几个小时。谢谢,请注意。我建议你从你的答案中编辑你博客的链接。他们只允许出现在您的个人资料页中。是否有任何方法可以解决Charles Proxy的SSL锁定问题?@tingason使用Android,并修补应用程序以禁用SSL锁定,或修补iOS应用程序并重新签名。@tingason for iOS:牢狱之灾的iphone,然后使用iOS SSL Kill Switch,或根安卓,使用(基于Xposed)JustTrustMe或Android SSL TrustKiller,详细解释请检查中文