android - 为 X509TrustManager 实现 checkServerTrusted 的正确方法

标签 android ssl android-security

X509TrustManager 实现 checkServerTrusted 方法的推荐方法是什么?我需要为 ssl pinning 使用重新实现,但我一直只能看到这个实现:

public void checkServerTrusted(X509Certificate[] certificates, String authType)
    throws CertificateException {
    if ((certificates != null) && (certificates.length == 1)) {
        certificates[0].checkValidity();
    } else {
        standardTrustManager.checkServerTrusted(certificates, authType);
    }
}

取自此response .但是在我看来这似乎是错误的。 它只检查证书是否有效(未过期),不检查其他内容。

请问您有什么实现方案可以推荐给我吗?

最佳答案

好的,解决方案不是使用自定义 TrustManagers,而是使用我固定的 ssl 证书初始化 KeyStore

关于android - 为 X509TrustManager 实现 checkServerTrusted 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008122/

相关文章:

java - 如何在通过 Camel 调用 Restful 服务时添加 jks 文件

ssl - 使用 Superset 在 Impala 上运行查询时出错

android - COCOS2DX libpng Google Play 通知 2016 年 6 月

android-security - 处理 Google Play 商店安全警报的最佳做法是什么?

android - Android 权限(我们在 list 文件中定义)与相应 API 调用/方法之间的映射

java - 从字符串生成 Rsa 公钥

Android - 通用类型作为 ObservableTransformer 中的表达式

android - setClipBounds 可以在 View 绘制之前调用吗?

python - 尝试使用 python-ldap 模块通过 TLS 连接到 LDAP 服务器

android - 是否可以实时获取 Android Chrome CustomTab 的当前 URL?