具有自签名证书的Https iOS
我有一个具有自签名证书的服务器。我想用https表单将我的设备连接到服务器。 我听说我必须接受这种关系。但我不知道怎么做。 我有一个自签名证书,因为它是一个测试服务器。但我想用https表单访问它? 当我尝试使用https访问时,出现了一个错误:具有自签名证书的Https iOS,ios,objective-c,https,certificate,ssl-certificate,Ios,Objective C,Https,Certificate,Ssl Certificate,我有一个具有自签名证书的服务器。我想用https表单将我的设备连接到服务器。 我听说我必须接受这种关系。但我不知道怎么做。 我有一个自签名证书,因为它是一个测试服务器。但我想用https表单访问它? 当我尝试使用https访问时,出现了一个错误: SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 然后它是一个自签名证书 有人能帮我吗 默认情况下,当证书无效时,Cocoa拒绝所有SSL
SURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
然后它是一个自签名证书
有人能帮我吗 默认情况下,当证书无效时,Cocoa拒绝所有SSL连接 但是,您可以强制它们也接受无效证书。该方法取决于您使用的库/框架。例如:
- 对于NSURL连接,请检查
- 对于HttpRequest,您需要将属性
设置为NOvalidatesCureCertificate
- 对于AFNetworking,您可以检查要在中使用的代码
- 对于CFNETS,底层基础框架,CHECK.
- 对于看起来正在使用的SURLConnection,您需要遵循与NSURLConnection相同的说明。实际上,SURLConnection只是NSURLConnection的一个子类
上面的代码,接受任何类型的SSL证书,即使无效,也是一个严重的安全风险。基本上,它使整个SSL变得毫无用处。因此,如果您确实需要使用SSL连接进行测试,您应该仅在开发过程中使用该代码。
还请注意,苹果将拒绝提交到应用商店的任何接受无效SSL证书的应用程序。证书配置: 您必须在设备上安装自签名证书或CA,以便设备信任它 然后,只有设备信任SSL连接 在安装自签名证书的情况下,请确保URL的域名与证书的通用名称相同 如果没有域名,那么IP地址就可以了 证书安装: 您可以将其托管在web服务器上,并尝试从safari访问它,然后iOS将提示在iOS设备中安装证书 证书创建: 以下是创建自签名证书的方法,以便您可以填写所有详细信息并在web服务器中托管
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1001 -nodes
(输入常用名称的值时请注意)你好,夸库诺,谢谢你的回答。但我不使用任何框架/库。我必须吗?如何将新框架集成到我的应用程序中?你不可能不使用框架。最简单的是NSURLConnection,它是Cocoa(内置于系统中)的一部分,但还有更多。谢谢。如何安装NSURLConnection?刚刚过去?在那之后,我要做什么?你能告诉我吗?谢谢您不安装NSURLConnection。。。!你要修改的代码是谁写的?我没有代码。我只想允许https连接到我的服务器(使用自签名证书),但我找不到解决方案是什么导致了错误消息?您的第二种方法是错误的。当Safari提示您安装证书时,证书将安装在Safari中(只有Safari会使用它)。这意味着在安装之后,您仍然无法在应用程序中使用connect。最糟糕的是-要从Safari中删除证书,您必须(从~iOS 7)重置所有设备的设置。例如,为了正确安装,您应该通过电子邮件发送您的证书并在iPhone上打开文件。@franiis-它也将用于应用程序。试试看