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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline seacomb  
#1 Оставлено : 29 апреля 2019 г. 13:33:41(UTC)
seacomb

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
При выполнении скрипта создания CAdES-T подписи

Код:

        System.setProperty("com.sun.security.enableCRLDP", "true"); // для проверки по CRL DP
        System.setProperty("com.sun.security.enableAIAcaIssuers", "true"); // для загрузки сертификатов по AIA из сети
        System.setProperty("ru.CryptoPro.reprov.enableAIAcaIssuers", "true"); // для загрузки сертификатов по AIA из сети

        try {
            ISignatureContainer container = new Container2019();
            IConfiguration config = new SimpleConfiguration(container, true, false);
            CAdESSignature cadesSignature = new CAdESSignature(config.detached());
    
            cadesSignature.setCertificateStore(config.getCertificateStore());
            cadesSignature.setCRLStore(config.getCRLStore());
            
            cadesSignature.addSigner(config.getProviderName(),
                config.getDigestOid(),
                config.getPublicKeyOid(),
                config.getPrivateKey(),
                config.getChain(),
                CAdESType.CAdES_T,
                config.getTSAAddress(),
                false,
                null,
                null);
    
            // Сохраним подпись либо в файл, либо в массив.
            OutputStream outSignatureStream = config.useStream()
                ? new FileOutputStream(outFileName) : new ByteArrayOutputStream();
    
            cadesSignature.open(outSignatureStream);
            InputStream dataStream = config.getDataStream();
            SignExample.cadesSignatureUpdate(cadesSignature, dataStream); // хеш
    
            
            // Завершаем создание подписи с двумя подписантами.
            cadesSignature.close();
            dataStream.close();
            outSignatureStream.close();
            
            InputStream signatureStream;
            
            // Если это массив, сохраним и снова прочтем.
            if (!config.useStream() && outSignatureStream instanceof ByteArrayOutputStream) {
                byte[] cadesCms = ((ByteArrayOutputStream)outSignatureStream).toByteArray();
                if (outFileName != null) {
                    Array.writeFile(outFileName, cadesCms);
                }
                signatureStream = new ByteArrayInputStream(cadesCms);
            } else {
                signatureStream = new FileInputStream(outFileName);
            }
        } catch(Exception e) {
            e.printStackTrace();
        }


на TSA-сервере http://www.cryptopro.ru:80/tsp/ получаю такую ошибку:


Код:


org.bouncycastle.cms.CMSAttributeTableGenerationException: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.getAttributes(Unknown Source)
	at org.bouncycastle.cms.SignerInfoGenerator.generate(Unknown Source)
	at org.bouncycastle.cms.CMSSignedDataStreamGenerator$CmsSignedDataOutputStream.close(Unknown Source)
	at ru.CryptoPro.CAdES.cl_1.close(Unknown Source)
	at ru.test.TestMain.main(TestMain.java:111)
Caused by: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate', 
	... 5 more
