0

我有一个非常令人沮丧的 SSL 错误,根据连接顺序,有效证书不受信任。

因此,如果在启动时,我直接连接到服务器 A。信任管理器将无法验证链并出现错误: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

但是,如果我连接到服务器 B,然后连接到服务器 A,它将信任它之前声称无效的相同证书。

有没有人对可能发生什么导致这种信任失败有任何想法?

这就是我设置信任管理器的方式:

    try {

      TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
      tmf.init((KeyStore) null);
      X509TrustManager manager = (X509TrustManager)tmf.getTrustManagers()[0];
      manager.checkServerTrusted(chain, authType);
      Log.d("Auth","Did trust it");
    } catch (Exception e) {
      Log.e("Auth","Didn't trust it", e);
    }

据我所知,握手之前发生的所有事情在不同的连接之间都是相同的。唯一的区别是地址。这是在像素 3 上的 android 10 上运行时发生的。

4

0 回答 0