绕过 IBM MobileFirst Platform 中的自签名证书 Android
Bypass self signed certificate in IBM MobileFirst Platform Android
我需要在我的开发模式下访问带有自签名证书的 https url。因此,我想绕过 IBM MobileFirst Platform 生成的 android 中的自签名证书。我已尝试生成调试 apk 并将证书安装到我的设备中,其中 none 有效。
我还在收到
"Failed to validate the certificate chain, error:
java.security.cert.CertPathValidatorException: Trust anchor for
certification path not found."
我无法修改 CordovaWebViewClient.java,因为 cordova 插件是由 IBM 移动平台生成的。
有人知道这个的解决方案吗?
调试 APK 通常会忽略证书错误。我不确定那里出了什么问题。因此,如果我们专注于错误本身,这主要意味着您没有将自签名证书添加到设备的信任库中。
当您在浏览器 (https://host:port/worklightconsole or https://host:port/mfpconsole) 中打开 IBM MobileFirst Platform 控制台时,是否看到警告说主机不受信任?如果是,这意味着您没有将正确的证书添加到设备。
检查您添加到设备的证书
要获得正确的证书,最简单的选择是使用 openssl 命令。
运行 此命令将主机替换为您的主机,将端口替换为 https 端口:
openssl s_client -showcerts -connect host:port。
这将同时显示服务器证书和 CA 证书。由于您的证书是自签名证书,因此您只会看到它。所以复制从 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE-----[=24= 的内容] 并将其放入文件中,例如 mycert.crt 并尝试将此证书添加到您的设备信任库中。在通过应用程序本身尝试之前,再次使用 (1) 中提到的测试来查看它是否有效。
我需要在我的开发模式下访问带有自签名证书的 https url。因此,我想绕过 IBM MobileFirst Platform 生成的 android 中的自签名证书。我已尝试生成调试 apk 并将证书安装到我的设备中,其中 none 有效。
我还在收到
"Failed to validate the certificate chain, error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found."
我无法修改 CordovaWebViewClient.java,因为 cordova 插件是由 IBM 移动平台生成的。
有人知道这个的解决方案吗?
调试 APK 通常会忽略证书错误。我不确定那里出了什么问题。因此,如果我们专注于错误本身,这主要意味着您没有将自签名证书添加到设备的信任库中。
当您在浏览器 (https://host:port/worklightconsole or https://host:port/mfpconsole) 中打开 IBM MobileFirst Platform 控制台时,是否看到警告说主机不受信任?如果是,这意味着您没有将正确的证书添加到设备。
检查您添加到设备的证书 要获得正确的证书,最简单的选择是使用 openssl 命令。 运行 此命令将主机替换为您的主机,将端口替换为 https 端口: openssl s_client -showcerts -connect host:port。 这将同时显示服务器证书和 CA 证书。由于您的证书是自签名证书,因此您只会看到它。所以复制从 -----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE-----[=24= 的内容] 并将其放入文件中,例如 mycert.crt 并尝试将此证书添加到您的设备信任库中。在通过应用程序本身尝试之前,再次使用 (1) 中提到的测试来查看它是否有效。