Caused by: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate', 
	at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerBESImpl.verify(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
	at ru.CryptoPro.CAdES.timestamp.external.InternalTimeStampValidationProcessImpl.validate(Unknown Source)
	at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
	at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.a(Unknown Source)
	... 5 more
Caused by: Error building certification path for STREET="ул. Сущёвский вал, д. 18", CN="Тестовая служба штампов времени ООО \"КРИПТО-ПРО\"", OU=Тестовый УЦ, O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@cryptopro.ru, OID.1.2.643.3.131.1.1=#120C303037373132333435363738, OID.1.2.643.100.1=#120D31303037373132333435363738: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate', 
	at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
	at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
	at ru.CryptoPro.AdES.external.signature.AdESSigner.build(Unknown Source)
	... 12 more




пробовал менять TSA-сервера на следующие:
"http://qs.cryptopro.ru/tsp/",
"http://qs.cryptopro.ru/tsp2012/",
"http://qs.cryptopro.ru/tsp2001/",

пробовал загружать в cacert сертификаты данных TSA-серверов - не помогло.
Ошибки аналогичные (например для http://qs.cryptopro.ru/tsp2012/):

Код:

org.bouncycastle.cms.CMSAttributeTableGenerationException: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.getAttributes(Unknown Source)
	at org.bouncycastle.cms.SignerInfoGenerator.generate(Unknown Source)
	at org.bouncycastle.cms.CMSSignedDataStreamGenerator$CmsSignedDataOutputStream.close(Unknown Source)
	at ru.CryptoPro.CAdES.cl_1.close(Unknown Source)
	at ru.test.TestMain.main(TestMain.java:69)
Caused by: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate', 
	... 5 more
Caused by: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate', 
	at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerBESImpl.verify(Unknown Source)
	at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
	at ru.CryptoPro.CAdES.timestamp.external.InternalTimeStampValidationProcessImpl.validate(Unknown Source)
	at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
	at ru.CryptoPro.AdES.timestamp.TSPTimeStampValidatorImpl.validate(Unknown Source)
	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.a(Unknown Source)
	... 5 more
Caused by: Error building certification path for CN="ООО \"КРИПТО-ПРО\"", OU="Служба TSP Аккредитованного УЦ ООО \"КРИПТО-ПРО\" (2.0)", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca20@cryptopro.ru, STREET="ул. Сущёвский вал, д. 18", OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; error codes: [33] 'PKIX failure: invalid parameters of certificate', 
	at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
	at ru.CryptoPro.AdES.certificate.CertificateChainBuilderImpl.build(Unknown Source)
	at ru.CryptoPro.AdES.external.signature.AdESSigner.build(Unknown Source)
	... 12 more



Правильно ли я понимаю, что проблема в сертификатах, которые возвращаются из TSA?
Что мне нужно сделать, чтобы получить подпись CADES-T?

P.S.
скрипт запускался на java1.7+jcp-2.0.39014
и на java11+jcp-2.0.40132-A

Отредактировано пользователем 29 апреля 2019 г. 13:37:04(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 29 апреля 2019 г. 15:24:54(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Скорее всего, проблема в том, что не установлен корневой сертификат службы времени в cacerts.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
seacomb оставлено 29.04.2019(UTC)
Offline seacomb  
#3 Оставлено : 29 апреля 2019 г. 17:03:17(UTC)
seacomb

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
Спасибо.
Не подскажете, где взять корневой сертификат службы времени для TSA-сервера по адресу http://www.cryptopro.ru:80/tsp/ ?

И еще вопрос,
может есть какой-то инструмент, которым можно было бы отлавливать сертификат любого используемого TSA-сервера? (по типу как в браузере "просмотреть сертификат" на https-сайте)
Offline Евгений Афанасьев  
#4 Оставлено : 30 апреля 2019 г. 18:42:21(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Если включить логирование для JCPLogger уровня FINE, то в лог будет выведен сертификат в base64 перед тем, как произойдет ошибка построения цепочки.
Есть утилита tsputil в составе, если не ошибаюсь, эцп sdk, для запросов tsp.
Offline mr-clx  
#5 Оставлено : 17 января 2020 г. 13:14:56(UTC)
mr-clx

Статус: Новичок

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

Столкнулся с похожей проблемой.
На TSP сервере вероятно обновили сертификаты.
И так же стала ломаться подпись при проверке цепочки сертификата.

ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target

В логе видно только краткая информация о сертификатах, на которых, вероятно, ломается процесс (издатели, sn).
Хотелось бы получить сам сертификат.
Это возможно?

Цитата:
в лог будет выведен сертификат в base64 перед тем, как произойдет ошибка построения цепочки

В подробный лог уходит только TSP timestamp [BASE64]. Что не похоже на сертификат (как и его бинарное представление).


Offline Евгений Афанасьев  
#6 Оставлено : 17 января 2020 г. 13:16:43(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Обычно адрес службы примерно соответствует адресу УЦ, где можно получить сертификаты.
Приведите лог, поищем сертификат.
Offline mr-clx  
#7 Оставлено : 17 января 2020 г. 13:29:53(UTC)
mr-clx

Статус: Новичок

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

Спасибо за подсказку.
Адрес TSP сервера http://tsp.uc-em.ru:2020/tsp/tsp.srf

Пересмотрел сертификаты найти на сайте-владельце TSP.
https://www.uc-em.ru/certificats.html

На всякий случай установил CA в локальное хранилище jdk.

Интересно, что это всё перестало работать с начала этого года (когда декларировали переход на ГОСТ 2012, но мы давно работаем с ГОСТ 2012).

Код:
org.bouncycastle.cms.CMSAttributeTableGenerationException: Error building certification path for STREET="Большой Сухаревский переулок, д.11, стр.1, оф.6", CN=АО «Электронная Москва», OU=Удостоверяющий центр, O=АО «Электронная Москва», L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@e-moskva.ru, OID.1.2.643.3.131.1.1=#120C303037373037333134303239, OID.1.2.643.100.1=#120D31303237373037303133383036: ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target

	at ru.CryptoPro.CAdES.pc_2.pc_0.cl_7.getAttributes(Unknown Source)

Отредактировано пользователем 17 января 2020 г. 13:32:20(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#8 Оставлено : 17 января 2020 г. 13:35:11(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Приложите лог. Подпись T проверяется на текущий момент времени, возможно, истек срок действия сертификата подписи и служба тут не при чем. Или изменился сертификат службы, но в нем появилось необрабатываемое критическое расширение и его цепочка не строится.

Отредактировано пользователем 17 января 2020 г. 13:35:51(UTC)  | Причина: Не указана

Offline mr-clx  
#9 Оставлено : 17 января 2020 г. 13:44:45(UTC)
mr-clx

Статус: Новичок

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

Автор: Евгений Афанасьев Перейти к цитате
Приложите лог. Подпись T проверяется на текущий момент времени, возможно, истек срок действия сертификата подписи и служба тут не при чем. Или изменился сертификат службы, но в нем появилось необрабатываемое критическое расширение и его цепочка не строится.


Сертификат подписи "боевой" (проверял и с другим).
Код:
"*** Ключ обмена*** 
ГОСТ Р 34.10-2012 DH 256 бит

 * Параметры подписи и обмена:
ГОСТ Р 34.10 256 бит, параметры обмена по умолчанию
 * Параметры хэширования:
Функция хэширования ГОСТ Р 34.11-2012 (256)
 * Параметры шифрования:
ГОСТ 28147-89, TC 26 параметры шифрования Z
 * Срок действия закрытого ключа:
по 12-10-2020 17:20:01"

cades_t_console.20200117.1.log (48kb) загружен 2 раз(а).
Offline Евгений Афанасьев  
#10 Оставлено : 17 января 2020 г. 14:10:08(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Не строится для сертификата:
Код:

serial number: 138f26f002fabfe91478d53aed7676708
subject: STREET="Большой Сухаревский переулок, д.11, стр.1, оф.6", CN=АО «Электронная Москва», OU=Удостоверяющий центр, O=АО «Электронная Москва», L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@e-moskva.ru, OID.1.2.643.3.131.1.1=#120C303037373037333134303239, OID.1.2.643.100.1=#120D31303237373037303133383036
issuer: CN=АО «Электронная Москва», O=АО «Электронная Москва», STREET="Большой Сухаревский пер., д. 11, стр. 1, оф. 6", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=support@e-moskva.ru, OID.1.2.643.3.131.1.1=#120C303037373037333134303239, OID.1.2.643.100.1=#120D31303237373037303133383036

Это сертификат подписи? Промежуточные сертификаты подаете в verify?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.