java - 在 iOS 上信任我自己的 CA

标签 java ios iphone spring ssl

我正在尝试使用 ssl 将我的 iOS 应用程序连接到我的 java spring 后端。当我在本地部署我的后端时,我正在尝试使用我自己的证书连接它以进行开发。

对于我的 spring 后端,我创建了自己的 CA,用它签署了证书,并将它们添加到 keystore.jks。我相应地配置了应用程序,当我转到 https://localhost:8082/blabla 时,在信任它之后,它工作正常。

但是,我无法在我的 iOS 应用程序上信任它,所以它失败了。我尝试在我的 iPhone 上安装我的自定义 CA,但仍然如此。奇怪的是在我的 iphone 上,在配置文件上,我可以看到我的自定义 CA,它有绿色勾号并表示已验证。我认为这足以信任其他证书

关于我遗漏/做错了什么的任何想法?

其他信息: 在我的 iOS 应用程序上,我使用 Alamofire 发出请求。

最佳答案

不是一个正确的答案,但可能对某人有用:

我无法在 iphone 上信任我自己的 CA,并且无法连接,除非在 info.plist 上将 ATS 作为异常(exception)。

然而,Let's Encrypt现在存在并且处于公开测试阶段!您可以在那里获得适当的证书并忘记它(正如@zaph 所建议的那样,您必须记住在 90 天后更新它,还需要有一个适当的域)。至少对我来说,这是比创建自己的证书更好的选择。

关于java - 在 iOS 上信任我自己的 CA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319330/

相关文章:

iphone - 我需要在 TableView 中创建自定义的基于图像的accessoryType 的示例代码

iphone - 改变图像的边界取决于图像的大小

ios - UIView 动画立即发生

ios - 分组 UITableView 下面的灰色区域

java - 在Java中导入一个类?

java - Android 的@hide 注解到底有什么作用?

ios - RubyMotion 2.5 是否解决了内存管​​理问题?

iphone - 读取 XML 并将其显示在 TableView 中

c# - 为什么我们不能从 C# 中的枚举实例访问枚举值?

java - Wicket - 更新 PropertyModel 时表单组件丢失引用