我有一台带有自签名证书的服务器。我想以 https 形式将我的设备与服务器连接。
我听说我必须接受这种联系。但我不知道怎么办。
我有一个自签名证书,因为它是测试服务器。但我想用https形式访问?
当我尝试使用 https 访问时出现错误:
SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
那么它就是一个自签名证书。
有人可以帮助我吗?
默认情况下,当证书无效时,Cocoa 会拒绝所有 SSL 连接。
但是,您可以强制他们也接受无效证书。该方法取决于您使用的库/框架。例如:
- 对于 NSURLConnection,检查这个答案 https://stackoverflow.com/a/3766796/192024.
- 对于ASIHTTPRequest,需要设置属性
validatesSecureCertificate
to NO.
- 对于 AFNetworking,您可以检查要使用的代码这一页 https://github.com/AFNetworking/AFNetworking/#security-policy
- 对于 CFNetwork(底层基础框架),请检查这个示例代码 https://stackoverflow.com/a/245903/192024.
- 对于您正在使用的 SURLConnection,您需要遵循与 NSURLConnection 相同的说明。事实上,SURLConnection 只是 NSURLConnection 的子类。
重要的提示:
上面的代码,接受任何类型的 SSL 证书,即使无效,也是一个严重的安全风险。基本上,它使整个 SSL 毫无用处。因此,您应该使用该代码仅在开发期间,如果您确实需要使用 SSL 连接进行测试。
另请注意,Apple 将拒绝提交给 App Store 的任何接受无效 SSL 证书的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)