我们正在使用 IBM MobileFirst Platform Foundation v7.1 开发应用程序。目前我们处于 UAT 阶段。该应用程序同时支持 Android 和 iOS。
我们为我们的应用程序实施了证书固定。MobileFirst Server 由网络团队维护,它为我提供了一个带有“cer”扩展名的公共证书 (com.uat.myapp.cer)。我将此公共证书包含在我的项目中的证书文件夹下,并在 main.js 文件中编写了证书固定代码。
Android 应用程序运行良好,并且正在与 MobileFirst Server 进行 SSL 握手。应用程序运行正常。
尽管 iOS 应用程序无法连接到 MobileFirst Server,但出现以下错误:
发生 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.