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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ty134  
#1 Оставлено : 13 января 2021 г. 19:41:24(UTC)
ty134

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

Группы: Участники
Зарегистрирован: 19.03.2015(UTC)
Сообщений: 26
Ангилла

Подскажите пожалуйста.


Смотрю пример:

package CAdES;
public class SignExample_2012_256 {

Пробую добавить корневые(доверенные) сертификаты через .getChain(), но получаю сообщение с примерным текстом "Сертификат не является доверенным" (trust).
Как мне добавить корневые(доверенные) сертификаты программно в процессе подписи?

System.setProperty("com.sun.security.enableAIAcaIssuers", "true"); -- не помогает (нужен протокол https, стоит http)
WARNING: Exception fetching certificates:
java.io.FileNotFoundException: http://ххх.ххххххх.ru/si.../xxxx_cryptopro_2020.cer (ошибка при построении цепочки сертификатов)

Добавлять на все компы корневые(доверенные) сертификаты в cacerts очень проблематично.


Код:
            


            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            Certificate user2 = cf.generateCertificate(new FileInputStream(PATH + "xxxx_cryptopro_2020.cer"));
            Certificate root = cf.generateCertificate(new FileInputStream(PATH + "GUC_gost2012.cer"));

            configAttached.getChain().add(user2);
            configAttached.getChain().add(root);

            /*TrustAnchor trustAnchorRoot = new TrustAnchor((X509Certificate) root, null);
            TrustAnchor trustAnchorRUC = new TrustAnchor((X509Certificate) RUC, null);
            configAttached.getChain().add(trustAnchorRoot.getTrustedCert());
            configAttached.getChain().add(trustAnchorRUC.getTrustedCert());*/




Offline Санчир Момолдаев  
#2 Оставлено : 13 января 2021 г. 19:56:07(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Добрый день!
именно добавление в cacerts примерно так
Код:
String cacertsFileName = System.getProperty("java.home") + "/lib/security/cacerts".replace('/', File.separatorChar);
FileInputStream fis = new FileInputStream(cacertsFileName);
KeyStore trustStore = KeyStore.getInstance("JKS");
trustStore.load(fis,"changeit".toCharArray());
...
Certificate cert = CertificateFactory
.getInstance("X509")
.generateCertificate(new FileInputStream(certFileName));
trustStore.setCertificateEntry(certFileName,cert);
...
trustStore.store(fileOutputStream,"changeit".toCharArray())
Техническую поддержку оказываем тут
Наша база знаний
Offline ty134  
#3 Оставлено : 14 января 2021 г. 7:35:57(UTC)
ty134

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

Группы: Участники
Зарегистрирован: 19.03.2015(UTC)
Сообщений: 26
Ангилла

мне в любом случае необходимо добавить сертификат в cacerts, другого способа нет?
Offline Санчир Момолдаев  
#4 Оставлено : 14 января 2021 г. 9:03:29(UTC)
Санчир Момолдаев

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

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

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