我有一个自签名证书的服务器。我想用https表单将我的设备连接到服务器。我听说我必须接受联系。但我不知道如何。 我有一个自签名证书,因为它是一个测试服务器。但我想用https形式访问它? 当我试着使用HTTPS访问我有一个错误:https与iOS自签名证书
SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
然后,它是一个自签名的证书。
有人可以帮助我吗?
我有一个自签名证书的服务器。我想用https表单将我的设备连接到服务器。我听说我必须接受联系。但我不知道如何。 我有一个自签名证书,因为它是一个测试服务器。但我想用https形式访问它? 当我试着使用HTTPS访问我有一个错误:https与iOS自签名证书
SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
然后,它是一个自签名的证书。
有人可以帮助我吗?
默认情况下,Cocoa在证书无效时拒绝所有SSL连接。
但是,您可以强制他们接受无效证书。该方法取决于您正在使用的库/框架。例如:
validatesSecureCertificate
设置为NO。重要提示:
上面的代码,接受任何类型的SSL证书,即使无效,是一个严重的安全隐患。基本上,它使整个SSL无用。因此,如果您确实需要使用SSL连接进行测试,则只应在开发期间使用该代码。
另请注意,Apple会拒绝任何提交给接受无效SSL证书的App Store的应用程序。
证书配置:
您必须安装自签名证书或CA在设备上,以便信任它 那么只有设备信任的SSL连接的设备。
在安装自签名证书的情况下确保域名URL的是相同通用名称证书。
如果没有域名,那么IP地址是好的。
证书安装:
你可以只承载它的Web服务器上,并尝试从Safari浏览器访问它,然后iOS版会提示在iOS设备的证书安装
证书创建:
以下是创建自签名证书的方法,以便您可以填写所有详细信息并在Web服务器中托管。
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1001 -nodes
您的第二种方法是错误的。当Safari提示您安装证书时,证书安装在Safari中(只有Safari会使用它)。 这意味着在安装之后,您仍然无法在应用中使用连接。最糟糕的是 - 要从Safari中删除证书,您必须重置所有设备的设置(因为〜iOS 7)。 为了正确安装,您应该例如通过电子邮件发送您的证书并在iPhone上打开文件。 – franiis
@franiis - 它将被使用的应用程序以及。试一试 –
什么是生成错误信息(虽然进入了通用名值注意)? – binki