1

我想确认我的客户端通过 HTTPS 连接与之通信的服务器的身份。

似乎有两种选择,但是我无法找到任何描述一种方法的优点/缺点的东西。其中哪一个更安全,为什么?

1) 创建一个自签名证书,供服务器使用并添加到应用程序包中,并使用 SecTrustSetAnchorCertificates() 设置为锚证书

2) 创建一个 NSURLProtectionSpace 并设置其领域、主机、端口和协议,然后将其与传入 willSendRequestForAuthenticationChallenge: 的 NSURLAuthenticationChallenge 中的 NSURLProtectionSpace 进行比较。

这些身份验证机制中的哪一个用于验证服务器是否有很大区别?

TIA

4

1 回答 1

0

技术说明 2232:HTTPS 服务器信任评估描述了评估 SSL/TLS 信任的最佳实践。

从这个问题中不清楚您是只对自签名证书感兴趣还是对一般评估信任感兴趣。通常,避免在生产环境中使用自签名证书。如果您必须使用自签名服务器证书,则应严格验证凭据是否符合您的预期。至少您应该根据已知值(SSL 公钥固定)检查服务器提供的公钥。一个让你开始的例子是here

于 2014-07-24T20:24:05.430 回答