在我的应用程序中,我使用 https 和自签名 SSL 证书来保护客户端和服务器之间的连接。
我试图让 AFNetworking 库在应用程序中捆绑的证书副本上执行 SSL 固定。
在AFURLConnectionOperation
标题中我定义了两个:
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ =1
#define _AFNETWORKING_PIN_SSL_CERTIFICATES_ =1
在调用start
my之前,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}
在AFURLConnectionOperation
标题中,我读到 SSL Pinning 适用于 .cer 证书,但在我的自托管 OS X 网络服务器中,我有一个 .crt 证书。
这是问题吗?有没有办法让 AFNetworking 与 .crt 一起工作?
在 Windows 框中,我将 .crt 转换为 .cer 并尝试将其捆绑到我的应用程序中,但我仍然遇到相同的错误。即使在服务器端,我是否应该尝试使用新创建的 .cer 切换 .crt 文件?