Https iOS带有自签名证书

Mcr*_*r67 8 https certificate objective-c ssl-certificate ios

我有一个带有自签名证书的服务器.我想用https格式将我的设备连接到服务器.我听说我必须接受联系.但我不知道怎么做.我有一个自签名证书,因为它是一个测试服务器.但我想用https格式访问它?当我尝试使用https访问时出现错误:

SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
Run Code Online (Sandbox Code Playgroud)

然后它是一个自签名证书.

有人可以帮帮我吗?

Ita*_*Ale 20

默认情况下,Cocoa在证书无效时拒绝所有SSL连接.

但是,您可以强制它们也接受无效的证书.该方法取决于您使用的库/框架.例如:

  • 对于NSURLConnection,请检查此答案.
  • 对于ASIHTTPRequest,您需要将该属性设置validatesSecureCertificate为NO.
  • 对于AFNetworking,您可以检查要在此页面中使用的代码
  • 对于CFNetwork,低级Foundation框架,请查看此示例代码.
  • 对于看起来像您正在使用的SURLConnection,您需要遵循NSURLConnection的相同说明.实际上,SURLConnection只是NSURLConnection的一个子类.

重要说明:
上述代码,即使无效,也接受任何类型的SSL证书都是一个严重的安全风险.基本上,它使整个SSL无用.因此,如果您确实需要使用SSL连接进行测试,则应仅在开发期间使用该代码.
另请注意,Apple将拒绝提交给App Store的任何接受无效SSL证书的申请.