Android安全机制:证书验证与凭证存储解析
1. Android证书验证机制
1.1 X509TrustManagerExtensions证书验证方法
在Android的SSL连接中, X509TrustManagerExtensions 的 checkServerTrusted 方法用于验证服务器证书。该方法的最后一个参数 host ,被底层实现( TrustManagerImpl )用于在钉列表(pin list)中搜索匹配的钉(pin)。
List<X509Certificate> checkServerTrusted(X509Certificate[] chain, String authType, String host)
如果找到匹配的钉,将验证链中的公钥与该主机钉条目中的哈希值进行比对。若无一匹配,验证将失败,并抛出 CertificateException 。
1.2 系统中使用钉功能的部分
默认的SSL引擎(JSSE提供程序),即客户端握手( ClientHandshakeImpl )和SSL套接字( OpenSSLSocketImpl )实现会检查其底层的 X509TrustManager 。若支持钉功能,它们会针对钉列表执行额外的验证。一旦验证失败,连接将无法建立,
超级会员免费看
订阅专栏 解锁全文
1257

被折叠的 条评论
为什么被折叠?



