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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline U3962  
#1 Оставлено : 28 марта 2017 г. 12:46:14(UTC)
U3962

Статус: Активный участник

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 2 раз в 2 постах
Добрый день.
Создаю подпись CADES_T
Подпись создается и ее принимают, но создается очень долго (~10 сек).
Пример как создается подпись - здесь
Есть подозрение, что это из за онлайн проверки CRL:
Код:
System.setProperty("ru.CryptoPro.reprov.enableCRLDP", "true");
System.setProperty("com.sun.security.enableCRLDP", "true"); 
System.setProperty("com.ibm.security.enableCRLDP", "true"); 

Подключение идет через прокси.
Обращение идет на:
http://reestr-pki.ru/cdp/guc.crl
http://rostelecom.ru/cdp/guc.crl
Подскажите, есть ли возможность реализовать оффлайн проверку?
Как работает параметр CRL_FILENAME?
Offline Евгений Афанасьев  
#2 Оставлено : 28 марта 2017 г. 17:29:40(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте.
При создании подписи в текуйщей версии нельзя указать CRL или отключить проверку на отзыв. В следующей версии при создании подписи CAdES-BES или CAdES-T можно будет в addSigner передать CRL (оффлайн).
CRL_FILENAME - вероятно, из примера. Используется для указания CRL при проверке подписи (не при создании).
Offline heavyside  
#3 Оставлено : 7 декабря 2018 г. 13:12:17(UTC)
heavyside

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

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

Сказал(а) «Спасибо»: 11 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
При создании подписи в текуйщей версии нельзя указать CRL или отключить проверку на отзыв. В следующей версии при создании подписи CAdES-BES или CAdES-T можно будет в addSigner передать CRL (оффлайн).


Здравствуйте!
Читал изменения версий за 2 года, но так и не понял, появилась ли оффлайн проверка.
Так как поиск стабильно выводит на данную тему, спрашиваю тут: появилась ли в JCP v2.0R2 или ещё где возможность оффлайн проверки?
Offline Евгений Афанасьев  
#4 Оставлено : 7 декабря 2018 г. 13:23:19(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте.
да, метод addSigner для создания подписи расширен списком CRL, которые можно передать (см. changelog):
* cades: добавлена возможность передать CRL при создании или усовершенствовании подписи (JCP-907)
Описание методов можно увидеть в CAdES-javadoc.jar в папке javadoc дистрибутива jcp.

Отредактировано пользователем 7 декабря 2018 г. 13:23:57(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
heavyside оставлено 07.12.2018(UTC)
Offline heavyside  
#5 Оставлено : 7 декабря 2018 г. 15:15:06(UTC)
heavyside

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

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

Сказал(а) «Спасибо»: 11 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
да, метод addSigner для создания подписи расширен списком CRL, которые можно передать (см. changelog):
* cades: добавлена возможность передать CRL при создании или усовершенствовании подписи (JCP-907)
Описание методов можно увидеть в CAdES-javadoc.jar в папке javadoc дистрибутива jcp.


Супер! Спасибо!
Скачал, поискал в чейнджлоге, но указанное нашёл для версии 2018-03-12 КриптоПро Android CSP 5.0.39658.
Для JCP 2.0 нашёл такую формулировку в версии 2016-12-14 КриптоПро JCP 2.0.39086:
* cades: добавлена возможность задать CRL для проверки сертификатов при создании подписи CAdES-BES (JCP-711)
Засомневался будет работать или нет для CAdES-T.

По javadoc нашёл описание параметра "cRLs - Список CRL для проверки цепочки сертификатов подписанта или цепочки сертификатов штампа времени при создании подписи формата CAdES-BES или CAdES-T. Может быть null."
так что и для CAdES-T тоже.
Теперь осталось дописать получение CRL )
Offline Евгений Афанасьев  
#6 Оставлено : 7 декабря 2018 г. 16:52:47(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Автор: heavyside Перейти к цитате
поискал в чейнджлоге, но указанное нашёл для версии 2018-03-12 КриптоПро Android CSP 5.0.39658.

В первый раз попало в android-сборку.
Код:

 List<String> urls = AdESUtility.getCrlUrls(certificate);


Offline Michael S  
#7 Оставлено : 21 июня 2022 г. 15:57:14(UTC)
mixa

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

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

Сказал(а) «Спасибо»: 1 раз
Добрый день, подниму эту тему.

Я создаю Cades-T, код такой:

