网络安全与公钥基础设施(PKI):Android 的证书验证与信任模型解析
1. 证书验证基础
在网络通信中,证书验证是确保通信安全的重要环节。以下是一段使用系统信任锚初始化 TrustManager 并验证证书的代码示例:
TrustManager[] tms = tmf.getTrustManagers();
X509TrustManager xtm = (X509TrustManager) tms[0];
Log.d(TAG, "checking chain with " + xtm.getClass().getName());
xtm.checkServerTrusted(chain, "RSA");
Log.d(TAG, "chain is valid");
具体步骤如下:
1. 获取系统 PKIX(别名为 X509) TrustManagerFactory 。
2. 通过将 null 传递给其 init(KeyStore ks) 方法,使用系统信任存储对其进行初始化。
3. 获取指定算法的第一个 TrustManager 实现(通常只有一个,但在生产代码中需要进行检查),并将其转换为特定于验证算法的 X509TrustManager 接口。
4. 将证书链和使用的密钥交换算法(如 RSA、DHE_DSS 等)传递给 checkServerTrusted()
超级会员免费看
订阅专栏 解锁全文
89

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



