Leś*_*icz 6 ssl android retrofit okhttp3 certificate-pinning
我正在使用带有OKHTTP3客户端的Retrofit 1.9,我正在尝试添加认证固定.以下是相关代码:
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();
Run Code Online (Sandbox Code Playgroud)
不幸的是它似乎没有用.我没有
"javax.net.ssl.SSLPeerUnverifiedException: Certificate pinning failure!"
Run Code Online (Sandbox Code Playgroud)
异常,甚至我的主机或SHA都不正确.有谁能解释为什么?
要检查的几件事情,因为你已经编辑了部件是错误是常见的,我无法确定这些是否是你的问题,但是这两个错误都不会导致没有日志的固定.
1)对于hostname你的CertificatePinner,确保它只是主机名,如"www.example.com",而不是网址" https://www.example.com ".
2)对于.setEndpoint("xxxxxxxxxxxx"),确保您的端点是https,没有检查证书,http所以没有日志.
| 归档时间: |
|
| 查看次数: |
4868 次 |
| 最近记录: |