Цепочка сертификатов этого сервера неполная. Оценка ограничена до B с openssl, но JDK не было - PullRequest
0 голосов
/ 09 ноября 2018

Я получил подсказку «Цепочка сертификатов этого сервера неполная. Оценка ограничена до B» при тестировании ssl, когда я использую openssl, но я получил полную цепочку сертификатов, когда использую jdkssl.

Функция openssl или моя конфигурация неверны?

Ниже приведен валидный код клиента.

SSLContext context = SSLContext.getInstance("TLS");
    X509TrustManager x509m = new X509TrustManager() {

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            System.out.println("getAcceptedIssuers......");
            return null;
        }

        @Override
        public void checkServerTrusted(X509Certificate[] chain, String authType)
                throws CertificateException {
            System.out.println("checkServerTrusted......");
            //When I use jdkssl the chain'value is all of my server configured.
            //But when openssl the chain'value only one
            //Why this happened? is my server configuration incorrect or this is openssl's feature?
        }

        @Override
        public void checkClientTrusted(X509Certificate[] chain, String authType)
                throws CertificateException {
            System.out.println("checkClientTrusted......");

        }
    };
    context.init(null, new TrustManager[] { x509m }, new SecureRandom());
...