Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Проблема:

Добрый день. Имеется Рутокен ЭЦП 3.0 с не экспортируемым сертификатом. Необходимо подписать файл через консоль на Windows


Решение которое я пробовал:

На данный момент я использую утилиту signtool для подписи файлов. Я экспортировал сертификат без приватного ключа в хранилище сертификатов Windows.

Дальше если я не ошибаюсь, надо объяснить signtool где взять соответствующий приватный ключ. Для этого надо указать следующий данные

/csp CSPName     Specifies the cryptographic service provider (CSP) that contains the private key container.
/kc PrivKeyContainerName     Specifies the private key container name.

Команда в целом должна выглядеть вот так:

signtool sign /csp “Microsoft Base Smart Card Crypto Provider” /kc “15e353a3-b80b-07c0-4e70-aa07aaff8e05” /fd SHA256 /v calc.exe

Вопросы:

- Как можно узнать имя контейнера в случае Рутокен ЭЦП 3.0
- Какой CSP стоит использовать? Aktiv ruToken CSP v1.0 или Microsoft Base Smart Card Crypto Provider или какой еще?
- Вообще рабочий ли это подход или стоит использовать какой другой способ подписи файлов через консоль на Windows? Я вот нашел решение 9 летней давности на openssl https://forum.rutoken.ru/post/7696/#p7696 но не уверен в его актуальности...

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

hejire7343, добрый день.
Вам можно взять содержимое поля "отпечаток" в сертификате и выполнить следующую команду:
signtool.exe sign /sha1 "e0a7f4211d3cfec131a2317c768d82a927997cc2" /fd SHA256 /v calc.exe
Необходимо делать это из командной строки, запущенной от имени администратора.
Можно использовать как signtool, так и метод через openssl.

(2023-09-20 08:04:58 отредактировано kostyruzavin)

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аверченко Кирилл пишет:

hejire7343, добрый день.
Вам можно взять содержимое поля "отпечаток" в сертификате и выполнить следующую команду:
signtool.exe sign /sha1 "e0a7f4211d3cfec131a2317c768d82a927997cc2" /fd SHA256 /v calc.exe
Необходимо делать это из командной строки, запущенной от имени администратора.
Можно использовать как signtool, так и метод через openssl.

Добрый день, без использования КриптоПРО CSP с дефолтными CSP (Microsoft Aktiv RuToken 1.0) в автоматическом режиме в signtool не находит закрытый ключ. При указании CSP и имени контейнера в случае выбора CSP Aktiv Rutoken - выходит сообщение, что необходимо подключить Рутокен (хотя он точно подключен и в Панели управления Рутокен корректно отображается). В случае использования Microsoft CSP - окно выбора смарт карты говорит о том, что не найден нужный контейнер.

При этом нет кнопки Зарегестрировать сертификат в панели управления Рутокен.

При тестировании с КриптоПРО CSP кнопка есть, также начинает работать авторежим в signtool, но получаем ошибку Access Denided при попытке подписи. Пробовали выбирать все предложенные КриптоПРО провайдеры, также пробовали выбирать усиленную подпись все равно Access Denided.

Приватный ключ точно не просрочен (до 26 года)

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

kostyruzavin, добрый день.
Попробуйте воспользоваться вот этой инструкцией https://support.globalsign.com/code-sig … rutoken-30

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аверченко Кирилл пишет:

kostyruzavin, добрый день.
Попробуйте воспользоваться вот этой инструкцией https://support.globalsign.com/code-sig … rutoken-30

тоже интересует данный вопрос.

GlobalSign предлагает подписывать через java и jsign вместо signtool от Microsoft. Это работает, но очень и очень медленно, по сравнению с signtool. Можно провести тест, но субъективно, раз в десять.

Связка SafeNet eToken 5110 + неэкспортируемый ключ через signtool работает, есть ли возможность прикрутить rutoken к signtool?

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

vp-nc, добрый день.
В ближайшее время планируем выпустить библиотеку rtpkcs11ecp с режимом совместимости с CAPI.
После обновления библиотеки необходимо будет перевыписать сертификат по инструкции от GlobalSign. И такие ключи будут работать через стандартные механизмы CAPI, в том числе signtool сможет работать с Рутокеном.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аверченко Кирилл пишет:

После обновления библиотеки необходимо будет перевыписать сертификат по инструкции от GlobalSign

Добрый день. Имеется ввиду перевыпустить сертификат? Но это платная процедура :(
С текущими драйверами была некорректность при записи контейнера на Рутокен ЭЦП 3.0. и через CAPI с ними невозможно работать в рамках signtool?

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

staskzn, насколько мы знаем, перевыписывание сертификата бесплатное.
GlobalSign сделал инструкцию, как выписывать сертификат через библиотеку rtpkcs11ecp вместо использования криптопровайдера Microsoft Base Smart Card CSP или Aktiv Rutoken CSP.
Текущая версия библиотеки rtpkcs11ecp создает объекты, с которыми невозможно работать через вышеуказанные криптопровайдеры.
В ближайшее время мы это исправим.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аверченко Кирилл, приветствую.

Хотел уточнить, есть ли сроки выпуска новой версии библиотеки rtpkcs11ecp?
Требуется подписывать ПО через signtool с ключем ECP 3.0, сталкиваемся с ошибкой

Error: SignerSign() failed." (-2146893808/0x80090010)

Из гугла понял, что это ошибка доступа. К инструкции выше (jsign) прибегал, скорость крайне мала.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Добрый день. Новая версия драйверов Рутокен 4.17 с библиотекой rtpkcs11ecp, поддерживающей совместимость с криптопровайдерами на сайте. Скачать можно по ссылке https://www.rutoken.ru/support/download/windows/

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аверченко Кирилл, доброго дня. Подскажите, а чем вызвана необходимость перевыпуска сертификата?

(2023-12-08 10:50:03 отредактировано shilov)

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте подскажите пожалуйста, необходимо подписывать в автоматизированном режиме EXE файлы используется следующий токен и сертификат:

https://forum.rutoken.ru/uploads/images/2023/12/56cb4015682f70f3368ffaf7bf285fff.png

команда для подписи следующая:

signtool.exe sign /sha1 "-sha-" /tr http://rfc3161timestamp.globalsign.com/advanced /td SHA256 "file.exe"

При каждом вызове microsoft signtool, происходит вызов СSP интерфейса MBSCCP, который ожидает ввода пинкода для токена, после происходит успешная подпись бинарника.

Я правильно понимаю что необходимо перевыпустить сертификат? что бы у него был другой тип хранилища CSP, или существует другой вариант решения автоматизации подписи?

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Большое спасибо, все получилось. А почему нельзя это в теме опубликовать? Тайна что ли какая?? Или так собираете пользователей?

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

diachenko, мы не рекомендуем использовать это решение обычным пользователям с точки зрения безопасности хранения электронной подписи, поэтому не выкладываем в открытый доступ.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аверченко Кирилл пишет:

p.nick, отправил.

Спасибо. Но у меня не заработало. На письмо ответить не могу, поэтому приходится писать тут.
После всех изменений (всё согласно письма), перезагрузок, переподключений токена, всё равно сертификат продолжает быть зарегистрирован через "Microsoft Base Smart Card Crypto Provider". В какую сторону смотреть?
Наличие криптопро или иного софта не может никак на это влиять?