Trustkit Android - java .security.cert.CertPathValidatorException: доверительная привязка для пути сертификации не найдена - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь подключиться к хосту - 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. Ни хотите хранить сертификат локально, ни доверять всем сертификатам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...