我有以下简单的代码连接到SSL网页
NSMutableURLRequest *urlRequest=[NSMutableURLRequest requestWithURL:url];
[ NSURLConnection sendSynchronousRequest: urlRequest returningResponse: nil error: &error ];
Run Code Online (Sandbox Code Playgroud)
如果证书是自签名的,那么它会出错.Error Domain=NSURLErrorDomain Code=-1202 UserInfo=0xd29930 "untrusted server certificate".有没有办法将它设置为接受连接(就像在浏览器中你可以按接受)或绕过它的方法?
https objective-c ssl-certificate ios app-transport-security
在我的应用程序中,我使用https和自签名SSL证书来保护我的客户端和服务器之间的连接.
我试图让AFNetworking库在我的应用程序捆绑的证书副本上进行SSL Pinning.
在AFURLConnectionOperation标题中我定义了两个:
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ =1
#define _AFNETWORKING_PIN_SSL_CERTIFICATES_ =1
Run Code Online (Sandbox Code Playgroud)
在调用starton 之前AFJSONRequestOperation我将SSLPinningMode属性设置为AFSSLPinningModeCertificate.
但是在尝试执行JSON请求时,我不断收到以下错误:
Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed.
(NSURLErrorDomain error -1012.)" UserInfo=0x758f120
{NSErrorFailingURLKey=https://mydomain.com,
NSErrorFailingURLStringKey=https://mydomain.com}
Run Code Online (Sandbox Code Playgroud)
在AFURLConnectionOperation标题中我读到SSL Pinning与.cer证书一起使用但在我自己托管的OS X webserver中我有一个.crt证书.
这是问题吗?有没有办法让AFNetworking与.crt一起使用?
在Windows框中我将.crt转换为.cer并尝试将其捆绑到我的应用程序中,但我仍然得到相同的错误.即使在服务器端,我是否应该尝试使用新创建的.cer切换.crt文件?