【问题标题】:Use an NSURLProtectionSpace or SecTrustSetAnchorCertificates() for HTTPS server validation?使用 NSURLProtectionSpace 或 SecTrustSetAnchorCertificates() 进行 HTTPS 服务器验证?
【发布时间】:2012-12-17 18:32:37
【问题描述】:

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

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

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

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

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

TIA

【问题讨论】:

    标签: ios


    【解决方案1】:

    Technical Note 2232: HTTPS Server Trust Evaluation 描述了评估 SSL/TLS 信任的最佳实践。

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

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2013-12-07
      • 1970-01-01
      相关资源
      最近更新 更多