ios - 来自 iOS 应用程序的自签名 SSL 证书信任

标签 ios ssl https ssl-certificate self-signed

我正在构建一个从服务器检索一些数据的应用程序。服务器可以安装在其他地方(我也构建了服务器),在应用程序中设置正确的主机后,你就可以开始了。

现在是我的问题。我正在努力使事情尽可能安全,其中一个方面就是使用 SSL。我在服务器端使用自签名证书,但我的 iOS 应用程序无法接受它。起初我收到警告,即使来自运行服务器的 PC,证书也不可信,但在我找到这个答案 [1] 后,我的浏览器(和 fiddler )接受了“https”,它也调用服务器 url 时变为绿色,所以现在一切正常,但只是来自运行服务器的 PC。

当我尝试从外部设备调用 url 时,我再次收到证书不可信的消息(我理解这是因为我自己签署了证书,但在这里我正在寻找一些方法来绕过它),在我的应用程序内部,我无法建立连接。

那么,我可以将我的自签名证书设置为对外部设备“可信”吗? (期望每个客户都购买自己的证书是不可取的。)

或者,是否有 Apple 批准的方式从我的 iOS 应用程序中接受此证书?我知道我可以通过更改 NSURLRequest 的私有(private) API 中的某些内容来接受它(如果有人感兴趣,我可以解释一下),但我一直在阅读,在这种情况下,我的应用程序很可能是会被拒绝。所以我在这里寻找一些“合法”的方式来接受我的自签名证书。

[1] How to create a self-signed certificate for a domain name for development?

最佳答案

  1. 编辑 ssl.conf 并注释 #SSLProxyVerify 3 行
  2. 重启httpd_device

这将禁用 ssl 证书检查,因此您可以使用您的自签名证书进行测试

关于ios - 来自 iOS 应用程序的自签名 SSL 证书信任,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29318066/

相关文章:

ios - 图像在循环动画中移动 - Swift

ios - UITableView插入行装饰

Here Maps Base 计划的 SSL 支持

apache - 如何为多个域情况编写 .htaccess 规则

ssl - Silverlight 跨方案访问 jpeg 被拒绝

c++ - 渲染时不出现 3D 模型

ios - iOS-tableView,按降序对JSON数组排序

python - 无法通过 REST api https url 连接到 JIRA Python

ajax - 不可知的方案/协议(protocol) ajax 调用

ssl - 命令提示符检查主机所需的 TLS 版本