我使用的是帶有OKHTTP3客戶端的Retrofit 1.9,我試圖添加認證鎖定。下面是相關代碼:使用OKHTTP3認證鎖定進行改造
String hostname = "xxxxxx.xx";
CertificatePinner certificatePinner = new CertificatePinner.Builder()
.add(hostname, "sha1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=")
.build();
OkHttpClient client = new OkHttpClient.Builder()
.certificatePinner(certificatePinner)
.build();
return new RestAdapter.Builder()
.setRequestInterceptor(request -> {
request.addHeader("CONTENT-TYPE", "application/json");
})
.setEndpoint("https://xxxxxxxxxxxx").
.setClient(new Ok3Client(client))
.build();
不幸的是,它似乎並沒有工作。我沒有
"javax.net.ssl.SSLPeerUnverifiedException: Certificate pinning failure!"
異常,甚至我的主機或SHA是不正確的。誰能解釋爲什麼?
@lensniak你能告訴我你是如何得到的針腳(「sha1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx =」) –
我從我發送查詢的端點(serwer)獲得證書(sha1)。 – lesniak
但他們(服務器)只給出證書 –