我们有一个旧的 iOS 应用程序使用 HTTPS 访问 API。该应用程序在几天前运行良好。有问题的 SSL 证书几天前已过期。该应用程序开始出现以下错误:
Error Domain=NSURLErrorDomain Code=-1202 “此服务器的证书无效。您可能正在连接到伪装成“xxx.xxx.com”的服务器,这可能会使您的 secret 信息面临风险。”
因此我们更新并重新键入了 SSL 证书。现在,当我从浏览器 (chrome) 访问 HTTPS url 时,它可以正常工作,并在 url 之前的左侧显示绿色锁。当我单击锁定图标时,它会显示有效的证书信息。但是当从应用程序访问相同的 URL 时,我仍然会遇到相同的错误。
使用的 AFNetworking 是 2011 年的,因为这是一个旧应用程序。由于该应用程序已经在 AppStore 上,我正在寻找服务器端修复程序。
你以前见过这样的东西吗?如果是,你是如何解决的?
问候,
普里坦。
最佳答案
是的,我以前见过类似的东西,好消息是它是服务器端修复。浏览器经常缓存第三方证书,因此会忽略您的证书链的小问题,这在您的案例中似乎是问题所在。但是,您的应用程序代码不信任您的网站为其提供的证书链。
下载一个名为 SSL detective 的应用程序,并使用它来查询您的网站以获取证书链。您可能会看到其中一个部分是红色/不受信任的,您应该设法确保整个链都是可信的。您可能需要对服务器端证书设置进行一些更改。
关于ios - 使用 AFNetwork 在 iOS 应用程序中更新 SSL 证书后的 NSURLErrorDomain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25786099/