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 |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Коды ошибок
Коды ошибок библиотеки tspcli
Код ошибки | Описаниие |
---|---|
0xC2100100 | При попытке отправки запроса возникла ошибка HTTP |
0xC2100101 | Указанный тип аутентификации запрещен групповой политикой |
0xC2100102 | Указанный тип аутентификации прокси-сервера запрещен групповой политикой |
0xC2100103 | Указанная служба штампов запрещена групповой политикой |
0xC2100104 | Использование поля Nonce запрещено групповой политикой |
0xC2100110 | Указанный алгоритм хэширования запрещен групповой политикой |
0xC2100111 | Указанный «PolicyID» запрещен групповой политикой |
0xC2100120 | Значение полей «Nonce» запроса и штампа не совпадают |
0xC2100121 | Не задан адрес службы штампов времени |
0xC2100122 | Штамп времени просрочен (выдан слишком давно) |
0xC2100123 | В запросе отсутствует хэш-значение |
0xC2100124 | Получен ответ службы штампов времени с ошибкой |
0xC2100140 | Лицензия на КриптоПро TSP Client истекла или не была введена |
Коды ошибок библиотеки ocspcli
Код ошибки | Описаниие |
---|---|
0xC2110100 | При попытке отправки запроса возникла ошибка HTTP |
0xC2110101 | Указанный тип аутентификации запрещен групповой политикой |
0xC2110102 | Указанный тип аутентификации прокси-сервера запрещен групповой политикой |
0xC2110103 | Указанная служба OCSP запрещена групповой политикой |
0xC2110104 | Встречено расширение (AcceptableTypes или Nonce), запрещенное групповой политикой |
0xC2110110 | Подписанные OCSP-запросы запрещены политикой |
0xC2110111 | Неподписанные OCSP-запросы запрещены политикой |
0xC2110120 | Поля «Nonce» OCSP-запроса и ответа не совпадают |
0xC2110121 | Не задан адрес службы OCSP |
0xC2110122 | OCSP-ответ просрочен по значению поля «ProducedAt» или «NextUpdate» |
0xC2110123 | Значение поля «ThisUpdate» OCSP-ответа просрочено |
0xC2110124 | Значение поля «NextUpdate» OCSP-ответа меньше значения «ThisUpdate» |
0xC2110125 | В OCSP-ответе не найден запрашиваемый статус сертификата |
0xC2110126 | Сертификат отозван |
0xC2110127 | Статус сертификата не известен |
0xC2110128 | Получен OCSP-ответ с ошибкой |
0xC2110129 | Полученный OCSP-ответ содержит неизвестное критическое расширение |
0xC2110130 | Время Службы OCSP рассинхронизировано со Службой штампов времени |
0xC2110140 | Лицензия на КриптоПро OCSP Client (Revocation Provider) истекла или не была введена |
Электронная подпись
Возможные ошибки при работе с ЭЦП
Код ошибки | Текст ошибки | Как исправить |
0x8010006E | Действие было отменено пользователем | Выберите нужный сертификат и нажмите Проверить. Согласитесь с подтверждением доступа. Введите пароль от сертификата, если он есть. |
0x80090016 | Набор ключей не существует |
Повторно добавьте сертификат в Личное хранилище по статье Установить «КриптоПро» CSP 5.0 Если проблема не решена, то переустановите «КриптоПро ЭЦП Browser Plug-in». |
0x8007065B | Ошибка исполнения функции |
Проверьте текущую версию КриптоПро CSP. Она должна быть 5.0 и выше. Если версия меньше, то обновите приложение. Если версия выше, то переустановите «КриптоПро ЭЦП Browser Plug-in». |
0x80090008 | Указан неправильный алгоритм | |
0x8007064A | Данные настройки для этого продукта повреждены. Обратитесь в службу поддержки организации |
Проверьте статус лицензий КриптоПро CSP. Для этого откройте КриптоПро CSP. Информация о статусе лицензии отображается в главном разделе приложения в строке «Срок действия» Если лицензия истекла, то купите и активируйте новую. Если лицензия не истекла, то переустановите сертификаты и «КриптоПро ЭЦП Browser Plug-in». |
0x80090010 | Отказано в доступе | |
0x80090019 | Набор ключей не определен |
Повторно добавьте сертификат в Личное хранилище по статье Установить «КриптоПро» CSP 5.0 Если проблема не решена, то переустановите «КриптоПро ЭЦП Browser Plug-in». |
0x80092004 |
Ошибка установки свойства в контекст сертификата. Ошибка получения свойства сертификата. Объект или свойство не найдено. |
|
0xc0000225 |
ЭЦП не использует КриптоПровайдер |
Запустите на ПК командную строку (cmd) от имени администратора и пропишите там: regsvr32 cpcng Нажмите «Enter», закройте командную строку. Перезагрузите ПК. |
Неожиданно: CMS Decrypt Error |
Электронная подпись соответствует требованиям |
Обратитесь в удостоверяющий центр, выпустивший сертификат для уточнения соответствия требованиям к ЭЦП:
|
Из нашей статьи вы узнаете:
При использовании КриптоПро ЭЦП 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.
Если предлагаемые выше способы устранения ошибок не помогут, рекомендуем обратиться в службу поддержки КриптоПро.
У вас ещё нет электронной подписи? Её можно заказать у нас на сайте. Выберите подходящий вариант ЭЦП: для участия в электронных торгах, работы с порталами или отчётности. Процедура оформления не займёт больше одного дня.
Из нашей статьи вы узнаете:
При использовании КриптоПро ЭЦП 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) Вопрос снят, все заработало! )
ЭП защищает документ от изменений, подтверждает авторство и гарантирует конфиденциальность информации. Поэтому электронная торговая площадка или контрагент могут запросить файл, подтвержденный электронной подписью.
Чтобы создать документ с присоединенной ЭП, можно использовать различные программы. Для электронного письма — почтовый клиент, для документов в форматах *.doc, *.docx — Word, для pdf-файлов — Adobe Acrobat Reader DC.
Подписывать документ 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 и выберите пункт меню «Файл/Параметры/Центр управления безопасностью».
- Нажмите «Параметры центра управления безопасностью».
- Перейдите на вкладку «Защита электронной почты» и нажмите «Параметры».
- В поле «Сертификат подписи» нажмите «Выбрать» и укажите ЭП, которая будет использоваться для подписания, шифрования и расшифровки сообщений.
Выбрать можно только сертификат, в описании которого email совпадает с учетной записью Outlook.
- Вернитесь на вкладку «Защита электронной почты» и установите флаги:
- «Шифровать содержимое и вложения исходящих сообщений» и «Добавлять цифровую подпись к исходящим сообщениям» — чтобы все письма подписывались и шифровались автоматически. Иначе настраивать подпись в Outlook нужно будет для каждого письма;
- «Отправлять подписанные сообщения открытым текстом» — чтобы для всех прикрепленных файлов подпись формировалась как отдельное вложение. Иначе текст сообщения, все файлы и ЭП будут объединены в одно вложение.
Отправьте подписанное сообщение
- Нажмите «Создать» или выберите пункт меню «Файл/Создать/Сообщение».
- Выберите получателя в поле «Кому» и введите тему сообщения. Если письмо будет содержать файлы, добавьте их в письмо — нажмите «Вложить файл».
- Когда сообщение будет готово к отправке, нажмите «Отправить».
Что делать, если появилось сообщение «Недопустимый сертификат не позволяет Microsoft Office Outlook подписать и расшифровать сообщение»?
Получите сертификат абонента для шифрования сообщений
Прежде чем отправить зашифрованное сообщение, обменяйтесь с адресатом сертификатами ЭП. Для этого достаточно отправить ему подписанное (но не зашифрованное) сообщение. Когда он получит письмо, адрес и сертификат отправителя автоматически добавятся в его адресную книгу.
Проверить наличие сертификата или добавить его вместе с контактом можно из письма.
- Откройте входящее письмо с ЭП.
- Установите курсор на адрес отправителя и, нажав правую кнопку мыши, выберите «Добавить в контакты Outlook». В блоке «Показать» выберите «Сертификаты». Убедитесь, что сертификат отправителя есть в вашей адресной книге.
- Нажмите «Сохранить и закрыть». Если абонент с таким адресом уже существует, программа предложит добавить новый контакт или обновить сведения. Выберите второй вариант — в контакт добавится новый сертификат, который будет использоваться по умолчанию.
Системные требования:
- электронная подпись;
- Adobe Acrobat Reader DC, 32-разрядная версия;
- КриптоПро CSP в соответствии с версией ОС;
- КриптоПро PDF.
Настроить Adobe Acrobat Reader DC
- Установите КриптоПро PDF.
- Откройте Adobe Acrobat Reader DC.
- Нажмите «Редактирование/Установки/Подписи».
- В блоке «Создание и оформление» кликните «Подробнее».
- Убедитесь, что в поле «Метод подписания по умолчанию» выбрано «КриптоПро PDF».
Подписать документ
- Откройте документ в Adobe Acrobat Reader DC.
- Перейдите на вкладку «Инструменты» и выберите «Сертификаты».
- Нажмите «Поставить цифровую подпись» и выделите область, в которой будет отображаться штамп ЭП.
- Выберите сертификат в списке и нажмите «ОК».
- В открывшемся окне, ничего не меняя, кликните «Продолжить».
- Выберите шаблон оформления штампа об электронной подписи или создайте свой. Нажмите «Подписать».
- При подписании впоявилась ошибка «0xc2100140 — Лицензия на КриптоПро TSP Client истекла или не была введена». Что делать?
- Укажите имя файла и каталог, в который хотите сохранить подписанный документ.
Проверить подпись
При открытии документа в Adobe Acrobat Reader DC все подписи проверяются автоматически. Чтобы посмотреть результат проверки, кликните левой кнопкой мыши штамп об ЭП.
Подробнее о работе с ЭП в Adobe Acrobat Reader DC читайте в инструкции разработчика.
Лицензия
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.
Обновлено: 08.02.2023
Всем привет.
Вторые сутки ломаю мозг по использованию библиотеки 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);
Вообще ничего не происходит.
Подскажите у кого есть опыт по реализации таких задач.
Спасибо
(0)Ну, все правильно. А дальше:
Далее используйте: ТекСерт.Свойство,КотороеВамНужно.
Вот уже IE (замена на Edge) с Microsoft Edge (на движок Chromium переходит где COM нету) того и дальше будет только хуже.
Так что забывайте уже о COM/OLE/ActiveX и используете другие методы, да старый древний запуск консольной утилиты/проги с параметрами по прежнему в строю.
И будущее за веб-сервисами.
Ну, консольное приложение из (1), платное. Лецензируется отдельно от КриптоПро, и работает с ним в паре. Интересно, сколько стоит?
(5) бесплатно, там устаревшая инфа в новых криптопро оно из коробки
(6)+ Точнее не бесплатно а в комплекте с платным КриптоПро оно.
Никакой лицензии отдельной не запрашивает, может конечно я и ошибаюсь но фактически так.
(0) советую сразу перейти на CADESCOM из комплекта КриптоПро. Разницы по вызовам с CAPICOM практически нет, соместимость процентов 95. Но при этом CADESCOM поддерживается, в том числе и для новых виндов, а CAPICOM давно с поддержки снят и не понятно, с какого очередного релиза Win10 он крякнет. Может с любого свежего.
(9) CADESCOM отдельно покупать надо или в коробке со штатным крипто про идет?
Где то видел CADESCOM — 90 дней триал, а дальше лицензию надо.
CADESCOM идет в составе браузерного плагина для CryptoPro. Скачивается все это дело с сайта CryptoPro бесплатно, само подцепляется к уже установленному CryptoPro автоматически и живет.
эта функа ищет сертификат по его SHA1-хэшу и возвращает. Функа на VBS. Другого нет — скрипт писал именно на нем
для капиком, собственно, все то же самое и тоже работает — изначально было на нем. Но я в конце концов с него ушел.
Кстати прикол хотите?
(10) нет такого. Если у вас крипто-про куплен, то браузер плагин ставится без каких-либо дополнительных вопросов и в нем этот кадеском есть и работает. Уже он у меня работает не один год так, а не 90 дней. Там единственное что — для некоторых более сложных подписей чем CADES_BES, нужна служба штампов времени. Вот она да, приобретается отдельно. Но это еще вопрос, нужна она вам или нет.
(16) Вообще вся эта тема для работы с системой маркировки. Там вроде служба времени не нужна
(4) браузеры браузерами, а на десктопе ком никуда не денется, пока жив сам по себе десктоп. Его и в х64 MS притащили, а значит, пока девать никуда не собираются.
Это все хорошо. Вариантов несколько, кто как хочет, тот так и заморочится. Но, вот как-бы из v7 научиться с аппаратными криптопровайдерами работать. Типа, ЕГАИСовского Рутокен-ЭЦП 2.0. Пока, не нашел способов
(20) читаю и не могу понять. А чем он принципиально отличается от любой другой смарт-карты, етокена того же?
Принципиально — тем, что с ним не работает тот-же КриптоПро. У него на борту свой, встроенный криптопровайдер. Все операции по подписанию и шифрованию происходят «внутри», с неизвлекаемыми ключами.
У обычных токенов, контейнер с ключами и сертификатами доступен «извне», их видит КриптоПро или VipNet, и с ними работает программно. Здесь свой «типаКриптоПро», внутри.
Кроме того, сертификат вместе с ключами с обычного токена, можно скопировать например на другой токен, в папку на диске, в реестр наконец. С Рутокен ЭЦП 2.0 или устаревшей JaCarta, такой фокус не проходит, сертификат вытащить можно, но без закрытых ключей.
(24) При перегенерации все прекрасно вытаскивается наружу ))
CAPICOM снята с поддержки лет уже как 10. Зачем Вам то, что так сильно устарело?
полно опен проектов, тот-же гнус например очень даже хорошо работает с сертификатами (как эцп так и шифрование).
Хм. Интересно. Просто заменой объекта:
Дальше, пока не пробовал, надо будет на досуге заняться.
К рутокену идет свой доайвер,который прекрасно с ним работает.
плюс в том,что криптопро покупать не надо.
(32) у человека вопрос, через какое апи можно дергать механизм подписи этим ключом, например, из 1с 7.7. Желательно понятно и с примерами. Криптопро в данном случае хорош тем, что там есть сеть разработчиков, примеры и как работать с cadescom/capicom, многие худо-бедно знают.
+(33)Да, именно так. Там, где он должен работать через свой драйвер — он работает, вообще без проблем, есть необходимый софт, плагины.
А вот как к нему из 7.7 достучаться, для меня пока загадка. Готовых примеров не нашел, а самому с предоставленным на сайте SDK разбираться — сложно, долго, и и самое главное, опыта не хватает. Да,
и по большому счету — и если только ради интереса, экономически не выгодно, кому надо — могут себе позволить плюсом к ЕГАИСовской ЭЦП еще и КриптоПрошную, вместе с самим КриптоПро, не космических денег они стоят.
Просто, было-бы удобно, один токен-одна ЭЦП на все, что связано с торговыми «извратами».
(34) Если я правильно понял, то с КриптоПро идет бесплатная консольная утилита для подписи — csptest.exe и ею вполне таки можно пользоваться. Сам правда ещё не пробовал, просто читал мануал.
Или использование консольных утилит не подходит?
(34) -> (30), криптопро уже умеет через свое апи работать с такими подписями. Правда, нужна версия 5, которая пока еще не у всех куплена, чаще всего у людей четверка.
Всем привет. До сих пор воюю с этими подписями .
. a. a?. x
Пробовал юзать CadesCOM — выдает что не введена лицензия.
Что еще можно сделать?
(6) на сайте пишут что 5 версия требует лицензию.
(37) + при подписании не открепленной подписью, подписывает корректно
и вот это имхо тоже зря, потому что опять же непонятно что с этим из-под 7.7 делать. Ну не умеет она юникоду ни в каком виде.
Поставьте US-ASCII.
(41)ну,если двоичный поток,то 7.7 прекрасно умеет utf-8,так как строки однобайтовые
а вот для Com-сервера строку можно передать только как bstr,а это unicode строка.
лицензию требует не com-сервер,а само CryptoPro.
(42) > лицензию требует не com-сервер,а само CryptoPro.
(42) Описание ошибки: CAdESCOM.CadesSignedData.1: Лицензия на КриптоПро TSP Client истекла или не была введена
(44) У тебя ситуация (43) ты при подписи выбрал такие параметры что она пытается службу штампов времени заюзать
И там обрати внимание:
«с усиленной квалифицированной электронной подписью <> усовершенствованная ЭЦП
(45) (43) Спасибо. Открепленная подпись заработала с CAPICOM ом.
Данные подписываются запрос отправляется, но с сигнатурой по прежнему что то не то.
Документ на сайте ЧЗ не создается, хотя id документа возвращается.
Что не так не понятно. Файл после подписания точно имеет открепленную подпись и не содержит данных,
я проверил декодировав base64 полученный после подписания. С не открепленной — содержатся данные в моем случае xml,
без открепленной данных нет. Далее это открепленную подпись преобразую в base64 и что то не так.
Документ точно заполняется как надо.
Если строкой передаю сигнатуру руками скопированную из запроса браузера, документы создаются.
Что еще можно проверить.
(47) Не нужна открепленная )) Обычная подпись там. Точнее в МДЛП была обычная а не «открепленная» а какая у тебя маркировка хз.
(48) судя по тому что через браузер длинее — похоже на то что должна быть не открепленная.
ТС, а неоткрепленную не пробовал? Метод тыка — дело иногда полезное.
Я построю свой собственный сервис для подписания документов — FOX ©
Важное вступление
В гайде описывается формирование отсоединенной подписи в формате PKCS7 (рядом с файлом появится файл в формате .sig). Такую подпись может запросить нотариус, ЦБ и любой кому нужно долгосрочное хранения подписанного документа. Удобство такой подписи в том, что при улучшении ее до УКЭП CAdES-X Long Type 1 (CMS Advanced Electronic Signatures [1]) в нее добавляется штамп времени, который генерирует TSA (Time-Stamp Protocol [2]) и статус сертификата на момент подписания (OCSP [3]) — подлинность такой подписи можно подтвердить по прошествии длительного периода (Усовершенствованная квалифицированная подпись [4]).
Что имеем на входе?
КриптоПро CSP версии 5.0 — для поддержки Российских криптографических алгоритмов (подписи, которые выпустили в аккредитованном УЦ в РФ)
КриптоПро TSP Client 2.0 — нужен для штампа времени
КриптоПро OCSP Client 2.0 — проверит не отозван ли сертификат на момент подписания
Любой сервис по проверке ЭП — я использовал Контур.Крипто как основной сервис для проверки ЭП и КриптоАРМ как локальный. А еще можно проверить ЭП на сайте Госуслуг
КЭП по ГОСТ Р 34.11-2012/34.10-2012 256 bit, которую выпустил любой удостоверяющий центр
КриптоПро CSP версии 5.0 — у меня установлена версия 5.0.11944 КС1, лицензия встроена в ЭП.
КриптоПро TSP Client 2.0 и КриптоПро OCSP Client 2.0 — лицензии покупается отдельно, а для гайда мне хватило демонстрационного срока.
Контур.Крипто бесплатен, но требует регистрации. В нем также можно подписать документы КЭП, УКЭП и проверить созданную подпись загрузив ее файлы.
Так, а что надо на выходе?
А на выходе надо получить готовое решение, которое сделает отсоединенную ЭП в формате .sig со штампом времени на подпись и доказательством подлинности. Для этого зададим следующие критерии:
КриптоАРМ после проверки подписи
Заполнит поле «Время создания ЭП» — в конце проверки появится окно, где можно выбрать ЭП и кратко посмотреть ее свойства
В информации о подписи и сертификате (двойной клик по записе в таблице) на вкладке «Штампы времени» в выпадающем списке есть оба значения и по ним заполнена информация:
В протоколе проверки подписи есть блоки «Доказательства подлинности», «Штамп времени на подпись» и «Время подписания». Для сравнения: если документ подписан просто КЭП, то отчет по проверке будет достаточно коротким в сравнении с УКЭП.
Соберем проект с поддержкой ГОСТ Р 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
Добавьте источник пакетов NuGet в файле %appdata%NuGetNuGet.Config — источник должен ссылаться на путь .packages в созданной вами папке. Пример по добавлению источника есть в основной инструкеии. Для меня это не сработало, поэтому я добавил источник через VS Community;
Склонируйте NetStandard.Library в . и выполните PowerShell скрипт (взят из основной инструкции), чтобы заменить пакеты в $env:userprofile.nugetpackages
Измените файл .DotnetSampleProjectDotnetSampleProject.csproj — для сборок System.Security.Cryptography.Pkcs.dll и System.Security.Cryptography.Xml.dll укажите полные пути к .runtime;
Перейдите в папку проекта и попробуйте собрать решение. Я собирал через Visual Studio после открытия проекта.
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-значение этого фала.
Условно процесс можно поделить на 4 этапа:
Поиск сертификата в хранилище — я использовал поиск по отпечатку в хранилище пользователя;
Чтение байтов подписанного файла;
Сохранение файла подписи рядом с файлом.
Пробный запуск
Для подписания возьмем PDF-документ, который содержит надпись «Тестовое заявление.»:
Больше для теста нам ничего не надо
Далее запустим программу и дождемся подписания файла:
Готово. Теперь можно приступать к проверкам.
Проверка в КриптоАРМ
Время создания ЭП заполнено:
Штамп времени на подпись есть:
Доказательства подлинности также заполнены:
В протоколе проверки есть блоки «Доказательства подлинности», «Штамп времени на подпись» и «Время подписания»:
Проверка на Госуслугах
Проверка в Контур.Крипто
Безусловно это решение не стоит брать в работу «как есть» и нужны некоторые доработки, но в целом оно работает и подписывает документы подписью УКЭП.
Это вообще законно?
С удовольствием узнаю ваше мнение в комментариях.
Ссылки на публичные источники
UPD1: Поменял в коде переменную, куда записываются байты файла подписи.
Также я забыл написать немного про подпись штампа времени — он подписывается сертификатом владельца TSP-сервиса. По гайду это ООО «КРИПТО-ПРО»:
UPD2: Про библиотеки CAdESCOM и CAPICOM
Но при использовании пропатченных библиотек это исключение не выпадает и с приватным ключем можно взаимодействовать:
Да, ключ ЦБ для портал4 обновили.
Как и ожидалось, он такой же, как (новый) ключ ЦБ для ЦИК.
Комментарий
Да, ключ ЦБ для портал4 обновили.
Как и ожидалось, он такой же, как (новый) ключ ЦБ для ЦИК.
это один ключ БАНКА РОССИИ
для ЦИК есть свой отдельный ключ на который происходит шифрование при отправке данных)
Комментарий
Привет народ, может кто сталкивался с проблемой, не можем ответить на запрос предписание, постоянно выскакивает одна и та же ошибка что сертификат не найден. Есть у кого ни буть идеи по этому поводу?
Комментарий
Привет народ, может кто сталкивался с проблемой, не можем ответить на запрос предписание, постоянно выскакивает одна и та же ошибка что сертификат не найден. Есть у кого ни буть идеи по этому поводу?
В настройках профиля на портале, во вкладке безопасность вы добавляете свой сертификат.
По тексту ошибки получается, что направляете данные, подписанны сертификатом, отличающимся от того что указан в настройках вашего профиля.
Сверьте отпечатки сертификата
Комментарий
Техподдержка ЦБ, конечно же, несколько дней подряд молчит.
Бодрого всем дня!
Коллеги, ну хоть у кого-нибудь была ошибка 0x8007064A на этапе подписания/шифрования? Очень сильно хочется её побороть, а то больно повальная ошибка.
Комментарий
МихаилС
Добрый день! Удалось устранить ошибку с установкой штампа времени? Уже вторую неделю мучаюсь, никак не получается настроить.
Комментарий
Бодрого всем дня!
Коллеги, ну хоть у кого-нибудь была ошибка 0x8007064A на этапе подписания/шифрования? Очень сильно хочется её побороть, а то больно повальная ошибка.
Комментарий
Комментарий
Комментарий
Спасибо Вам за идею, добрый человек! На одной из машин эта идея подтвердилась — лицензия OSCP там истекшая.
Но вот теперь возникает другой вопрос. ЦБ совершенно официально заявлял о том, что для работы со штампом времени потребуется приобретение лицензий TSP. Об OSCP ведь ни слова не было.
Есть у кого-нибудь информация о необходимости использования OSCP-лицензий?
Комментарий
Просто в ЦБ об этом не подумали.
Они же и про необходимость лицензии на КриптоАРМ тоже в руководстве не написали, там всё просто «скачайте с сайта. «.
Комментарий
+1
ФинЦЕРТ свои письма им же подписывает. (Кстати, надо обновить.)
Комментарий
df1 меня отправил в нужном направлении. В нашем случае проблема оказалась в истекших лицензиях OSCP (что логично, ибо об этом никто не предупреждал).
Вот с такой конфигурацией у вас с вероятностью 90% не будет проблем с подписанием/шифрованием с использованием штампа времени и Вы избежите большинства ошибок:
- Личный (привязанный к кабинету) — в личных
- Корневые сертификаты для построения цепочки сертификации личного сертифика — в корневых сертификатах (желательно до самого верхнего уровня — до головного удостоверяющего центра)
- Сертификат шифрования ЦБ — в других пользователях
- Корневые сертификаты для построения цепочки сертификации сертификата шифрования — в корневых сертификатах (желательно до самого верхнего уровня — до головного удостоверяющего центра)
* Если у кого-то параллельно с версиями 2.0 TSP Client-а и OCSP Client-а присутствуют версии 1.0, то сносите установленные модули в Крипто АРМ. Заметил что при наличии версий 1.0 и 2.0 иногда возникают проблемы.
* Настройки Крипто АРМ не пишу — их можно глянуть в руководстве пользователя.
Средство криптографической защиты КриптоПро представляет собой целый комплекс приложений модулей, призванных обеспечивать надежную защиту информации, обеспечивать верификацию электронного документооборота, защищенное соединение по протоколу TLS. КриптоПро CSP — криптопровайдер, который нужно устанавливать на ПК, имея права администратора.
Чтобы установить ПО на компьютер, нужно купить КриптоПро ключ лицензии в SoftMagazin. Для того, чтобы программа работала корректно стоит заранее позаботиться о своевременном продлении лицензии.
Как продлить лицензию КриптоПро CSP
Для того чтобы продлить лицензию, следует связаться с менеджерами магазина в котором приобреталась лицензия либо выбрать компанию, где вы хотите приобрести обновление. После покупки лицензии (продления) понадобится зайти в пункт «Управление лицензиями КриптоПро PKI».
Как обновить КриптоПро до версии 4.0
Для обновления СКЗИ до последней версии переустановить КриптоПро CSP через «Установка и удаление программ». Затем нужно удалить предыдущую версию программы и перезагрузить компьютер. При возникновении вопроса, как обновить КриптоПро 3.6 лицензию, ознакомьтесь с руководством по установке данной версии, размещенным на официальном сайте компании.
После удаления и перезагрузки можно устанавливать следующую версию программу, опираясь на рекомендации по установке, данные в обзоре «Установка КриптоПро». Если возникает вопрос, КриптоПро, какая версия нужна в зависимости от ОС, необходимо ознакомиться с совместимостью версий при установке на различные ОС.
Как обновить КриптоПро CSP
В официальном руководстве по эксплуатации СКЗИ написано, как обновить лицензию КриптоПро самостоятельно. Для того, чтобы далее пользоваться программным обеспечением, необходимо приобрести лицензию (продление) и ввести при запуске программы серийный номер.
Через панель «Пуск» необходимо зайти в программы и выбрать КриптоПро. Откроется список из модулей ПО в том числе и пункт «Управление лицензиями КриптоПро PKI». Выбрав его, в появившемся окне нужно выбрать продукт, для которого требуется обновление. Вводя ключ лицензии, нужно в меню нажать на кнопку «Все задачи — Ввести серийный номер». Необходимо будет добавить сведения о пользователе и непосредственно серийный номер. После того, как вы нажали ОК, лицензии будут обновлены.
Срок действия КриптоПро CSP истек что делать
У программы есть ознакомительная демо-версия, которая предоставляется на короткий срок. После чего пользователю необходимо приобрести лицензию для использования программного обеспечения в полном объеме.
Как узнать версию КриптоПро на компьютере
Чтобы узнать версию ПО на компьютере необходимо зайти в Панель Управления СКЗИ на компьютере. Для этого потребуется зайти через меню «Пуск» в пункт «Программы». Здесь нужно выбрать пункт «КриптоПро CSP». В открывшемся окне будет показано несколько вкладок. Необходимо выбрать вкладку «Общие». Именно здесь предоставлена информации о лицензии, о версии используемой программы.
Как получить КриптоПро
Чтобы получить программу КриптоПро необходимо приобрести лицензию и установить ее на компьютер либо сервер. Для установки понадобятся права администратора. В зависимости от бизнес-задач может потребоваться приобрести дополнительные модули, например, для работы с электронной цифровой подписью в браузере либо с архитектурой JAVA.
Как перенести лицензию КриптоПро на другой компьютер
Лицензию КриптоПро нет возможности перенести на другой компьютер, так как одна лицензия распространяется на одно рабочее место. Если вам необходимо приобрести программное обеспечение на несколько компьютеров, потребуется приобрести определенное количество лицензий.
Как узнать серийный номер КриптоПро
Чтобы узнать серийный номер КриптоПро необходимо зайти через меню «Пуск» в «Программы» и выбрать «КриптоПро CSP». Откроется окно, в котором нужно будет выбрать вкладку «Общие». Среди информации о типе лицензии, сроке ее действия и дате первой установки находится также серийный номер ПО.
Как посмотреть лицензию КриптоПро
Как восстановить КриптоПро
Для восстановления программы возможно понадобится ее переустановка от имени администратора. Желательно, чтобы сертификаты находились на отдельном носителе, чтобы иметь возможность загрузить их в реестр, если до этого их там не было.
Как обновить ЭЦП КриптоПро
Чтобы обновить сертификаты для электронной цифровой подписи необходимо для начала удалить старые, чтобы избежать ошибок в работе новых документов. Потребуется запуск консоли сертификатов. Выбрав сертификаты с истекшим сроком действия нажмите «Удалить».
Новый сертификат вставьте с ключом в компьютер в USB-вход. Запустив через «Программы» панель управления КриптоПро CSP, нужно выбрать вкладку «Сервис», выбрать новый сертификат и установить его.
Читайте также:
- 256 или 512 гб ноутбук что выбрать
- Замена матрицы ноутбука в барнауле
- Как считать числа из файла c
- Как сделать видеозвонок с компьютера на телефон
- Яндекс музыка как создать плейлист со своими файлами