Я использую Retrofit 2.0.0-beta3 с OkHttp 3.0.0-RC1 и сталкиваюсь с тривиальной проблемой ниже. Сервер HTTPS, к которому я подключаюсь, отлично работает, я использую вызов CertificatePinner и OkHttp, но не работает с вызовом Retrofit, хотя я устанавливаю тот же клиент в экземпляре Retrofit.
String hostname = "hostname";
CertificatePinner certificatePinner = new CertificatePinner.Builder()
.add(hostname, "sha1/rNKiM/IsTzTMJ09jpMtPq4qP+Q8=")
.add(hostname, "sha1/hL8+j9RH89wlAW7eNDSS1ZlZ8Z8=")
.build();
OkHttpClient client = new OkHttpClient.Builder().certificatePinner(certificatePinner).build();
// This call works
OkHttpClient client = new OkHttpClient.Builder().certificatePinner(certificatePinner).build();
Request request = new Request.Builder()
.url("https://" + hostname + "/api/me")
.addHeader("Authorization", "Bearer token")
.build();
okhttp3.Call call = client.newCall(request);
//execute call returns 200 with response
// This is not working and throwing SSL Connection Error
retrofit = new Retrofit.Builder()
.baseUrl("https://" + hostname)
.addConverterFactory(GsonConverterFactory.create(gson))
.client(client)
.build();