Ошибка закрепления сертификата в 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-адресу, используемому приложением.

  1. Используйте keytool, чтобы убедиться, что сертификат действительно содержит требуемые значения host / ip.
  2. В вашем приложении убедитесь, что приложение действительно пытается подключиться к тому же серверу host / ip.
Другие вопросы по тегам