0
我正尝试使用Android上的证书锁定进行修改。我正在评估一个有效的Verisign签名证书。即使使用CA签名证书,证书锁定也会失败
我得到以下错误:
HTTP FAILED: javax.net.ssl.SSLPeerUnverifiedException: Failed to find a trusted cert that signed Certificate.
为什么不能证书平纳不评估对设备的CA根证书?它是否无法访问设备信任?或者,设备信任可能不包含整个证书链。但是为什么我的SSL通信不会失败?
// Pin Certificate
CertificatePinner certificatePinner = new CertificatePinner.Builder()
.add("www.mydomain.com", "sha256/somerandompublickeystring")
.build();
// To handle self-signed cert
OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
OkHttpClient client = clientBuilder.connectTimeout(120, TimeUnit.SECONDS)
.writeTimeout(120, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS)
.certificatePinner(certificatePinner)
.build();
考虑给OkHttp两个证书平纳和信任管理器。否则,OkHttp需要用反射来查找信任管理器,而且速度较慢。 –