Форум OlegON > Программы и оборудование для автоматизации торговли > ЕГАИС в опте и рознице

Очередной подарок на новый 2022 год от ФНС и ФСРАР теперь по ЭЦП и ГОСТ сертификатам : ЕГАИС в опте и рознице

23.11.2024 10:18


20.12.2021 20:55
Upd: Тулза работает с джакартами (и никому тепеь не нужными етокенами) через aladdin'овскую jcfs.dll. Она видит (и копирует) ключевой контейнер, если тот был создан, например, при установке сертификата из pfx даже если не выставлена галка, позволяющая делать ключи экспортируемыми. На джакарте, приехавшей из ФНС она не сработала - нет ни соответствующей структуры директорий, ни файлов, ни (что прек=скорбно) каких-либо ошибок, возвращаемых библиотекой. Ничего. Но криптопро все видит. Отсюда предположение что описанной либы уже мало и работать с токеном надо на более низком уровне - через инструкции APDU (а там черт ногу сломит, документации внятной устанешь искать)
20.12.2021 21:03
И судя по всему на этом же уровне можно достучаться до содержимого рутокена
20.12.2021 22:24
Чуть-чуть по теме с мисты
Цитата:
"Неизвлекаемый" и "некопируемый" - не одно и то же. Неизвлекаемость означает, что ключ в принципе не покидает токена, вся криптография производится аппаратно внутри ключа. Некопируемость же - это всего лишь флажок в свойствах ключа, что этот ключ нельзя скопировать средствами КрипроПро.

Сертифицированные для ФНС рутокены есть как с настоящей неизвлекаемостью ключа (Рутокен ЭЦП), так и с её имитацией в виде "некопируемости" (Рутокен Лайт).
21.12.2021 07:11
1. Я не геворил ни слова про "неизвлекаемость" - только про "неэкспортируемые" ключи
2. Специально для педантов брал этот термин в кавычки исходя из следующих соображений:
2.1 Когда ключевой контейнер генерируется через программный криптопровайдер (тот же криптопро), имеется возможность одним из флагов указать CRYPT_EXPORTABLE, дающий возможность дальнейшего экспорта закрытых ключей из контейнера.
2.2. В дальнейшем, сертификат, привязанный к такому контейнеру, можно экспортировать вместе с закрытыми ключами в тот же pfx файл (в общем виде, кажется, контейнер p12). Ну, или перегнать с токена в реестр, кому как больше нравися. Если этот флаг не ставить, у сертификата "пропадает" возможность экспорта закрытого ключа
2.3 Из п.2.2 становится поятно, что флаг имеет влияние исключительно на криптопровайдер. В ключевых контейнерах криптопро это вообще всего 1 бит - прописал его в нужном месте, контейнер (а вместе с ним и закрытый ключ и сертификат) стал экспортируемым
3. Так получилось, что по файловой системе токенов от аладдина (етокен, жакарта) можно гулять с использованием входяшей в состав дров дээлэлины jcfs.dll (ну или etsdk.dll) - про это можно найти 2 статьи на хабре, в них описаны скрипты для прогулок. Файлы ключевого контейнера достаточно легко сливаются на диск - получается копия "неэкспортируемого" контейнера. В случае криптопро - вообще 1-в-1, хоть в реестр запихивай, хоть на фрэшку, которую потом можно вставлять в нубук:). Единственное, скрипты не совсем удобны и требуют ряда условий для "жизни", поэтому и пришлось тулзу писать
3.1 Жакарта из ФНС (быда жакарта ЛТ, не PKI/ГОСТ как для егаиса), несмотря на то, что ключевой контейнер на ней сформирован и прекрасно видится в криптопро, отказалась раскрывать все свои тайны, в то время как если на обычную джакарту перенести средствами того же криптопро ключевой контейнер, он и видится, и копируется.
4. А вот с рутокеном такой финт ушами не катит. В состав дрой входит "аналог" jcfs.dll для этого токена - rtAPIlt.dll, но он либо абсолютно слеп к токену, если функции применять ровно по той же аналогии, что и к аладдиновским токенам, либо (что не исключено) порядок и(или) списоб (аргументы) их применения несколько другой, а про это хрен где узнаешь
5. Так же на хабре можно найти статьи про работу с токенами через APDU, но разбираться в этих дебрях слишком уж муторно. Но этот путь кажется универсальным ибо
5.1 как-то же криптопро читает и пишет контейнеры на токены
5.2 В состав дров рутокена входит rtAPI.dll а вней содержится широкий спектр функций, в названии которых как раз APDU упоминается

