我有一个带有自签名证书的服务器。我想用https格式将我的设备连接到服务器。 我听说我必须接受联系。但我不知道怎么做。 我有一个自签名证书,因为它是一个测试服务器。但我想用https格式访问它? 当我尝试使用https访问时出现错误:
SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
然后它是一个自签名证书。
有人可以帮帮我吗?答案 0 :(得分:20)
默认情况下,Cocoa在证书无效时拒绝所有SSL连接。
但是,您可以强制他们接受无效的证书。该方法取决于您使用的库/框架。例如:
validatesSecureCertificate
设置为NO。 重要提示:
上面的代码,即使无效,接受任何类型的SSL证书都是一个严重的安全风险。基本上,它使整个SSL无用。因此,如果您确实需要使用SSL连接进行测试,则应仅在开发期间使用该代码。
另请注意,Apple将拒绝提交给App Store的任何接受无效SSL证书的申请。
答案 1 :(得分:2)
证书配置:
您必须在设备上安装自签名证书或 CA 才能让设备信任它 然后只有设备信任SSL连接。
如果安装自签名证书,请确保 URL 的域名与公用名相同证书。
如果没有域名,那么IP地址就可以了。
证书安装:
您可以在Web服务器上托管它并尝试从safari访问它,然后iOS会提示在iOS设备中安装证书
证书创建:
以下是创建自签名证书的方法,以便您可以在Web服务器中填写所有详细信息和主机。
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1001 -nodes
(输入公共名称值时注意)