Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Анатолий Широков  
#1 Оставлено : 30 октября 2020 г. 15:16:59(UTC)
Анатолий Широков

Статус: Участник

Группы: Участники
Зарегистрирован: 22.01.2019(UTC)
Сообщений: 14
Мужчина
Российская Федерация
Откуда: Санкт-Петербург

Сказал «Спасибо»: 3 раз
Добрый день!

JCP: ver 2.0 rel 2.0.41618

Пытаюсь установить соединение с сервером, у которого сертификат ГОСТ 2001, выданный нашим локальным УЦ.
Через настройки JCP в хранилище сертификатов d:\\cryptopro\\trust-certs был положен рутовый сертификат нашего локального УЦ.


Код:
			System.setProperty("javax.net.ssl.supportGVO", "true");
			System.setProperty("javax.net.debug", "ssl,handshake,data,trustmanager");  
			System.setProperty("java.util.logging.ConsoleHandler.level", "FINE");

			System.setProperty("com.sun.security.enableCRLDP", "true");
			System.setProperty("com.ibm.security.enableCRLDP", "true");
			System.setProperty("ru.CryptoPro.JCP.tools.JCPLogger.level", "FINE");

			KeyStore trustedKeyStore = KeyStore.getInstance("CertStore");
			trustedKeyStore.load(new FileInputStream("D:\\cryptopro\\trust-certs"), "xxx".toCharArray());
			TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
			tmf.init(trustedKeyStore);
			
			SSLContext sc = SSLContext.getInstance("GostTLS");
            sc.init(null, tmf.getTrustManagers(), null);

			final URL url = new URL("https://ourserver");
			final HttpsURLConnection http = (HttpsURLConnection) url.openConnection();
			http.setSSLSocketFactory(sc.getSocketFactory());
			http.setRequestMethod("GET");
			http.setUseCaches(false);
			http.setDoOutput(true);
			http.connect();


При запуске этого кода получают стек:

Цитата:

WARNING: main, handling exception: javax.net.ssl.SSLHandshakeException: ru.CryptoPro.ssl.pc_4.cl_5: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
javax.net.ssl.SSLHandshakeException: ru.CryptoPro.ssl.pc_4.cl_5: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
at ru.CryptoPro.ssl.cl_2.a(Unknown Source)
at ru.CryptoPro.ssl.SSLSocketImpl.a(Unknown Source)
at ru.CryptoPro.ssl.cl_59.a(Unknown Source)
at ru.CryptoPro.ssl.cl_59.a(Unknown Source)
at ru.CryptoPro.ssl.cl_16.a(Unknown Source)
at ru.CryptoPro.ssl.cl_16.a(Unknown Source)
at ru.CryptoPro.ssl.cl_59.s(Unknown Source)
at ru.CryptoPro.ssl.cl_59.a(Unknown Source)
at ru.CryptoPro.ssl.SSLSocketImpl.a(Unknown Source)
at ru.CryptoPro.ssl.SSLSocketImpl.n(Unknown Source)
at ru.CryptoPro.ssl.SSLSocketImpl.b(Unknown Source)
at ru.CryptoPro.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:167)
at OperatorTest.test(OperatorTest.java:140)


log.txt (8kb) загружен 2 раз(а).

В чем может быть проблема?

Заранее спасибо!

Отредактировано пользователем 30 октября 2020 г. 16:57:22(UTC)  | Причина: исправлена опечатка

Offline Анатолий Широков  
#2 Оставлено : 30 октября 2020 г. 19:30:56(UTC)
Анатолий Широков

Статус: Участник

Группы: Участники
Зарегистрирован: 22.01.2019(UTC)
Сообщений: 14
Мужчина
Российская Федерация
Откуда: Санкт-Петербург

Сказал «Спасибо»: 3 раз
Проблема была в неправильном доверенном сертификате.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.