pulchra |
|
Статус: Новичок Группы: Участники
|
Добрый день, При попытке подписать документ на одном из сайтов (в отчётной системе Фонда содействия инновациям online.fasie.ru) возникает ошибка 0xC2100140. Как почитал это ошибка библиотеки tspcl (0xC2100140 Лицензия на КриптоПро TSP Client истекла или не была введена) — действительно, TLS-клиент никогда в систему не ставил и лицензий она него не вводил. Также в мануалах указано, что Компоненты КриптоПро TSP Client 2.0 входят в КриптоПро ЭЦП SDK, который в свою очередь входит в КриптоПро CSP 5.0 R3. Обновил КриптоПро CSP 5.0 до R3 (v 5.0.12800) буквально вчера 22.05.2023, плагин тоже обновил. Проверку подписи проходит. Что ещё нужно сделать? Может ли оно (TSP Client) заработать в рамках тестового периода 90 дней? |
|
|
nickm |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 299 раз |
Автор: pulchra Криптопровайдер: Crypto-Pro GOST R 34.10-2012 KC2 CSP Автор: pulchra KC2 Указанную версию СКЗИ устанавливали осознанно, с умыслом? Можете привести список установленных пакетов cprocsp? Отредактировано пользователем 23 мая 2023 г. 9:56:37(UTC) |
|
|
pulchra |
|
Статус: Новичок Группы: Участники
|
Цитата: Указанную версию СКЗИ устанавливали осознанно, с умыслом? Скорее бессознательно, чем осознано, как я понимаю, это всё из пакета КриптоПро CSP 5.0 R3, самой свежей версии, которую нашел. Список пакетов cprocsp: |
|
|
nickm |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 299 раз |
Автор: pulchra Скорее бессознательно, чем осознано, как я понимаю, это всё из пакета КриптоПро CSP 5.0 R3, самой свежей версии, которую нашел. Список пакетов cprocsp: Код:
Удалите и установите СКЗИ по новой, при этом не отмечайте пункт «KC2» при установке. Обычному пользователю необходимо-достаточно следующих пунктов: |
|
|
pulchra |
|
Статус: Новичок Группы: Участники
|
Всё снёс и заново установил без кс2, вот результат проверки: На процесс никак не повлияло, на online.fasie.ru всё равно вылазит ошибка: устанавливал через gui список пакетов стал заметно меньше: Цитата: dpkg -l | grep cprocsp Отредактировано пользователем 23 мая 2023 г. 14:05:26(UTC) |
|
|
nickm |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 299 раз |
Хорошо, с установленными пакетами СКЗИ порядок. По сабжу — можно предположить, что у указанного сервиса не корректно работает TSP. |
|
|
pulchra |
|
Статус: Новичок Группы: Участники
|
Цитата: По сабжу — можно предположить, что у указанного сервиса не корректно работает TSP. — могу слегка согласиться, так как год назад, мне не требовалось на этом сайте каких либо дополнительных настроек — всё подписывалось, на моём же компьютере, на этой же конфигурации. Но вот коллеги из другой конторы, которым тоже необходимо взаимодействовать с сайтом, там компьютер с Windows 10, и какая-то старая КриптоПро, они ставили отдельно tsp клиент, они совсем недавно в конце апреля подписывали свои отчёты на это сайте. Можно, конечно, съездить к ним и оттуда подписать, но как-то это не то. |
|
|
Александр Лавник |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: pulchra Цитата: По сабжу — можно предположить, что у указанного сервиса не корректно работает TSP. — могу слегка согласиться, так как год назад, мне не требовалось на этом сайте каких либо дополнительных настроек — всё подписывалось, на моём же компьютере, на этой же конфигурации. Но вот коллеги из другой конторы, которым тоже необходимо взаимодействовать с сайтом, там компьютер с Windows 10, и какая-то старая КриптоПро, они ставили отдельно tsp клиент, они совсем недавно в конце апреля подписывали свои отчёты на это сайте. Можно, конечно, съездить к ним и оттуда подписать, но как-то это не то. 0xC2100140 На online.fasie.ru создается подпись CAdES-X Long Type 1, для которой нужны дейтсвующие лицензии — CSP, TSP Client 2.0 и OCSP Client 2.0: https://docs.cryptopro.ru/cades/usage/requirements Также см. информацию по ссылке по активации лицензий на Linux (п. 3 про нужные клиенты). |
Техническую поддержку оказываем тут |
|
|
|
|
nickm
оставлено 23.05.2023(UTC), Андрей * оставлено 24.05.2023(UTC) |
pulchra |
|
Статус: Новичок Группы: Участники
|
Цитата: По сабжу — можно предположить, что у указанного сервиса не корректно работает TSP. Нет, всё у них в порядке с TSP. Для начала проверил статус лицензии на TSP Client: Потом на левом компе с линухом установил КриптоПро CSP 5.0 R3 чтобы проверить будет ли работать в 90-то дневном демо режиме. Работает, всё подписано. Собственно, следующий раз по этой теме подписывать что-либо нужно будет только через год, там видимо придётся приобрести лицензию. Словом видно будет. Спасибо. |
|
|
nickm |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 299 раз |
Автор: pulchra Нет, всё у них в порядке с TSP Сообщение «Внутренняя ошибка» как бы намекает, что проблема со стороны сервиса. Автор: pulchra Работает, всё подписано. Спасибо, понятно. Но, раз они действительно требуют/ создают, как выше указал «Александр Лавник«, подпись CAdES-X Long Type 1, тогда, полагаю об этом должно быть оговорено/ сказано в инструкции администратора/ пользователя при работе с сервисом, и тогда вопросов об использовании утилит для работы с «TSP» у пользователя возникать не должно. |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Павелдоболисложнаярегистрация |
|
Статус: Новичок Группы: Участники
|
Добрый день! Вылетает ошибка при попытке подписания акта? Лицензия на КриптоПро TSP Client истекла или не была введена (0xC2100140). При этом лицензия действующая до 27.04.2022г. ЭЦП не продлевал. В прошлом году работало без каких либо ошибок. Подскажите с чем это связано и как я мог бы решить данную проблему. |
|
|
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 456 раз |
Здравствуйте. У Вас истекла лицензия на КриптоПро TSP Client. Цитата: При этом лицензия действующая до 27.04.2022г. На какой продукт? Пуск..КРИПТО-ПРОКриптоПРО PKI можете увидеть установленные продукты и типы лицензий. |
Техническую поддержку оказываем тут |
|
|
WWW |
Павелдоболисложнаярегистрация |
|
Статус: Новичок Группы: Участники
|
Странно, я покупал на год, но видимо этот вопрос мне предстоит решать уже с организацией, которая предоставила мне услуги ЭЦП. Спасибо за ответ. |
|
|
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 456 раз |
Автор: Павелдоболисложнаярегистрация Странно, я покупал на год, но видимо этот вопрос мне предстоит решать уже с организацией, которая предоставила мне услуги ЭЦП. Спасибо за ответ. Вы покупали КриптоПРО CSP видимо, |
Техническую поддержку оказываем тут |
|
|
WWW |
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Sergey2 |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 1 раз |
Добрый день. ошибка: Не удалось создать подпись из-за ошибки: Лицензия на КриптоПро TSP Client истекла или не была введена (0xC2100140) скажите пжл: 1. как проверить работу плагина без использования штампов времени? 2. На пк также установлен ключ и сертификат RSA — почему иногда уже при входе на страницу проверки плагина сразу формируется успешная подпись, причем без проблем и без всякой службы ШВ?? спасибо |
|
|
Александр Лавник |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: Sergey2 Добрый день. ошибка: Не удалось создать подпись из-за ошибки: Лицензия на КриптоПро TSP Client истекла или не была введена (0xC2100140) скажите пжл: 1. как проверить работу плагина без использования штампов времени? 2. На пк также установлен ключ и сертификат RSA — почему иногда уже при входе на страницу проверки плагина сразу формируется успешная подпись, причем без проблем и без всякой службы ШВ?? спасибо Здравствуйте. 1) Тестовая страница проверки плагина без использования службы штампов времени доступна по ссылке. 2) Вопросы по работе на портале ЦБ Вам лучше направлять в техническую поддержку портала ЦБ. 3) По поводу ключа и сертификата RSA — приложите скриншоты окна, чтобы было понятно на какой именно тестовой странице формируется успешная подпись. |
Техническую поддержку оказываем тут |
|
|
|
Sergey2 |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 1 раз |
Да, теперь понятно. |
|
|
actmart |
|
Статус: Новичок Группы: Участники
|
Полезная инфа |
товары для дома |
|
|
WWW |
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Из нашей статьи вы узнаете:
При использовании КриптоПро ЭЦП Browser plug-in могут возникать ошибки, приводящие к тому, что плагин не работает или работает некорректно, из-за чего электронная подпись не создаётся. Рассмотрим наиболее распространённые варианты ошибок и разберёмся, как их устранить.
При проверке отображается статус «Плагин загружен», но нет информации о криптопровайдере
Это значит, что криптопровайдер КриптоПро CSP не установлен. Необходимо загрузить дистрибутив программы с сайта разработчика и установить её на компьютер. В настройках плагина в графу Список доверенных узлов также следует добавить адрес ресурса, с которым работаете (например, nalog.ru).
Не удаётся построить цепочку сертификатов для доверенного корневого центра. (0x800B010A)
При этой ошибке плагин не может сформировать запрос на создание ЭЦП. Она возникает, если по каким-то причинам нет возможности проверить статус сертификата. Например, если нет привязки к ключу или доступа к спискам отзыва. Также проблема может воспроизводиться, если не установлены корневые сертификаты.
Для устранения этой ошибки нужно привязать сертификат к закрытому ключу.
Сначала проверьте, строится ли цепочка доверия. Для этого нужно открыть файл сертификата, а затем вкладку Путь сертификации.
Если на значке сертификата отображается крест, это означает, что цепочка доверия не строится. В этом случае необходимо скачать и установить корневые и промежуточные сертификаты. Они должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат на ваше имя.
Для установки корневого сертификата необходимо:
- Кликнуть правой кнопкой мыши по файлу.
- В контекстном меню выбрать пункт Установить сертификат.
- После запуска Мастера установки нажать Далее.
- Выбрать вариант Поместить все сертификаты в выбранной хранилище и нажать Обзор.
- Выбрать в списке хранилищ Доверенные корневые центры сертификации, нажать ОК, затем Далее.
- Нажать Готово.
Установка промежуточных сертификатов выполняется точно так же, как и установка корневых, за исключением того, что в процессе установки вместо пункта Доверенные корневые центры сертификации нужно выбрать пункт Промежуточные центры сертификации.
Если вы создаёте ЭЦП таких форматов, как CAdES-T или CAdES-X Long Type 1, ошибка может возникать из-за отсутствия доверия к сертификату оператора службы предоставления штампов времени. В этой ситуации нужно установить корневой сертификат УЦ в доверенные корневые центры.
ЭЦП создаётся с ошибкой при проверке цепочки сертификатов
Данная проблема возникает из-за отсутствия доступа к спискам отозванных сертификатов. Списки должны быть доступны для загрузки на сайте удостоверяющего центра, который выпустил сертификат ЭЦП. Установка списков выполняется по той же схеме, что и установка промежуточного сертификата.
Ошибка несоответствия версии плагина
При проверке возникает сообщение «Установлен и настроен плагин для браузера КриптоПро ЭЦП Browser plug-in версии 2.0.12438 и выше. — undefined». В этом случае необходимо установить плагин версии 2.0.12438 и выше.
Появляется сообщение «Плагин недоступен»
Данная проблема может возникнуть, если ваш браузер не поддерживает установленную версию плагина. Попробуйте воспользоваться другим обозревателем.
Ошибки 0x8007064A и 0x8007065B
Ошибка возникает в связи с окончанием срока действия лицензий на КриптоПро CSP (КриптоПро TSP Client 2.0, Криптопро OCSP Client 2.0).
Чтобы создать электронную подпись с форматом CAdES-BES, необходима действующая лицензия на КриптоПро CSP. Создание ЭЦП с форматом CAdES-X Long Type 1 потребует наличия действующих лицензий:
- КриптоПро CSP;
- КриптоПро OCSP Client 2.0;
- КриптоПро TSP Client 2.0.
После приобретения лицензии потребуется её активация.
Набор ключей не существует (0x80090016)
Возникает из-за того, что у браузера нет прав для выполнения операции. Для решения проблемы в настройках плагина добавьте сайт в Список доверенных узлов.
Отказано в доступе (0x80090010)
Возникает в связи с истечением срока действия закрытого ключа. Чтобы проверить срок действия, запустите Крипто-Про CSP, затем откройте вкладку Сервис. Далее необходимо выбрать пункт Протестировать и указать контейнер с закрытым ключом. Если в результатах тестирования вы увидите, что срок действия закрытого ключа истёк, необходимо получить новый ключ.
Ошибка: Invalid algorithm specified. (0x80090008)
Появление такой ошибки означает, что криптопровайдер не поддерживает алгоритм используемого сертификата. Рекомендуется проверить актуальность версии КриптоПро CSP.
Если предлагаемые выше способы устранения ошибок не помогут, рекомендуем обратиться в службу поддержки КриптоПро.
У вас ещё нет электронной подписи? Её можно заказать у нас на сайте. Выберите подходящий вариант ЭЦП: для участия в электронных торгах, работы с порталами или отчётности. Процедура оформления не займёт больше одного дня.
brenli
11.02.20 — 20:51
Всем привет.
Вторые сутки ломаю мозг по использованию библиотеки CAPICOM.
Необходимо реализовать выбор сертификата из списка , и возможность подписать ЭЦП этого сертификата.
Пытаюсь сделать следующее:
OSertificats = СоздатьОбъект(«CAPICOM.Certificates»);
OSertificats.Select(,,1); //true
bMultiSelect [in, optional]
Boolean value that indicates whether the user can select more than one certificate. True indicates multiple certificates can be selected by using the CTRL or SHIFT key. The default value is false.
При true выпадает пустой список.
При false — выдает : Сертификаты недоступны, сертификаты не отвечают критериям.
Пробовал использовать
CURRENT_USER_STORE = 2;
MY_STORE = «My»;
STORE_OPEN_READ_ONLY = 0;
Store = СоздатьОбъект(«CAPICOM.Store»);
Store.Open(CURRENT_USER_STORE, MY_STORE, STORE_OPEN_READ_ONLY);
Вообще ничего не происходит.
Подскажите у кого есть опыт по реализации таких задач.
Спасибо
Garykom
1 — 11.02.20 — 21:27
(0) https://www.cryptopro.ru/products/other/cryptcp
Приложение командной строки банальное, если не хочется чтобы окна мелькали то можно скрыть
MWWRuza
2 — 11.02.20 — 21:33
(0)Ну, все правильно… А дальше:
Certs = Store.Certificates;
Для Сч = 1 По Certs.Count Цикл
ТекСерт = Certs.Item(Сч);
Далее используйте: ТекСерт.Свойство,КотороеВамНужно…
КонецЦикла;
Garykom
3 — 11.02.20 — 21:47
https://ru.wikipedia.org/wiki/Component_Object_Model официальной устаревшая технология, лучше не использовать чтобы в ближайшем будущем не поиметь кучу трудностей, которые придется снова героически преодолевать.
Garykom
4 — 11.02.20 — 21:50
Вот уже IE (замена на Edge) с Microsoft Edge (на движок Chromium переходит где COM нету) того и дальше будет только хуже.
Так что забывайте уже о COM/OLE/ActiveX и используете другие методы, да старый древний запуск консольной утилиты/проги с параметрами по прежнему в строю.
И будущее за веб-сервисами.
MWWRuza
5 — 11.02.20 — 22:01
Ну, консольное приложение из (1), платное… Лецензируется отдельно от КриптоПро, и работает с ним в паре. Интересно, сколько стоит?
Garykom
6 — 11.02.20 — 22:10
(5) бесплатно, там устаревшая инфа в новых криптопро оно из коробки
Garykom
7 — 11.02.20 — 22:14
(6)+ Точнее не бесплатно а в комплекте с платным КриптоПро оно.
Никакой лицензии отдельной не запрашивает, может конечно я и ошибаюсь но фактически так.
Midrash
8 — 11.02.20 — 22:16
(3) да, COM становится достоянием истории
NorthWind
9 — 11.02.20 — 22:16
(0) советую сразу перейти на CADESCOM из комплекта КриптоПро. Разницы по вызовам с CAPICOM практически нет, соместимость процентов 95. Но при этом CADESCOM поддерживается, в том числе и для новых виндов, а CAPICOM давно с поддержки снят и не понятно, с какого очередного релиза Win10 он крякнет. Может с любого свежего.
brenli
10 — 11.02.20 — 22:19
(9) CADESCOM отдельно покупать надо или в коробке со штатным крипто про идет?
Где то видел CADESCOM — 90 дней триал, а дальше лицензию надо.
NorthWind
11 — 11.02.20 — 22:21
CADESCOM идет в составе браузерного плагина для CryptoPro. Скачивается все это дело с сайта CryptoPro бесплатно, само подцепляется к уже установленному CryptoPro автоматически и живет.
‘ ——————————————————————————————
‘ Поиск сертификата в хранилище
‘
Function GetSigningCert
Set Store = CreateObject («CADESCOM.Store»)
Store.Open CURRENT_USER_STORE, MY_STORE, STORE_OPEN_READ_ONLY
Set Certs = Store.Certificates.Find (CAPICOM_CERTIFICATE_FIND_SHA1_HASH, CStr (CertSHA1Hash))
if Certs.Count > 0 Then
Set GetSigningCert = Certs.Item (1)
else
Set GetSigningCert = Nothing
end if
Store = Unassgned
End Function
NorthWind
12 — 11.02.20 — 22:21
эта функа ищет сертификат по его SHA1-хэшу и возвращает. Функа на VBS. Другого нет — скрипт писал именно на нем
NorthWind
13 — 11.02.20 — 22:23
для капиком, собственно, все то же самое и тоже работает — изначально было на нем. Но я в конце концов с него ушел.
Garykom
14 — 11.02.20 — 22:23
Кстати прикол хотите?
Если разрабатывается приложение которое с шифрованием на продажу то https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9333 опс нужна «Лицензия ФСБ на криптографию и шифрование»
NorthWind
15 — 11.02.20 — 22:29
Вот, если надо, формирование подписи отдельным файликом
‘ ——————————————————————————————
‘ Подписание файла. Подпись кладется по тому же пути, где находится исходный файл, с
‘ расширением bin
‘
Sub Sign (FileName, Cert, Prefix)
SignFileName = GetBinFileName (FileName, Prefix)
Set FileIn = CreateObject («ADODB.Stream»)
FileIn.Type = 1
FileIn.Mode = 3
FileIn.Open ()
FileIn.LoadFromFile (FileName)
BinaryIn = FileIn.Read (-1)
Set Signer = CreateObject («CADESCOM.CpSigner»)
Signer.Certificate = Cert
Signer.Options = 2
Set SignedData = CreateObject («CADESCOM.CadesSignedData»)
SignedData.Content = BinaryIn
Base64Out = SignedData.SignCades (Signer, CADES_BES, True, CAPICOM_ENCODE_BASE64)
Set FileOut = CreateObject («ADODB.Stream»)
FileOut.Type = 2
FileOut.Charset = «US-ASCII»
FileOut.Mode = 3
FileOut.Open ()
FileOut.WriteText (Base64Out)
FileOut.SaveToFile SignFileName, 2
FileOut.Close ()
FileIn.Close ()
SignedData = Unassigned
Signer = Unassigned
FileIn = Unassigned
FileOut = Unassigned
End Sub
NorthWind
16 — 11.02.20 — 22:32
(10) нет такого. Если у вас крипто-про куплен, то браузер плагин ставится без каких-либо дополнительных вопросов и в нем этот кадеском есть и работает. Уже он у меня работает не один год так, а не 90 дней… Там единственное что — для некоторых более сложных подписей чем CADES_BES, нужна служба штампов времени. Вот она да, приобретается отдельно. Но это еще вопрос, нужна она вам или нет.
brenli
17 — 11.02.20 — 22:39
(16) Вообще вся эта тема для работы с системой маркировки. Там вроде служба времени не нужна
brenli
18 — 11.02.20 — 22:39
спасибо господа за пищу для ума.
NorthWind
19 — 11.02.20 — 22:49
(4) браузеры браузерами, а на десктопе ком никуда не денется, пока жив сам по себе десктоп. Его и в х64 MS притащили, а значит, пока девать никуда не собираются.
MWWRuza
20 — 11.02.20 — 22:52
Это все хорошо… Вариантов несколько, кто как хочет, тот так и заморочится… Но, вот как-бы из v7 научиться с аппаратными криптопровайдерами работать… Типа, ЕГАИСовского Рутокен-ЭЦП 2.0… Пока, не нашел способов
NorthWind
21 — 11.02.20 — 22:56
(20) читаю и не могу понять… А чем он принципиально отличается от любой другой смарт-карты, етокена того же?
MWWRuza
22 — 11.02.20 — 23:00
Принципиально — тем, что с ним не работает тот-же КриптоПро. У него на борту свой, встроенный криптопровайдер. Все операции по подписанию и шифрованию происходят «внутри», с неизвлекаемыми ключами…
MWWRuza
23 — 11.02.20 — 23:03
У обычных токенов, контейнер с ключами и сертификатами доступен «извне», их видит КриптоПро или VipNet, и с ними работает программно. Здесь свой «типаКриптоПро», внутри…
MWWRuza
24 — 11.02.20 — 23:07
Кроме того, сертификат вместе с ключами с обычного токена, можно скопировать например на другой токен, в папку на диске, в реестр наконец… С Рутокен ЭЦП 2.0 или устаревшей JaCarta, такой фокус не проходит, сертификат вытащить можно, но без закрытых ключей…
Garykom
25 — 11.02.20 — 23:10
Garykom
26 — 11.02.20 — 23:10
(24) При перегенерации все прекрасно вытаскивается наружу ))
Garykom
27 — 11.02.20 — 23:13
(25)+ pkcs11-tool — консольная утилита для управления токенами и смарт-картами и их содержимым через интерфейс PKCS#11.
https://github.com/OpenSC/OpenSC
vde69
28 — 11.02.20 — 23:52
CAPICOM снята с поддержки лет уже как 10…. Зачем Вам то, что так сильно устарело?
полно опен проектов, тот-же гнус например очень даже хорошо работает с сертификатами (как эцп так и шифрование)…
MWWRuza
29 — 12.02.20 — 00:38
Хм… Интересно… Просто заменой объекта:
Об = СоздатьОбъект(«CAPICOM.Store»);
на
Об = СоздатьОбъект(«CADESCOM.Store»);
получение списка сертификатов работает
Дальше, пока не пробовал, надо будет на досуге заняться.
NorthWind
30 — 12.02.20 — 08:19
(22) почитал. Насколько я понял, для работы с такими токенами у крипто-про раньше было специальное решение CryptoPro Рутокен CSP, но сейчас это уже неактуально, потому что пятерка работает с ними.
Посмотрите вот здесь https://www.cryptopro.ru/products/cryptopro-csp: «Носители с неизвлекаемыми ключами Многие пользователи хотят иметь возможность работать с неизвлекаемыми ключами, но при этом не обновлять токены до уровня ФКН. Специально для них в провайдер добавлена поддержка популярных ключевых носителей Рутокен ЭЦП 2.0, JaCarta-2 ГОСТ и InfoCrypt VPN-Key-TLS.»
NorthWind
31 — 12.02.20 — 08:20
Сияющий в темноте
32 — 12.02.20 — 08:45
К рутокену идет свой доайвер,который прекрасно с ним работает.
плюс в том,что криптопро покупать не надо.
NorthWind
33 — 12.02.20 — 09:33
(32) у человека вопрос, через какое апи можно дергать механизм подписи этим ключом, например, из 1с 7.7. Желательно понятно и с примерами. Криптопро в данном случае хорош тем, что там есть сеть разработчиков, примеры и как работать с cadescom/capicom, многие худо-бедно знают.
MWWRuza
34 — 12.02.20 — 10:44
+(33)Да, именно так. Там, где он должен работать через свой драйвер — он работает, вообще без проблем, есть необходимый софт, плагины.
А вот как к нему из 7.7 достучаться, для меня пока загадка. Готовых примеров не нашел, а самому с предоставленным на сайте SDK разбираться — сложно, долго, и и самое главное, опыта не хватает… Да,
и по большому счету — и если только ради интереса, экономически не выгодно, кому надо — могут себе позволить плюсом к ЕГАИСовской ЭЦП еще и КриптоПрошную, вместе с самим КриптоПро, не космических денег они стоят…
Просто, было-бы удобно, один токен-одна ЭЦП на все, что связано с торговыми «извратами».
big
35 — 12.02.20 — 10:56
(34) Если я правильно понял, то с КриптоПро идет бесплатная консольная утилита для подписи — csptest.exe и ею вполне таки можно пользоваться. Сам правда ещё не пробовал, просто читал мануал.
Или использование консольных утилит не подходит?
NorthWind
36 — 12.02.20 — 11:37
(34) -> (30), криптопро уже умеет через свое апи работать с такими подписями. Правда, нужна версия 5, которая пока еще не у всех куплена, чаще всего у людей четверка.
brenli
37 — 04.03.20 — 15:49
Всем привет. До сих пор воюю с этими подписями .
СтрКода=»function SignFile(FileName,Cert,OutFileName)
|{
| InStream=new ActiveXObject(«»ADODB.Stream»»);
| InStream.Type=1; // binary data
| InStream.Mode=3; // read/write
| InStream.Open();
| InStream.LoadFromFile(FileName);
| InData=InStream.Read(-1);
|
| Signer=new ActiveXObject(«»CAPICOM.Signer»»);
| Signer.Certificate=Cert;
//| Signer.TSAAddress = «»http://www.cryptopro.ru/tsp/tsp.srf»»;;
//| Signer.Options=2; // CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY
|
| SignedData=new ActiveXObject(«»CAPICOM.SignedData»»);
| SignedData.Content=InData;
//| SignedData.ContentEncoding =1;
|
| OutSignedData=SignedData.Sign(Signer,1,1);
|
| OutStream=new ActiveXObject(«»ADODB.Stream»»);
| OutStream.CharSet=»»utf-8″»;
| OutStream.Type=2; // text data
| OutStream.Mode=3; // read/write
| OutStream.Open();
| OutStream.WriteText(OutSignedData);
| OutStream.SaveToFile(OutFileName,2);
| OutStream.Close();
|
| return(0);
При выборе открепленной подписи выдает такую строку. Что не так?
????????????a?????a???????????????????x
Пробовал юзать CadesCOM — выдает что не введена лицензия.
Что еще можно сделать?
(6) на сайте пишут что 5 версия требует лицензию.
brenli
38 — 04.03.20 — 15:50
(37) + при подписании не открепленной подписью, подписывает корректно
Garykom
39 — 04.03.20 — 16:05
NorthWind
40 — 04.03.20 — 19:27
(37) Четверка с cadescom’ом из браузер-плагина 100% работает и ничего дополнительно не просит. Неоднократно ставил и проверял.
Насчет лицензирования пятерки точно сказать не могу, потому что использовать не пробовал. Может, разработчик и поменял что-то, хотя при гуглении «cadescom лицензия» ничего внятного найти не удается, из-за чего по вопросу возникают некоторые сомнения.
Думаю, будь такая лицензия, продавайся она — наверняка были бы упоминания о ней самой и ее стоимости.
«Выдает строку» — куда и в какой момент? Если мы посмотрим вот сюда https://docs.microsoft.com/en-us/windows/win32/seccrypto/signeddata-sign, то видно, что у этого метода третий параметр отвечает за формат подписи. Вы ставите 1. Расшифровка форматов вот здесь https://docs.microsoft.com/en-us/windows/win32/seccrypto/capicom-encoding-type, 1 — это CAPICOM_ENCODE_BINARY, бинарная последовательность. Семерка с такими данными работать самостоятельно не умеет. Может, лучше все же 0 — CAPICOM_ENCODE_BASE64?
NorthWind
41 — 04.03.20 — 19:33
| OutStream.CharSet=»»utf-8″»;
и вот это имхо тоже зря, потому что опять же непонятно что с этим из-под 7.7 делать. Ну не умеет она юникоду ни в каком виде.
Поставьте US-ASCII.
Сияющий в темноте
42 — 04.03.20 — 19:48
(41)ну,если двоичный поток,то 7.7 прекрасно умеет utf-8,так как строки однобайтовые
а вот для Com-сервера строку можно передать только как bstr,а это unicode строка.
лицензию требует не com-сервер,а само CryptoPro.
NorthWind
43 — 04.03.20 — 21:29
(42) > лицензию требует не com-сервер,а само CryptoPro.
Тут нестыковка. Дело в том, что CAPICOM является такой же надстройкой над CryptoAPI, которое, в свою очередь, обращается к криптопровайдеру.
Не будь рабочей лицензии (хотя бы триальной) на CryptoPro, отлуп был бы одинаковым у CaDESCOM, и у CAPICOM. Здесь же CAPICOM работает, а CaDESCOM нет.
У CaDESCOM на самом деле есть специфика, о которой я писал в (16) — если в методе SignCades выбираются подписи, отличные от CADES_BES, то нужна служба штампов времени, а вот как раз она стоит дополнительных денег и без нее такие подписи использовать не получится. Возможно, (0) не разобрался досконально с параметрами и сделал вызов как раз на такую подпись, тем более что в примерах кода на https://cpdn.cryptopro.ru/ упорно приводят подписи со штампом времени.
brenli
44 — 05.03.20 — 06:35
(42) Описание ошибки: CAdESCOM.CadesSignedData.1: Лицензия на КриптоПро TSP Client истекла или не была введена
Garykom
45 — 05.03.20 — 06:45
(44) У тебя ситуация (43) ты при подписи выбрал такие параметры что она пытается службу штампов времени заюзать
Простой поиск по твоей ошибке выходит на
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=11690
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=5334
И там обрати внимание:
«с усиленной квалифицированной электронной подписью <> усовершенствованная ЭЦП
с усиленной квалифицированной = это на базе квалифицированного сертификата (63 ФЗ)
а усовершенствованная ЭЦП = это ЭЦП, дополненная доказательствами времени подписаниястатуса действия сертификата»
brenli
46 — 05.03.20 — 07:14
(45) (43) Спасибо. Открепленная подпись заработала с CAPICOM ом.
Данные подписываются запрос отправляется, но с сигнатурой по прежнему что то не то.
Документ на сайте ЧЗ не создается, хотя id документа возвращается.
Длина сигнатуры при запросе через браузер — 9188
Длина сигнатуры при запросе через 1c — 7452
Что не так не понятно. Файл после подписания точно имеет открепленную подпись и не содержит данных,
я проверил декодировав base64 полученный после подписания. С не открепленной — содержатся данные в моем случае xml,
без открепленной данных нет. Далее это открепленную подпись преобразую в base64 и что то не так.
Документ точно заполняется как надо.
Если строкой передаю сигнатуру руками скопированную из запроса браузера, документы создаются.
Что еще можно проверить.
brenli
47 — 05.03.20 — 07:25
Как то не так получается открепленная подпись.
Garykom
48 — 05.03.20 — 07:44
(47) Не нужна открепленная )) Обычная подпись там. Точнее в МДЛП была обычная а не «открепленная» а какая у тебя маркировка хз.
NorthWind
49 — 05.03.20 — 07:57
(48) судя по тому что через браузер длинее — похоже на то что должна быть не открепленная.
ТС, а неоткрепленную не пробовал? Метод тыка — дело иногда полезное.
brenli
50 — 05.03.20 — 08:07
(47) signature — открепленная УКЭП закодированный в base64. Документ необходимо подписывать до перевода его в base64. Тип строковый.
(49) Пробовал. Не проходит, нужна именно открепленная. Я декодировал то что идет через браузер и то что идет через 1с.
================================Через браузер==============================================
0⚧ *戆獁ذ⚔10*僇0 *戆獁㰂0℁ÂNmG릲}ev㓓0
*僇010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России0
180706121806Z
360701121806Z010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России0f0*僇0*僂#*僇C@u9*E繢彷�ꝶZq꽽X챆酡W읻H幊눙ꪩ뺵踱ʇ蓵嶶䊷�°⁾0ᵆ*僤pᨌ4ПАКМ «КриптоПро HSM» версии 2.0CПАК «Головной удостоверяющий центр»5Заключение № 149/3/2/2/23 от 02.03.20184Заключение № 149/7/6/105 от 27.06.20180?*僤o64ПАКМ «КриптоПро HSM» версии 2.00CU <0:0*僤q0*僤q0*僤q0*僤q0*僤q0U 0U0U0ﰝUᴫԌ砭6䣐ᾃ<놰
*僇A꺽⻬r븛렕Ʀ嬌K*=9yڙ⋯ල0ɮ銟aoħ`ឈ蓡Ud
f~0⇒0⇿Â͌Ըn0
*僇010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России0
180731102852Z
330731102852Z0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»0f0*僇0*僂#*僇C@颬耢Aֈ셇息⾿楙2=ؓ鿒Ѯବ* {0x9B亟=똝ﺛ}穞や
0℆0U氝U]`Uߟo髥멊G楰 +ⷔSubCA0U00%U 00U 0*僤q0*僤q04*僤o+)КриптоПро CSP (версия 4.0)0 +ⷕ0U#⁜0⁘ԂTᴫԌ砭6䣐ᾃ<놡䂁(010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России␎mG릲}ev㓓0ᘆUᐰ፰-ૠ)槨ttp://reestr-pki.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://company.rt.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://rostelecom.ru/cdp/guc_gost12.crl0C+70503+0槨ttp://reestr-pki.ru/cdp/guc_gost12.crt0ᵆ*僤pᨌ4ПАКМ «КриптоПро HSM» версии 2.0CПАК «Головной удостоверяющий центр»5Заключение № 149/3/2/2/23 от 02.03.20184Заключение № 149/7/6/105 от 27.06.20180
*僇Aൌ3♶䕃ǬƋgoP븺H Yҡ陠X꧀WOݱ3봒�4誤티≡0≎Âd蝕룩C0ﶊ0
*僇0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»0
190214102028Z
200514091749Z0₾10*僃ፁ
4500007720100. *戆獁 !4522004773-450201001-4502011013301#0! *戆獁 zoovet@shadrinsk.net10*僃Ⴡ00452200477310*僤0534830204010*僤
1024501948305100.U’Генеральный Директор1907U
0АО «ШАДРИНСКИЙ ЗООВЕТСНАБ»1)0’U УЛ РАЙОННАЯ, ДОМ 1110UШадринск1/0-U&45 Курганская область10 URU1604U*-Александр Александрович10UБрюханов1907U0АО «ШАДРИНСКИЙ ЗООВЕТСНАБ»0f0*僇0*僂$*僇C@ݒ馔Ȅ渔ޜ;vꚨ㒨ɨ㙊xᷠOᢦ»֜ꁍ꼚Iɣ>�37B縣ⅻ0ⅷ0UఽU604ᔺoovet@shadrinsk.net䜰10*僃ፁ
45000077200U 0
0*僤q0JU%C0A+*僂»+*僃㴆*僃*僃*僃0U#⁗0⁓ԝ`Uߟo髥멊G楡䂁(010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России⋀͌Ըn0ULdž?贶擐"0+U$0″ϲ0190214102027ZᏲ0200514091749Z0*僤p0+»КриптоПро CSP» (версия 4.0)S»Удостоверяющий центр «КриптоПро УЦ» версии 2.0OСертификат соответствия № СФ/124-3570 от 14.12.2018OСертификат соответствия № СФ/128-2983 от 18.11.20160#*僤o»КриптоПро CSP»0^*僂1S0Q0Ahttp://secret-net.ru/ucdocs/СКБ Контур и ДЗОČMg릺+滎찁ᆃUz0x0:ภ6洨ttp://cib-service.ru/files/cib-service-mid-2018.crl0:ภ6洨ttp://secret-net.net/files/cib-service-mid-2018.crl0ᔆ+ᇰᄰ@+0洨ttp://cib-service.ru/files/cib-service-mid-2018.crt0@+0洨ttp://secret-net.net/files/cib-service-mid-2018.cer0
*僇Ar쥣ij㳢[怪y$환嶪䵥娸շa梞D쯙禧,㬾猷뤘Ņ{ ꄗڅ砄1ℙ0ℕ0⁴0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»d蝕룩C0ﶊ0*僇80 *戆獁 1 *戆獁0 *戆獁 1
200305034154Z0/ *戆獁 1″ z7罀쮂俖ฒ칋Y|am}ш=#ĺΰ⁋*戆獁 /1⁺0⁶000
*僇 룳zX什쀻ozw㘄ӠK»E䎉0H~0⁼0䂁c0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»d蝕룩C0ﶊ0*僇@^B@’Ι%U䦰疮핎浀gΩ췣ᎀYO�㷝悭˷㫷}ڋmꦓXDNj@
==========================================================================================================================
====================================Через 1с===================================================
0╏ *戆獁0╼10*僇0 *戆獁{0⇒0⇿Â͌Ըn0
*僇010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России0
180731102852Z
330731102852Z0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»0f0*僇0*僂#*僇C@颬耢Aֈ셇息⾿楙2=ؓ鿒Ѯବ* {0x9B亟=똝ﺛ}穞や
0℆0U氝U]`Uߟo髥멊G楰 +ⷔSubCA0U00%U 00U 0*僤q0*僤q04*僤o+)КриптоПро CSP (версия 4.0)0 +ⷕ0U#⁜0⁘ԂTᴫԌ砭6䣐ᾃ<놡䂁(010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России␎mG릲}ev㓓0ᘆUᐰ፰-ૠ)槨ttp://reestr-pki.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://company.rt.ru/cdp/guc_gost12.crl0-ૠ)槨ttp://rostelecom.ru/cdp/guc_gost12.crl0C+70503+0槨ttp://reestr-pki.ru/cdp/guc_gost12.crt0ᵆ*僤pᨌ4ПАКМ «КриптоПро HSM» версии 2.0CПАК «Головной удостоверяющий центр»5Заключение № 149/3/2/2/23 от 02.03.20184Заключение № 149/7/6/105 от 27.06.20180
*僇Aൌ3♶䕃ǬƋgoP븺H Yҡ陠X꧀WOݱ3봒�4誤티≡0≎Âd蝕룩C0ﶊ0
*僇0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»0
190214102028Z
200514091749Z0₾10*僃ፁ
4500007720100. *戆獁 !4522004773-450201001-4502011013301#0! *戆獁 zoovet@shadrinsk.net10*僃Ⴡ00452200477310*僤0534830204010*僤
1024501948305100.U’Генеральный Директор1907U
0АО «ШАДРИНСКИЙ ЗООВЕТСНАБ»1)0’U УЛ РАЙОННАЯ, ДОМ 1110UШадринск1/0-U&45 Курганская область10 URU1604U*-Александр Александрович10UБрюханов1907U0АО «ШАДРИНСКИЙ ЗООВЕТСНАБ»0f0*僇0*僂$*僇C@ݒ馔Ȅ渔ޜ;vꚨ㒨ɨ㙊xᷠOᢦ»֜ꁍ꼚Iɣ>�37B縣ⅻ0ⅷ0UఽU604ᔺoovet@shadrinsk.net䜰10*僃ፁ
45000077200U 0
0*僤q0JU%C0A+*僂»+*僃㴆*僃*僃*僃0U#⁗0⁓ԝ`Uߟo髥멊G楡䂁(010 *戆獁 dit@minsvyaz.ru10 URU10U77 Москва10Uг. Москва1.0,U %улица Тверская, дом 71,0*U
#Минкомсвязь России10*僤
104770202670110*僃Ⴡ0077104743751,0*U#Минкомсвязь России⋀͌Ըn0ULdž?贶擐"0+U$0″ϲ0190214102027ZᏲ0200514091749Z0*僤p0+»КриптоПро CSP» (версия 4.0)S»Удостоверяющий центр «КриптоПро УЦ» версии 2.0OСертификат соответствия № СФ/124-3570 от 14.12.2018OСертификат соответствия № СФ/128-2983 от 18.11.20160#*僤o»КриптоПро CSP»0^*僂1S0Q0Ahttp://secret-net.ru/ucdocs/СКБ Контур и ДЗОČMg릺+滎찁ᆃUz0x0:ภ6洨ttp://cib-service.ru/files/cib-service-mid-2018.crl0:ภ6洨ttp://secret-net.net/files/cib-service-mid-2018.crl0ᔆ+ᇰᄰ@+0洨ttp://cib-service.ru/files/cib-service-mid-2018.crt0@+0洨ttp://secret-net.net/files/cib-service-mid-2018.cer0
*僇Ar쥣ij㳢[怪y$환嶪䵥娸շa梞D쯙禧,㬾猷뤘Ņ{ ꄗڅ砄1ℙ0ℕ0⁴0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»d蝕룩C0ﶊ0*僇80 *戆獁 1 *戆獁0 *戆獁 1
200305033801Z0/ *戆獁 1″ ⦾䀯G䖃m钸}ῂ-吁0⁋*戆獁 /1⁺0⁶000
*僇 룳zX什쀻ozw㘄ӠK»E䎉0H~0⁼0䂁c0 1 0 *戆獁 uc@secret-net.net10*僤
110222501102010*僃Ⴡ00222511309210 URU1’0%U22 Алтайский край10UБарнаул1604U -пр-кт Строителей 117, пом 60100.U’Удостоверяющий центр1%0#U
ООО «ЦИБ-Сервис»1%0#UООО «ЦИБ-Сервис»d蝕룩C0ﶊ0*僇@Zٱ撻4诖含MuZ%눑^Xt`細㙾@Ch;j魸3ӳԳ=CA~D$
==========================================================================================================================
NorthWind
51 — 05.03.20 — 08:17
есть подозрение, что бинарник во втором случае покорежен в результате неправильного сохранения или преобразования.
Если вам ЭЦП нужна именно в бинарнике, ADODB.Stream лучше с adTypeBinary использовать. У вас как сделано?
Garykom
52 — 05.03.20 — 08:21
(50) Блин сделай уже через csptest (которая в комплекте с криптопро) обычную подпись и проверь пройдет ли
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=16875
Garykom
53 — 05.03.20 — 08:23
(52)+ Хотя там есть вариант «заработало»
brenli
54 — 05.03.20 — 08:39
(51)
СтрКода=»function SignFile(FileName,Cert,OutFileName)
|{
| InStream=new ActiveXObject(«»ADODB.Stream»»);
| InStream.Type=1; // binary data
| InStream.Mode=3; // read/write
| InStream.Open();
| InStream.LoadFromFile(FileName);
| InData=InStream.Read(-1);
|
| Signer=new ActiveXObject(«»CAPICOM.Signer»»);
| Signer.Certificate=Cert;
//| Signer.TSAAddress = «»http://www.cryptopro.ru/tsp/tsp.srf»»;;;
//| Signer.Options=2; // CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY
|
| SignedData=new ActiveXObject(«»CAPICOM.SignedData»»);
| SignedData.Content=InData;
//| SignedData.ContentEncoding =1;
|
| OutSignedData=SignedData.Sign(Signer,1,1);
|
| OutStream=new ActiveXObject(«»ADODB.Stream»»);
| OutStream.CharSet=»»utf-8″»;
| OutStream.Type=2; // text data
| OutStream.Mode=3; // read/write
| OutStream.Open();
| OutStream.WriteText(OutSignedData);
| OutStream.SaveToFile(OutFileName,2);
| OutStream.Close();
|
| return(0);
NorthWind
55 — 05.03.20 — 09:02
(54) ну смотрите. Вы формируете бинарник — OutSignedData=SignedData.Sign(Signer,1,1).
А далее записываете его как текст.
OutStream=new ActiveXObject(«»ADODB.Stream»»);
OutStream.CharSet=»»utf-8″»;
OutStream.Type=2;// text data
Как минимум вы при этом рискуете что ADO вам напихает переводов строки в файл, что, по-моему, и происходит. Файл будет покорежен.
Вопрос — зачем?
brenli
56 — 05.03.20 — 09:06
Все заработало отлично. Спасибо коллеги.
Во первых включил
Signer.Options=2;
Во вторых ответ открепленной подписи не нужно повторно заворачивать в base64, он и так уже в нем.
Длина сигнатуры получается всеравно разная , но документы в ЦРПТ стали создаваться
Garykom
57 — 05.03.20 — 09:10
(56) Блин скажи ты будешь каждому юзеру в 77 на каждое рабочее место КриптоПро ставить?
Короче не туда ты пошел с CAPICOM когда есть более вменяемые варианты и более удобные.
NorthWind
58 — 05.03.20 — 09:14
Это уж он разберется сам, наверно. Вопросы использования ПО не входят в задачу в (0).
Я, например, просто бота написал который работает на одной машине и на него все сорят файлами, а он делает обмен. Крипто-про стоит только там.
Но речь не про маркировку.
Garykom
59 — 05.03.20 — 09:18
(58) Ну его решение задачи изначально сильно ограничено виндой и устаревшим COM/OLE/ActiveX
Лет дцать назад это было нормально но сейчас уже нет.
NorthWind
60 — 05.03.20 — 09:24
(59) и семеркой тоже но весь вопрос в том что это не наша печаль. Задача, она вот такая — семерка, крипто-про, капиком.
Я это делал, поэтому могу что-то ответить.
Насколько у них там некрофилы работают в ИТ — это к делу отношения не имеет.
brenli
61 — 05.03.20 — 09:48
(57) Более удобные имеется ввиду cryptcp ?
Krio77
62 — 10.05.20 — 13:19
(61) уточните, пожалуйста, у Вас какая группа товаров маркируется?
а то у меня обувь и для создания документа в ЦРПТ, артибут есть signature и product_document
вы упоминали что signature вам удалось как то получить но как из форума не понял, Signer.Options=2; это было проблема?
spock
63 — 10.05.20 — 20:55
Чтобы ю.л. использовать cryptcp нужны лицензии на (на каждое р.м.):
— cryptcp = 675р
— OCSP Client = 1800р
— TSP Client = 1800р
— КриптоПро CSP = 2700р
Так что это не бесплатно.
spock
64 — 10.05.20 — 20:57
+63 для винды, в nix’ах по другому)
NorthWind
65 — 10.05.20 — 21:43
(63) TSP нужна только для таких подписей, которые требуют штамп времени. Для наших госорганов обычно не требуется ничего круче чем CADES BES, во всяком случае не сталкивался с другими пока. OCSP — как я понимаю, штука тоже в основном для параноиков, которые боятся компрометации сертификата. Большинству не сильно надо. Что касается самой утилы, то мне тоже кажется что она лицензировалась, поэтому я обычно старался юзать CADESCOM, тем более что это и удобнее, ну и CryptoPro CSP — понятное дело, нужно. Как-то так.
Krio77
66 — 12.05.20 — 14:03
(62) Вопрос снят, все заработало! )
В гайде описывается формирование отсоединенной подписи в формате PKCS7 (рядом с файлом появится файл в формате .sig). Такую подпись может запросить нотариус, ЦБ и любой кому нужно долгосрочное хранения подписанного документа. Удобство такой подписи в том, что при улучшении ее до УКЭП CAdES-X Long Type 1 (CMS Advanced Electronic Signatures [1]) в нее добавляется штамп времени, который генерирует TSA (Time-Stamp Protocol [2]) и статус сертификата на момент подписания (OCSP [3]) — подлинность такой подписи можно подтвердить по прошествии длительного периода (Усовершенствованная квалифицированная подпись [4]).
Код основан на репозиториях corefx и DotnetCoreSampleProject — в последнем проще протестировать свои изменения перед переносом в основной проект и он будет отправной точкой по сборке corefx. Судя по записям с форума компании [5], решение для .NET Core в стадии бета-тестирования. Далее по тексту я также буду ссылаться на этот форум. Разработка велась в Visual Studio Community 2019.
КриптоПро бесплатно + ИНСТРУКЦИЯ по авто настройке ПК для ЭЦП + регистрация в ЕИС. Крипто Про
Для получения штампа времени использован TSP-сервис http://qs.cryptopro.ru/tsp/tsp.srf
Что имеем на входе?
- КриптоПро CSP версии 5.0 — для поддержки Российских криптографических алгоритмов (подписи, которые выпустили в аккредитованном УЦ в РФ)
- КриптоПро TSP Client 2.0 — нужен для штампа времени
- КриптоПро OCSP Client 2.0 — проверит не отозван ли сертификат на момент подписания
- КриптоПро .NET Client — таков путь
- Любой сервис по проверке ЭП — я использовал Контур.Крипто как основной сервис для проверки ЭП и КриптоАРМ как локальный. А еще можно проверить ЭП на сайте Госуслуг
- КЭП по ГОСТ Р 34.11-2012/34.10-2012 256 bit, которую выпустил любой удостоверяющий центр
- КриптоПро CSP версии 5.0 — у меня установлена версия 5.0.11944 КС1, лицензия встроена в ЭП.
- КриптоПро TSP Client 2.0 и КриптоПро OCSP Client 2.0 — лицензии покупается отдельно, а для гайда мне хватило демонстрационного срока.
- КриптоПро .NET Client версии 1.0.7132.2 — в рамках этого гайда я использовал демонстрационную версию клиентской части и все действия выполнялись локально. Лицензию на сервер нужно покупать отдельно.
- Контур.Крипто бесплатен, но требует регистрации. В нем также можно подписать документы КЭП, УКЭП и проверить созданную подпись загрузив ее файлы.
Так, а что надо на выходе?
А на выходе надо получить готовое решение, которое сделает отсоединенную ЭП в формате .sig со штампом времени на подпись и доказательством подлинности. Для этого зададим следующие критерии:
- ЭП проходит проверку на портале Госуслуг, через сервис для подтверждения подлинности ЭП формата PKCS#7 в электронных документах;
- КриптоАРМ после проверки подписи
- Заполнит поле «Время создания ЭП» — в конце проверки появится окно, где можно выбрать ЭП и кратко посмотреть ее свойства
- В информации о подписи и сертификате (двойной клик по записе в таблице) на вкладке «Штампы времени» в выпадающем списке есть оба значения и по ним заполнена информация:
- Подпись:
- Доказательства подлинности:
Установка ЭЦП на компьютер с флешки в КриптоПро 5.0. Пошаговая инструкция
Соберем проект с поддержкой ГОСТ Р 34.11-2012 256 bit
Гайд разделен на несколько этапов. Основная инструкция по сборке опубликована вместе с репозиторием DotnetCoreSampleProject — периодически я буду на нее ссылаться.
Первым делом создадим новую папку
. и положим туда все необходимое.
Инструкция делится на 2 этапа — мне пришлось выполнить оба, чтобы решение заработало. В папку добавьте подпапки .runtime и .packages
I — Сборка проекта без сборки corefx для Windows
- Установите КриптоПро 5.0 и убедитесь, что у вас есть действующая лицензия. — для меня подошла втроенная в ЭП;
- Установите core 3.1 sdk и runtime и распространяемый пакет Visual C++ для Visual Studio 2015 обычно ставится вместе со студией; прим.: на II этапе мне пришлось через установщик студии поставить дополнительное ПО для разработки на C++ — сборщик требует предустановленный DIA SDK.
- Задайте переменной среды DOTNET_MULTILEVEL_LOOKUP значение 0 — не могу сказать для чего это нужно, но в оригинальной инструкции это есть;
- Скачайте 2 файла из релиза corefx (package_windows_debug.zip и runtime-debug-windows.zip) — они нужны для корректной сборки проекта. В гайде рассматривается версия v3.1.1-cprocsp-preview4.325 от 04.02.2021:
- package_windows_debug.zip распакуйте в .packages
- runtime-debug-windows.zip распакуйте в .runtime
git clone https://github.com/CryptoProLLC/NetStandard.Library New-Item -ItemType Directory -Force -Path «$env:userprofile.nugetpackagesnetstandard.library» Copy-Item -Force -Recurse «.NetStandard.LibrarynugetReadynetstandard.library» -Destination «$env:userprofile.nugetpackages»
II — Сборка проекта со сборкой corefx для Windows
- Выполните 1-3 и 6-й шаги из I этапа;
- Склонируйте репозиторий corefx в .
- Выполните сборку запустив .corefxbuild.cmd — на этом этапе потребуется предустановленный DIA SDK
- Выполните шаги 5, 7-9 из I этапа. Вместо условного пути .packages укажите .corefxartifactspackagesDebugNonShipping, а вместо .runtime укажите .corefxartifactsbinruntimenetcoreapp-Windows_NT-Debug-x64
На этом месте у вас должно получиться решение, которое поддерживает ГОСТ Р 34.11-2012 256 bit.
Немного покодим
Потребуется 2 COM библиотеки: «CAPICOM v2.1 Type Library» и «Crypto-Pro CAdES 1.0 Type Library». Они содержат необходимые объекты для создания УКЭП.
В этом примере будет подписываться BASE64 строка, содержащая в себе PDF-файл. Немного доработав код можно будет подписать hash-значение этого фала.
Основной код для подписания был взят со страниц Подпись PDF с помощью УЭЦП- Page 2 (cryptopro.ru) и Подпись НЕОПРЕДЕЛЕНА при создании УЭЦП для PDF на c# (cryptopro.ru), но он использовался для штампа подписи на PDF документ. Код из этого гайда переделан под сохранение файла подписи в отдельный файл.
Условно процесс можно поделить на 4 этапа:
- Поиск сертификата в хранилище — я использовал поиск по отпечатку в хранилище пользователя;
- Чтение байтов подписанного файла;
- Создание УКЭП;
- Сохранение файла подписи рядом с файлом.
Пробный запуск
Для подписания возьмем PDF-документ, который содержит надпись «Тестовое заявление.»:
Далее запустим программу и дождемся подписания файла:
Готово. Теперь можно приступать к проверкам.
Проверка в КриптоАРМ
Время создания ЭП заполнено:
Штамп времени на подпись есть:
Доказательства подлинности также заполнены:
В протоколе проверки есть блоки «Доказательства подлинности», «Штамп времени на подпись» и «Время подписания»:
Важно отметить, что серийный номер параметров сертификата принадлежит TSP-сервису http://qs.cryptopro.ru/tsp/tsp.srf
Проверка на Госуслугах
Проверка в Контур.Крипто
Done.
Гайд написан с исследовательской целью — проверить возможность подписания документов УКЭП с помощью самописного сервиса на .NET Core 3.1 с формированием штампов подлинности и времени подписания документов.
Безусловно это решение не стоит брать в работу «как есть» и нужны некоторые доработки, но в целом оно работает и подписывает документы подписью УКЭП.
Это вообще законно?
С удовольствием узнаю ваше мнение в комментариях.
Ссылки на публичные источники
[2] Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) — https://www.ietf.org/rfc/rfc3161.txt
[3] X.509 Internet Public Key Infrastructure Online Certificate Status Protocol — OCSP — https://tools.ietf.org/html/rfc2560
UPD1: Поменял в коде переменную, куда записываются байты файла подписи.
Также я забыл написать немного про подпись штампа времени — он подписывается сертификатом владельца TSP-сервиса. По гайду это ООО «КРИПТО-ПРО»:
UPD2: Про библиотеки CAdESCOM и CAPICOM
Если создать пустой проект на .NET Core 3.1, подключив непропатченные библиотеки, то при обращении к закрытому ключу выпадет исключение «System.NotSupportedException» c сообщением «The certificate key algorithm is not supported.»:
netcoreapp3.1 . tlbimp 0 1 e00b169c-ae7f-45d5-9c56-672e2b8942e0 0 false true tlbimp 1 2 bd26b198-ee42-4725-9b23-afa912434229 0 false true .
Но при использовании пропатченных библиотек это исключение не выпадает и с приватным ключем можно взаимодействовать:
netcoreapp3.1 . .corefxartifactsbinruntimenetcoreapp-Windows_NT-Debug-x64System.Security.Cryptography.Pkcs.dll .corefxartifactsbinruntimenetcoreapp-Windows_NT-Debug-x64System.Security.Cryptography.Xml.dll .
Также код из гайда работает с .NET Framework 4.8 без использования пропатченных библиотек, но вместо обращения к пространству имен «System.Security.Cryptography», которое подменяется пропатченными библиотеками для .NET Core, CSP Gost3410_2012_256CryptoServiceProvider будет использован из пространства имен «CryptoPro.Sharpei»:
v4.8 . 1 0 0 tlbimp False True 2 1 0 tlbimp False True 1 0 0 tlbimp False True .
- .NET
- Разработка под Windows
Источник: habr.com
Подписать документ присоединенной ЭП
ЭП защищает документ от изменений, подтверждает авторство и гарантирует конфиденциальность информации. Поэтому электронная торговая площадка или контрагент могут запросить файл, подтвержденный электронной подписью.
Подписывать документ Word электронной подписью нужно, когда он полностью готов. После этого файл станет доступен только для чтения. Если вы внесете в него изменения, все подписи станут недействительными.
Microsoft Office Starter и web-компоненты Microsoft Office 365 не поддерживают работу с электронной подписью.
Системные требования
- Microsoft Office 2007/2010/2013/2016/2019 или Microsoft 365 (подписание доступно только в версии рабочего стола, но не во всех подписках).
- КриптоПро CSP в соответствии с версией ОС.
- КриптоПро Office Signature 2.0.
Подписать документ
- Убедитесь, что внесли все изменения и подписываете окончательную версию. Файлы, подписанные ЭП, нельзя менять, иначе подписи станут недействительными.
- Перейдите на вкладку «Файл», откройте «Сведения» и нажмите «Добавить электронную подпись (КРИПТО-ПРО)».
- В окне «Подписание» проверьте сертификат ЭП, выбрать другой можно по кнопке «Изменить. ». Укажите цель подписания документа (например, «аккредитация»).
- Нажмите «Подписать».
Проверить, кто и когда подписал документ
Нажмите «Файл/Сведения/Просмотр подписей». В окне «Подписи» вы увидите, кто и когда подписал документ. Чтобы получить подробную информацию, кликните подпись правой кнопкой мыши и выберите «Состав подписи».
Подробнее о работе с ЭП в Microsoft Office Word/Excel читайте в инструкции разработчика.
Разберем, как настроить Microsoft Outlook, на примере версии Outlook 2010.
Настройте Outlook
- Откройте Outlook и выберите пункт меню «Файл/Параметры/Центр управления безопасностью».
- Нажмите «Параметры центра управления безопасностью».
- «Шифровать содержимое и вложения исходящих сообщений» и «Добавлять цифровую подпись к исходящим сообщениям» — чтобы все письма подписывались и шифровались автоматически. Иначе настраивать подпись в Outlook нужно будет для каждого письма;
- «Отправлять подписанные сообщения открытым текстом» — чтобы для всех прикрепленных файлов подпись формировалась как отдельное вложение. Иначе текст сообщения, все файлы и ЭП будут объединены в одно вложение.
Отправьте подписанное сообщение
Получите сертификат абонента для шифрования сообщений
Прежде чем отправить зашифрованное сообщение, обменяйтесь с адресатом сертификатами ЭП. Для этого достаточно отправить ему подписанное (но не зашифрованное) сообщение. Когда он получит письмо, адрес и сертификат отправителя автоматически добавятся в его адресную книгу.
Проверить наличие сертификата или добавить его вместе с контактом можно из письма.
- Откройте входящее письмо с ЭП.
- Установите курсор на адрес отправителя и, нажав правую кнопку мыши, выберите «Добавить в контакты Outlook». В блоке «Показать» выберите «Сертификаты». Убедитесь, что сертификат отправителя есть в вашей адресной книге.
- электронная подпись;
- Adobe Acrobat Reader DC, 64-разрядная версия;
- КриптоПро CSP в соответствии с версией ОС;
- КриптоПро PDF.
Настроить Adobe Acrobat Reader DC
- Установите КриптоПро PDF.
- Откройте Adobe Acrobat Reader DC.
- Нажмите «Редактирование/Установки/Подписи».
- В блоке «Создание и оформление» кликните «Подробнее».
- Убедитесь, что в поле «Метод подписания по умолчанию» выбрано «КриптоПро PDF».
Подписать документ
- Откройте документ в Adobe Acrobat Reader DC.
- Перейдите на вкладку «Инструменты» и выберите «Сертификаты».
Источник: sbis.ru
КриптоПро TSP Client предназначен для обращения к серверам штампов времени протоколу TSP поверх HTTP, работы с запросами на штампы и с самими штампами времени.
КриптоПро TSP Client представляет собой программный интерфейс (библиотеку) для работы со штампами времени и не имеет другого интерфейса пользователя. Поэтому КриптоПро TSP Client не имеет выделенного дистрибутива. Его установка должна производиться совместно с установкой продукта, который использует его программный интерфейс. Модули для интеграции КриптоПро TSP Client в установочный пакет другого продукта включены в инструментарий разработчика КриптоПро TSP SDK вместе с соответствующим руководством.
Операционные системы
КриптоПро TSP Client функционирует в следующих операционных системах:
- Microsoft Windows XP / 2003 / Vista / 2008 / W7 / 2008 R2 / W8 / 2012 / W8.1 / 2012 R2 / 2016 / W10,
- ОС семейства Linux, удовлетворяющих LSB 3.1 и выше,
- FreeBSD 7.x и выше,
- AIX 5.3 и 6.x,
- Apple MacOS 10.6 и выше.
Основные характеристики
КриптоПро TSP Client:
- Реализует протокол TSP поверх HTTP по RFC 3161 с учётом использования российских криптографических алгоритмов.
- Поддерживает штампы времени Microsoft, используемые в технологии Authenticode.
- Может настраиваться с помощью групповых политик. Список доступных политик см. в КриптоПро PKI SDK.
- Позволяет обращаться к серверу по протоколу TLS (SSL), поддерживает различные методы аутентификации и доступ через прокси.
- Совместим с серверными приложениями.
- Работает с любым криптопровайдером (CSP).
- Предоставляет интерфейсы C++ и COM. COM-интерфейс может использоваться в скриптах.
- Включает низкоуровневый интерфейс для работы с ASN.1-структурами протокола TSP и технологии Authenticode .
- Устанавливается с помощью Windows Installer.
Источник: crypto-pro.ru