Ошибка закрепления сертификата в iOS
Мы разрабатываем приложение с использованием IBM MobileFirst Platform Foundation v7.1. В настоящее время мы находимся в фазе UAT. Приложение поддерживает как Android, так и iOS.
Мы реализовали закрепление сертификата для нашего приложения. Сервер MobileFirst поддерживается сетевой командой, которая предоставила мне публичный сертификат с расширением "cer" (com.uat.myapp.cer). Я включил этот открытый сертификат в свой проект в папке сертификата и записал код закрепления сертификата в файле main.js.
Приложение Android работает нормально, и происходит SSL Handshake с сервером MobileFirst. Приложение работает правильно.
Приложение iOS не может подключиться к серверу MobileFirst со следующей ошибкой:
Произошла ошибка SSL, и невозможно установить безопасное соединение с сервером ".
Я преобразовал сертификат.cer в сертификат.der (com.uat.myapp.der), используя следующий портал: https://www.sslshopper.com/ssl-converter.html и поместил его в приложение, но все равно оказался с той же ошибкой.
Пожалуйста, найдите ниже журналы ошибок для получения дополнительной информации:
-[WLAFHTTPRequestOperationManagerWrapper requestFailed:error:] in WLAFHTTPRequestOperationManagerWrapper.m:390 :: Response Error : An SSL error has occurred and a secure connection to the server cannot be made. 2016-12-26 19:38:49.301 MyApp[1419:26347] [DEBUG] [WORKLIGHT]
+[WLClient sharedInstance] in WLClient.m:165 :: IBMMobilieFirstFoundation.framework version = 7.1-2016/05/28 17:08:17
-[WLRequest requestFailed:error:] in WLRequest.m:509 :: Status code='0' error='An SSL error has occurred and a secure connection to the server cannot be made.' response='(null)'
2016-12-26 19:38:49.302 MyApp[1419:26347] [DEBUG] [WL_REQUEST]
-[WLRequest requestFailed:error:] in WLRequest.m:512 :: Response Header: (null) Response Data: (null)
2016-12-26 19:38:49.302 MyApp[1419:26347] [DEBUG] [WL_AUTH]
-[WLAuthorizationManager failRegistratioWithResponse:] in WLAuthorizationManager.m:866 :: Response does not contain a valid certificate and client Id. device registration failed
2016-12-26 19:38:49.306 MyApp[1419:26347] [DEBUG] [CERTIFICATE_MANAGER] +[WLCertManager removeKey:] in WLCertManager.m:262 :: Key was successfully removed.
1 ответ
Я догадываюсь, что домен, указанный в сертификате, не соответствует фактическому хосту сервера или IP-адресу, используемому приложением.
- Используйте keytool, чтобы убедиться, что сертификат действительно содержит требуемые значения host / ip.
- В вашем приложении убедитесь, что приложение действительно пытается подключиться к тому же серверу host / ip.