В общем, кому не лень, можете задаться целью и прокапать указанное направление
22.12.2021 18:52
Цитата:
plvn24 Может лучше не ждать 22 года, а получить сертификаты в декабре, например у Тензора? Они будут действительны после 01/01/2022 до окончания срока действия.
Вчера так и сделал - продлил на 15 месяцев... Конечно подписи потом нужны будут и для бухгалтера, т.е. директору всё равно летом 2022 ходить в ФНС, но не будет, обсуждаемых выше/ниже накладок с подписями ЕГАИС. Обновил УТМ до b.2470 - всё записалось без заморочек, т.ч. спокоен на обозримое будущее
24.12.2021 17:46
Цитата:
AndreyZh Вчера так и сделал - продлил на 15 месяцев... Конечно подписи потом нужны будут и для бухгалтера, т.е. директору всё равно летом 2022 ходить в ФНС, но не будет, обсуждаемых выше/ниже накладок с подписями ЕГАИС. Обновил УТМ до b.2470 - всё записалось без заморочек, т.ч. спокоен на обозримое будущее
Конечно, я испугался ненужных трудностей и последствий экспериментов над бизнесом, но сегодняшний диалог убедил меня в правильности данного решения, а так же в нём полезные рекомендации:

Цитата:
Малюска » Сегодня, 10:58 Приняла алкоголь, отправила документ. В ответе ошибка -отозван сертификат! Что это и почему? Что делать?
… ну операторы, как всегда отправляют на... ТП

Цитата:
fkr » Сегодня, 12:59 если недавно записывали на этот же рутокен новый сертификат, то возможен конфликт, попробуйте удалить все ГОСТ-сертификаты, которые лишние (оставив лишь последний).

Также:
установите последний драйвер Рутокена для ЕГАИС (4.9.1.1)
после этого - запустите панель управления рутокеном и посмотрите на закладке "Сертификаты" ситуацию (можете сюда приложить скриншот)
подсветите мышкой действующий сертификат - он отобразится как "действующий" или "отозван" ? (приложите сюда скриншот)
всё это поможет понять причину проблемы

PS. с конфликтом нескольких ГОСТ недавно столкнулся сам - при попытке отправить подписанный документ - ЕГАИС возвращал криптотикет с содержимым "Сертификат был отозван"..
<ns:Ticket>
<tc:TicketDate>2021-12-22T16:50:35</tc:TicketDate>
<tc:DocId />
<tc:TransportId>04fe95ba-e397-4237-a75e-612895621344</tc:TransportId>
<tc:DocHash />
<tc:DocType />
<tc:Result>
<tc:Conclusion>Rejected</tc:Conclusion>
<tc:ConclusionDate>2021-12-22T16:50:35</tc:ConclusionDate>
<tc:Comments>Сертификат был отозван</tc:Comments>
</tc:Result>
</ns:Ticket>

"вылечил" правильным удалением других-лишних ГОСТ-сертификатов с рутокена.. Правильное удаление - это сначала удалить сам сертификат (который лишний), затем удалить ключевую пару от этого лишнего сертификата. В итоге - на рутокене должен остаться один действующий ГОСТ-сертификат и одна соответствующая ему ключевая пара. ВНИМАНИЕ - не удалите случайно ключевую пару от действующего сертификата! Если не знаете как всё это делать - обратитесь к тем, кто знает (или в тех.поддержку вашего УЦ, который вам выдал ГОСТ-сертификат)
27.12.2021 08:19
Я всегда перед продлением ГОСТ форматирую рутокен, чтобы не было гемора.
27.12.2021 09:20
Цитата:
SaSMuS Я всегда перед продлением ГОСТ форматирую рутокен, чтобы не было гемора.
когда делаешь продление удалённо на магах , форматирование не прокатывает.
Т.к. после форматирования не чем будет продление нового сертификата делать (
27.12.2021 11:18
Ага. Я когда делаю сертификаты по обычной "бумажной" технологии, когда клиент(и я, как агент) подписываем обычной подписью заявление и потом печатную форму сертификата, всегда форматирую токен. А когда делаю "продление" безбумажный методом, то после записи нового сертификата, удаляю старый. До этого нельзя, иначе, будет нечем подписать. Хотя, и тут есть варианты - если у клиента есть ещё ЭЦП, кроме ЕГАИС, можно продлить с помо́щью нее. Тогда можно и отформатировать предварительно.
27.12.2021 11:42
Цитата:
MWWRuza то после записи нового сертификата, удаляю старый
А подскажи, пожалуйста, КАК можно удалить старый?? с Рутокена 2,0
У меня не получается



(0,04Мб)

Через Панель управления, даже если вводишь пароль Администратора не даёт ...
Часовой пояс GMT +3, время: 10:18.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.