Я пытаюсь подключиться к хосту - dailychargeapi.healthprize.com и использую модификацию с пользовательским HttpClient. Я получаю эту ошибку 'java .security.cert.CertPathValidatorException: доверительный якорь для пути сертификации не найден ", когда я пытаюсь использовать TrustKit.
httpClientBuilder.sslSocketFactory(TrustKit.getInstance().getSSLSocketFactory(endpointProvider.getEndpointHostname()),
TrustKit.getInstance().getTrustManager(endpointProvider.getEndpointHostname()));
Все работает нормально, если я добавляю logi c в доверяй всем сертификатам. Я также проверил, является ли ЦС доверенным списком доверенных ЦА, и да, это так.
Ниже приведен код, который отлично работает -
RawCertificatePinner pinner = new RawCertificatePinner(mContext, R.raw.hp,"Password@123");
final KeyStore trustedCertificate = pinner.getTrustedCertificate();
final TrustManagerFactory trustManagerFactory = pinner.getTrustManagerFactory(trustedCertificate);
final SSLContext sslContext = pinner.getSSLContext(trustManagerFactory);
X509TrustManager trustManager = pinner.getX509TrustManager(trustManagerFactory);
httpClientBuilder.sslSocketFactory(sslContext.getSocketFactory(), trustManager);
Я хочу реализовать закрепление SSL с использованием ключей SHA. Ни хотите хранить сертификат локально, ни доверять всем сертификатам.