我有一个带有自签名证书的服务器.我想用https格式将我的设备连接到服务器.
我听说我必须接受联系.但我不知道怎么做.
我有一个自签名证书,因为它是一个测试服务器.但我想用https格式访问它?
当我尝试使用https访问时出现错误:
我听说我必须接受联系.但我不知道怎么做.
我有一个自签名证书,因为它是一个测试服务器.但我想用https格式访问它?
当我尝试使用https访问时出现错误:
SURLConnection/CFURLConnection HTTP load Failed (kcfStreamErrorDomainSSL,-9813)
然后它是一个自签名证书.
有人可以帮帮我吗?
解决方法
默认情况下,Cocoa在证书无效时拒绝所有SSL连接.
但是,您可以强制它们接受无效的证书.该方法取决于您使用的库/框架.例如:
>对于NSURLConnection,请检查this answer.
>对于ASIHTTPRequest,您需要将属性validatesSecureCertificate设置为NO.
>对于AFNetworking,您可以检查要在this page中使用的代码
>对于CFNetwork,低级别的Foundation框架,请查看this sample code.
>对于看起来像您正在使用的SURLConnection,您需要遵循NSURLConnection的相同说明.实际上,SURLConnection只是NSURLConnection的一个子类.
重要的提示:上面的代码,即使无效,接受任何类型的SSL证书都是一个严重的安全风险.基本上,它使整个SSL无用.因此,如果您确实需要使用SSL连接进行测试,则应仅在开发期间使用该代码.另请注意,Apple将拒绝提交给App Store的任何接受无效SSL证书的申请.