AFNetworking支持SNI

问题描述:

我有一个根证书,用于签署服务器上的不同子域名,这基本上是在后端实施SNI。现在,我该如何使用该证书和子域名来验证请求。AFNetworking支持SNI

开箱即用支持SNI。而且从我的经验,它的工作原理(单IP两个二级域)

我看到3个原因,如果它不为你工作:

  1. 后端配置不正确。您可以检查服务器是否使用Safari返回预期的证书。
  2. 您的证书是自签名的。在这种情况下,您应该检查AFSecurityPolicy以获取固定证书,SNI没有什么特别之处。
  3. 您的证书对于子域无效。这也可以通过AFSecurityPolicy进行检查。
+0

我已确认我的后端配置正确,因为具有主机名的相同证书正在Android Web服务调用中工作。证书对于域名有效,并且对于验证子域我们定义了主机名。正确锁定证书。你有任何想法如何在iOS中实现。 –

+0

如果您使用的是证书锁定,我将从AFSecurityPolicy.evaluateServerTrust中的断点开始,您可以在其中检查连接建立的许多方面:如果证书检查开始;客户收到的证书;该方法的哪一步返回NO。 顺便说一下,您目前收到哪个错误? –

+0

您的第三点,如何检查AFSecurityPolicy? –