В моем приложении я использую https и самоподписанный SSL-сертификат для защиты соединения между моим клиентом и сервером.
Я пытался установить библиотеку AFNetworking SSL Pinning на копию моего сертификата, прилагаемого в приложении.
В заголовке AFURLConnectionOperation
я определил оба:
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ =1
#define _AFNETWORKING_PIN_SSL_CERTIFICATES_ =1
И перед вызовом start
на моем 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-шифрование работает с сертификатами .cer, но на моем самообслуживаемом веб-сервере OS X у меня есть сертификат .crt.
Это проблема? Есть ли способ заставить AFNetworking работать с .crt?
В окне окна я преобразовал мой .crt в .cer и попытался связать это с моим приложением, но я все равно получаю ту же ошибку. Должен ли я попытаться переключить файл .crt с вновь созданным .cer даже на стороне сервера?