我使用的是带有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
但他们(服务器)只给出证书 –