Код:
    fun sign(pKey: PrivateKey, cert: X509Certificate, data: ByteArray): ByteArray {
        val cadesSignature = CAdESSignature(true)
        cadesSignature.certificateStore = JcaCertStore(listOf(cert))

        val crlUrls = AdESUtility.getCrlUrls(cert)
        log.info("CRL urls $crlUrls")

        log.info(">>> start dl crl")
        val crl = X509CRLImpl(URL("http://uc.nalog.ru/cdp/4e5c543b70fefd74c7597304f2cacad7967078e4.crl").readBytes())
        log.info(">>> start add signer")
        cadesSignature.addSigner(
            "JCSP",
            //getDigestOid(pKey),
            null,
            //getPublicKeyOid(pKey),
            null,
            pKey,
            listOf(cert),
            CAdESType.CAdES_T,
            tspServer, //http://uc.nalog.ru/tsp/tsp.srf
            false,
            null,
            null,
            setOf(crl),
        )
        log.info(">>> end add signer")

        log.info("cades sign created")

        val cadesOut = ByteArrayOutputStream()
        cadesSignature.open(cadesOut)
        cadesSignature.update(data)
        cadesSignature.close()
        log.info("cades sign done")
        return cadesOut.toByteArray()
    }



в переменной crl - тот CRL, который прописан в свойствах сертификата.

Выставил лог в уровень trace, и вижу что при создании подписи, в независимости от того передан последним аргументом setOf(crl) или null, идет обращение не только к http://uc.nalog.ru/cdp/4...304f2cacad7967078e4.crl, но еще и к http://reestr-pki.ru/cdp/guc_gost12.crl, http://company.rt.ru/cdp/guc_gost12.crl, http://rostelecom.ru/cdp/guc_gost12.crl

Как-то можно избежать обращения к дополнительным CRL? Или хотя бы только к одному из них обращаться, тк все 3 дополнительных CRL совпадают.

Другой момент, скачивание всех 4 CRL происходит почти каждый раз при подписании данных. При подписании происход несколько обращений к каждому CRL, первое идет с сообщением Downloading new CRL..., последующие с сообщением cache hit, но при попытке создать новую подпсь (без перезагрузки JVM), опять Downloading new CRL... Иногда cache hit, но чаще нет.

В результате, подписание занимет около минуты, тк CRL загружаются довольно долго.

Как-то можно настроить срок хранения CRL в кэше? От чего он зависит?

Спасибо!

java-csp-5.0.42119-A
CSP 5.0.12000 KC1


Offline Michael S  
#8 Оставлено : 21 июня 2022 г. 21:36:21(UTC)
mixa

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

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

Сказал(а) «Спасибо»: 1 раз
Прошу прощения, по поводу http://reestr-pki.ru/cdp/guc_gost12.crl и тд вопрос снимается - эти CRL DP прописаны в промежуточном сертификате ФНС (между конечным и корневым МинКомСвязи), оказывается; думал, что они в самом CSP где-то зашиты. Значит, если JCSP ходит к ним, то так и надо.

По поводу кэширования CRL вопрос остается.

Offline Евгений Афанасьев  
#9 Оставлено : 26 июня 2022 г. 12:11:47(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте.
Автор: Michael S Перейти к цитате
Как-то можно избежать обращения к дополнительным CRL?

Скорее всего, у вас в коде есть строки вида (enableCRLDP):
Цитата:

System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");

enableCRLDP=true позволяет обращаться в сеть.
Offline Евгений Афанасьев  
#10 Оставлено : 26 июня 2022 г. 12:30:43(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Автор: Michael S Перейти к цитате

Другой момент, скачивание всех 4 CRL происходит почти каждый раз при подписании данных. При подписании происход несколько обращений к каждому CRL, первое идет с сообщением Downloading new CRL..., последующие с сообщением cache hit, но при попытке создать новую подпсь (без перезагрузки JVM), опять Downloading new CRL... Иногда cache hit, но чаще нет.
В результате, подписание занимет около минуты, тк CRL загружаются довольно долго.
Как-то можно настроить срок хранения CRL в кэше? От чего он зависит?

Если CRL скачан, то он будет добавлен в кэш и в течение какого-то времени будет браться из него при последующих обращениях. Если возможно, включите, пожалуйста, подробный лог для JCP и приложите его.
Автор: Michael S Перейти к цитате

Как-то можно настроить срок хранения CRL в кэше? От чего он зависит?

Настроить снаружи нельзя. Обновление кэша может произойти, если новое обращение не уложилось в заданный интервал и если crl изменился на сервере с момента последнего запроса. Кэшируются все ответы, возможно, ответы по каким-то адресам неуспешны.

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
mixa оставлено 02.07.2022(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.