0
AndroidでRetrofitで証明書のピン割り当てを使用しようとしています。 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はリフレクションを使ってトラストマネージャをルックアップする必要があり、それは遅くなります。 –