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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Павел Чупин  
#1 Оставлено : 14 июля 2022 г. 13:18:51(UTC)
Павел Чупин

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

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

Сказал(а) «Спасибо»: 2 раз
Добрый день.
Есть такая проблема. Для заказчика реализована подпись файлов подписью типа CAdES_BES.
При использовании прямого доступа в интернет проверка валидности сертификатов цепочки по спискам отзывов выполняется корректно.
Но у заказчика используется прокси-сервер.
Реализация выполнена с помощью Spring Boot и использования встроенного в Spring TomCat-а.
Включение логирования root: debug не приводит к расширенному включению логирования самой библиотеки CAdES и не понятно куда она вообще пытается подключаться.

Как включить расширенное логирование библиотеки CAdES до уровня debug?
Подскажите как нужно настроить класс CAdESSignature для того что бы список отзывов работал и проверялся через прокси?
Возможно нужно в настройках самой Java сделать какие либо настройки или установить их програмно?

Сейчас при инициализации класса подписи используются такие настройки:
Security.addProvider(new JCSP());
Security.addProvider(new CryptoProvider());
Security.addProvider(new RevCheck());
Security.addProvider(new BouncyCastleProvider());
Security.setProperty("crypto.policy", "unlimited");
System.setProperty("ru.CryptoPro.reprov.enableCRLDP", checkCrlOffline ? "false" : "true");
System.setProperty("com.sun.security.enableCRLDP", checkCrlOffline ? "false" : "true");
System.setProperty("com.ibm.security.enableCRLDP", checkCrlOffline ? "false" : "true");
System.setProperty("ocsp.enable", checkCrlOffline ? "false" : "true");

Сама подпись:
AdESConfig.setDefaultProvider(providerName);
final CAdESSignature cadesSignature = new CAdESSignature(true);
cadesSignature.addSigner(providerName
, null //AlgorithmUtility.keyAlgToDigestOid(privateKeyBank.getAlgorithm())
, null //JCP.GOST_PARAMS_EXC_2012_256_KEY_OID //JCP.GOST_PARAMS_SIG_2012_256_KEY_OID
, privateKeyBank
, chainCertificatesBank
, CAdESType.CAdES_BES
, null
, false
, attr
, null
, crlSet
);


Offline Санчир Момолдаев  
#2 Оставлено : 15 июля 2022 г. 9:12:56(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,193
Российская Федерация

Сказал(а) «Спасибо»: 100 раз
Поблагодарили: 274 раз в 254 постах
Добрый день!
прокси настраивается стандартно
Код:
System.setProperty("http.proxyHost", "10.5.45.250");
System.setPropery("http.proxyPort", "3128");


сбор логов описан тут

еще можно отключить проверку при создании cades-bes
Код:
// создаем открепленную подпись
CAdESSignature cAdESSignature = new CAdESSignature(true);
// отключаем проверку сертификата для cades-bes для ускорения.
cAdESSignature.setOptions(new Options().disableCertificateValidation());
Техническую поддержку оказываем тут
Наша база знаний
Offline Павел Чупин  
#3 Оставлено : 15 июля 2022 г. 9:26:25(UTC)
Павел Чупин

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Санчир Момолдаев Перейти к цитате
Добрый день!
прокси настраивается стандартно
Код:
System.setProperty("http.proxyHost", "10.5.45.250");
System.setPropery("http.proxyPort", "3128");


сбор логов описан тут

еще можно отключить проверку при создании cades-bes
Код:
// создаем открепленную подпись
CAdESSignature cAdESSignature = new CAdESSignature(true);
// отключаем проверку сертификата для cades-bes для ускорения.
cAdESSignature.setOptions(new Options().disableCertificateValidation());



Спасибо. Будем пробовать.
Отключение в данном случаи уже не актуально.
Offline Павел Чупин  
#4 Оставлено : 18 июля 2022 г. 7:05:23(UTC)
Павел Чупин

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Санчир Момолдаев Перейти к цитате
Добрый день!
прокси настраивается стандартно
Код:
System.setProperty("http.proxyHost", "10.5.45.250");
System.setPropery("http.proxyPort", "3128");


сбор логов описан тут

еще можно отключить проверку при создании cades-bes
Код:
// создаем открепленную подпись
CAdESSignature cAdESSignature = new CAdESSignature(true);
// отключаем проверку сертификата для cades-bes для ускорения.
cAdESSignature.setOptions(new Options().disableCertificateValidation());



Добрый день.
Попробовали включить прокси по стандартному способу указания настроек, но при проверке crl получаем такую ошибку

2022-07-15 14:01:30.170 DEBUG 8532 --- [scheduling-1] s.n.www.protocol.http.HttpURLConnection : sun.net.www.MessageHeader@339480f5 pairs: {GET http://reestr-pki.ru/cdp/guc2021.crl HTTP/1.1: null}{User-Agent: Java/17.0.3}{Host: reestr-pki.ru}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Proxy-Connection: keep-alive}
2022-07-15 14:01:30.310 DEBUG 8532 --- [scheduling-1] s.n.www.protocol.http.HttpURLConnection : sun.net.www.MessageHeader@2c5693d59 pairs: {null: HTTP/1.1 407 authenticationrequired}{Via: 1.1 10.77.17.130 (McAfee Web Gateway 10.2.5.39162)}{Date: Fri, 15 Jul 2022 11:01:30 GMT}{Content-Type: text/html}{Cache-Control: no-cache}{Content-Length: 2037}{X-Frame-Options: deny}{Proxy-Connection: Keep-Alive}{Proxy-Authenticate: Negotiate}
2022-07-15 14:01:30.310 DEBUG 8532 --- [scheduling-1] s.n.www.protocol.http.HttpURLConnection : Proxy Authentication for AuthenticationHeader: prefer null returned null


Ошибка явно связана с авторизацией на прокси, при этом со слов заказчика авторизация используется Windows.
Не подскажете какой настройки не хватает что бы Java использовала стандартную win авторизацию без указания логина и пароля?
Так же вопрос есть возможность в Cades передать настроенный connection что бы она использовала именно его?


Offline Евгений Афанасьев  
#5 Оставлено : 18 июля 2022 г. 11:11:53(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте, посмотрите java.net.useSystemProxies в https://docs.oracle.com/...iles/net-properties.html
Offline Павел Чупин  
#6 Оставлено : 18 июля 2022 г. 11:45:45(UTC)
Павел Чупин

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте, посмотрите java.net.useSystemProxies в https://docs.oracle.com/...iles/net-properties.html


Спасибо за ответ.

Да и с этим свойством уже попробовали ни как не пролазят проверки.

вот такой сейчас используем перечень свойств.
System.setProperty("java.net.useSystemProxies", useProxy.toString());
System.setProperty("http.proxyHost", httpHost);
System.setProperty("http.proxyPort", httpPort);
System.setProperty("https.proxyHost", httpsHost);
System.setProperty("https.proxyPort", httpsPort);

System.setProperty("jdk.http.auth.proxying.disabledSchemes", "");
System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");

System.setProperty("jdk.http.ntlm.transparentAuth", "allHosts");
System.setProperty("http.auth.ntlm.domain", domain);
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.