ios - 在服务器上更新 SSL 证书时处理它们

标签 ios ssl certificate

我的服务器上有一个由 CA (Geotrust) 签名的证书。我的应用程序中安装了相同的证书。我比较了 URLSession:didReceiveChallenge:completionHandler: 中的两个证书。但是我的托管服务通知我,我需要每年“更新”证书。这为我在应用程序中处理创建了一个新的和不同的证书。由于证书不是自签名的,我是否需要将证书嵌入应用程序以与来自服务器的证书进行比较,或者 iOS 的 SSL 处理是否为我解决了挑战。也许我可以只使用服务器信任而不查看证书?

最佳答案

I have the same cert installed in my app.

为什么?

I compare the two certs in URLSession:didReceiveChallenge:completionHandler.

为什么?

您应该做的是比较 subjectDN。这就是签名者正在验证的内容。这就是您所需要的。

Maybe I can just use server trust without looking at the cert?

听起来您正在尝试做正确的事情并添加授权步骤。依靠“服务器信任”只会为您提供身份验证,即主题 DN 就是他所说的那个人。授权检查该 DN 是否被授权使用应用程序的这一部分。但是您不需要为此检查整个证书。

关于ios - 在服务器上更新 SSL 证书时处理它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23876251/

相关文章:

ios - 嵌套 UINavigationController pushViewController 两次导致弹出动画问题

ios - 幸存的ios内存警告

ios - UITableViewCell 中的 UICollectionView 如何根据屏幕尺寸调整 tableview 单元格高度

ios - ASIHTTPRequest 多个 POST 参数

ruby - SSL 模式标志 - 证书验证 : is it safe to use :none?

javax.net.ssl.SSLHandshakeException : null cert chain null cert chain

certificate - 证书中的 "subject"是什么意思?

java - 用于 keystore 和信任库优势的相同 JKS 文件

SSL 认证链不适用于自签名证书

ios xcode9.0 swift4.0 MQTT - 如何使用证书连接到MQTT服务器?