TrustStrategy отличается сертификатами, чем в TrustManagerFactory - PullRequest
0 голосов
/ 07 февраля 2019

Я изучаю TrustStrategy для использования в сочетании с RestTemplate.В методе isTrusted проверенные сертификаты (распечатанные) отличаются от сертификатов, определенных в TrustManagerFactory (сертификаты, напечатанные здесь, взяты из файла cacerts).Почему это так?Что происходит за кулисами?

Редактировать: метод isTrusted регистрирует сертификаты моей компании.AcceptIssuers регистрирует сертификаты из файла cacerts.

Edit2: метод TrustStrategy называется временем выполнения.Сертификаты TrustManagerFactory называются временем компиляции.Может быть, это часть проблемы / решения.

TrustStrategy acceptingTrustStrategy = new TrustStrategy() {
        @Override
        public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
            for (X509Certificate certificate: x509Certificates) {
                log.info(certificate.getIssuerX500Principal().getName());
            }
            return true;
        }
    };

    TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("X.509");
    trustManagerFactory.init((KeyStore) null);
    TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
    X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
    X509Certificate[] acceptedIssuers = trustManager.getAcceptedIssuers();

    for(X509Certificate ai : acceptedIssuers) {
        log.info(ai.getIssuerX500Principal().getName());
    }

1 Ответ

0 голосов
/ 07 февраля 2019

Я нашел ответ сам!Так что я неправильно понял, что сертификаты, зарегистрированные с помощью метода isTrusted в TrustStrategy, являются клиентскими сертификатами.Фактически это сертификаты, возвращаемые сервером (и, следовательно, регистрируемые только во время выполнения).Сертификаты в TrustManagerFactory взяты из файла cacerts и являются доверенными сертификатами клиента.

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