在使用带有 OKHttp 客户端和 Retrofit 的证书固定时,我们可能需要更新公钥。我的问题是在初始化改造后(例如,当收到新的公钥时)我将如何更新 http 客户端的证书 pinner?
我是否在 http 客户端中更新 CertificatePinner,然后创建一个新的改造实例?或者有没有更简单的方法?
任何建议表示赞赏。
OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
clientBuilder.certificatePinner(NetworkUtils.getCertificatePinner()) ;
OKHTTPClient client = clientBuilder.build();
Retrofit myRetrofit = new Retrofit.Builder()
.baseUrl(url)
.client(client)
.build();
// Now I need to update the certificate pinner, like this?
client.certificatePinner(NetworkUtils.getCertificatePinner());
myRetrofit = new Retrofit.Builder()
.baseUrl(url)
.client(client)
.build();