Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为X509TrustManager实现checkServerTrusted的正确方法_Android_Ssl_Android Security - Fatal编程技术网

Android 为X509TrustManager实现checkServerTrusted的正确方法

Android 为X509TrustManager实现checkServerTrusted的正确方法,android,ssl,android-security,Android,Ssl,Android Security,如何为X509TrustManager实施checkServerTrusted方法的推荐方法是什么?我需要为ssl固定使用重新实现,但我始终可以看到这种实现: public void checkServerTrusted(X509Certificate[] certificates, String authType) throws CertificateException { if ((certificates != null) && (certificates.

如何为
X509TrustManager
实施
checkServerTrusted
方法的推荐方法是什么?我需要为ssl固定使用重新实现,但我始终可以看到这种实现:

public void checkServerTrusted(X509Certificate[] certificates, String authType)
    throws CertificateException {
    if ((certificates != null) && (certificates.length == 1)) {
        certificates[0].checkValidity();
    } else {
        standardTrustManager.checkServerTrusted(certificates, authType);
    }
}
摘自此。然而,在我看来,这似乎是错误的。 它只检查证书是否有效(未过期),而不检查其他内容


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

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

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

通常您希望锁定密钥,而不是证书。密钥固定允许您频繁地轮换证书,如每30天轮换一次,从而使CRL保持较小。小型CRL对于移动客户端非常重要。根据您的PKI的大小,它对桌面客户端也可能很重要。您的意思是用证书初始化您的信任存储。通常您希望锁定密钥,而不是证书。密钥固定允许您频繁地轮换证书,如每30天轮换一次,从而使CRL保持较小。小型CRL对于移动客户端非常重要。取决于您的PKI有多大,它对桌面客户端也可能很重要。您的意思是用证书初始化您的信任存储。