小编mtb*_*b81的帖子

Android SSL 证书固定

我知道有很多关于 Android 中固定证书的问题,但我找不到我要找的东西......

我继承SSLSocketFactory并重写该checkServerTrusted()方法。在此方法中,我执行以下操作:

CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate ca = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(PUB_KEY.getBytes("UTF-8")));
for (X509Certificate cert : chain) {
    // Verifing by public key
    cert.verify(ca.getPublicKey());                      
}
Run Code Online (Sandbox Code Playgroud)

链中的一项进行了验证,而另一项则没有进行验证(这会抛出Exception)。我想我无法理解证书链是如何工作的。

是否应该使用同一个公共证书来验证链中的所有证书?

ssl android

5
推荐指数
1
解决办法
7408
查看次数

标签 统计

android ×1

ssl ×1