добавить файл .cer в ohttp - PullRequest
       14

добавить файл .cer в ohttp

0 голосов
/ 21 декабря 2018

Я использую okhttp в своем проекте и недавно переключился на https, администратор отправил .cer, и я попытался добавить его, но во всех примерах используется хэш из сертификата, подобный этому

val certificatePinner = CertificatePinner.Builder()
   .add(
           "www.example.com",
           "sha256/ZC3lTYTDBJQVf1P2V7+fibTqbIsWNR/X7CWNVW+CEEA="
   ).build()

val okHttpClient = OkHttpClient.Builder()
   .certificatePinner(certificatePinner)
   .build()

есть лиспособ добавить .cer или как получить из него ша?

1 Ответ

0 голосов
/ 21 декабря 2018

Вы захотите загрузить сертификат в ваше хранилище доверия, как в CustomTrust.java примере OkHttp:

X509TrustManager trustManager;
SSLSocketFactory sslSocketFactory;
try {
  trustManager = trustManagerForCertificates(trustedCertificatesInputStream());
  SSLContext sslContext = SSLContext.getInstance("TLS");
  sslContext.init(null, new TrustManager[] { trustManager }, null);
  sslSocketFactory = sslContext.getSocketFactory();
} catch (GeneralSecurityException e) {
  throw new RuntimeException(e);
}

client = new OkHttpClient.Builder()
    .sslSocketFactory(sslSocketFactory, trustManager)
    .build();
...