IBM MobileFirst Platform Foundation v7.1を使用してアプリケーションを開発しています。現在我々はUAT段階にある。このアプリはAndroidとiOSの両方をサポートしています。iOSで証明書のピン割り当てが失敗する
私たちのアプリケーションの証明書のピン割り当てを実装しました。 MobileFirst Serverはネットワークチームによって管理されており、「cer」という拡張子(com.uat.myapp.cer)の公開証明書が提供されています。このパブリック証明書をプロジェクトの証明書フォルダの下に含め、main.jsファイルに証明書のピンコードを書きました。
Androidアプリケーションが正常に動作しており、MobileFirstサーバとのSSLハンドシェイクが行われています。アプリケーションが正常に動作しています。
iOSアプリケーションはしかし、次のエラーでMobileFirst Serverに接続することができません。
An SSL error has occurred and a secure connection to the server cannot be made".
私が使用して証明書(com.uat.myapp.der)を.DERした.cer証明書を変換しました次のポータル: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.
サーバーとクライアントの両方のドキュメントの指示に従っていることを確認してください。https://mobilefirstplatform.ibmcloud.com/blog/2015/08/14/certificate-pinning-in-ibm-mobilefirst -platform-foundation-7-1/- 証明書の有効性、特に指定されたホストとサーバーが真に一致していることも確認します。 –
最初に、証明書のピン割り当てなしで試してください。意味は、ピン止めAPIを使用せずにiOSアプリをSSLサーバーに接続することです。この定期的なフローが動作しているかどうかご質問を更新してください。 –
@karthik_Chinna、上記のコメントを確認して回答してください。 –