我刚刚在我的Android应用程序中集成了firebase性能监控。
在我们的基础架构中,有时我们需要通过https连接到本地开发计算机,并且我使用这段代码来避免在连接到本地计算机时进行ssl证书检查
t+u
显然我们不在生产中使用它:)
问题在于,由于我引入了firebase性能监控插件,这不再起作用,我收到此错误
正如您在突出显示的2行中所看到的,看起来它在HttpsUrlConnection实现中做了一些事情,我认为这是问题的原因。我试图使用private SSLSocketFactory getFakeSSLContext() {
final SSLContext sslContext;
final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
// Not implemented
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
// Not implemented
}
}};
try {
sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
// Create all-trusting host name verifier
final HostnameVerifier allHostsValid = (hostname, session) -> true;
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
return sslContext.getSocketFactory();
} catch (KeyManagementException | NoSuchAlgorithmException e) {
LogHelper.e("error creating fake ssl context", e);
}
return null;
}
在我的应用程序的onCreate方法,但问题仍然存在。
如何使用firebase性能插件安装不受信任的https连接?
谢谢