Re: Рутокен для подписания релизов

alex_v99, попробуйте указывать отпечаток сертификата, например,
signtool.exe sign /v /sha1 d58a98f84f071748514c326625b4fb91c9a43136 /fd sha256 C:\test.exe

Re: Рутокен для подписания релизов

Вот что вылезает в консоли (коды разумеется полные, это только здесь обрезал):

c:\> signtool.exe sign /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td sha256 /fd sha256 /kc "38a3160..." /csp "Aktiv ruToken CSP v1.0" /sha1 8BE3E... "c:\test.exe"
SignTool Error: An unexpected internal error has occurred.
Error information: "Could not associate private key with certificate." (-2147024891/0x80070005)

Re: Рутокен для подписания релизов

alex_v99, а если убрать ключ  /csp "Aktiv ruToken CSP v1.0" ?

Re: Рутокен для подписания релизов

Если убрать ключ /csp то ожидаемо ругается на лишний ключ /k. Зато если убрать и его тоже, то все работает - без запросов пина. Итоговая команда получилась такая:

signtool.exe sign /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td sha256 /fd sha256 /a "c:\test.exe"

Можно вместо /a указать имя компании /n "..." - тоже работает.

Так что у меня всё заработало, спасибо.



Кстати, отвлеченный вопрос: если я указываю ключ /a, то возможна ли ситуация, когда система выберет сертификат не из токена, а какой-то более другой? Т.е. что будет, если в системе установлено несколько сертификатов Code Signing?

Re: Рутокен для подписания релизов

alex_v99, если вы указываете ключ /sha1 8BE3E... то выбирается сертификат именно по отпечатку.

Re: Рутокен для подписания релизов

Добрый день.
1. И мне, пожалуйста, пришлите решение с сохранением пин-кода.
2. Сейчас signtool не ни в какую видит ключа. В панели управления Рутокен странный криптопровайдер и нет галки регистрации сертификата, то есть он по умолчанию не связан с ключом. Вангую, что это из-за установленного КриптоПРО. Что надо сделать, чтобы signtool видел закрытый ключ сертификата? В идеале бы без удаления КриптоПРО, так как он не для красоты установлен.

https://forum.rutoken.ru/uploads/images/2024/03/2afe7b232425ee55eae4b5a81b7b1b03.png

Re: Рутокен для подписания релизов

Здравствуйте, AntonPlotnikov, ответили на почту, указанную при регистрации.

Re: Рутокен для подписания релизов

Да, по п. 1 письмо пришло, спасибо. А что с п. 2? Почему сертификат не регистрируется? Пробовал на другом компьютере, где нет КриптоПРО, такая же беда.

Re: Рутокен для подписания релизов

AntonPlotnikov,
проблема в том, что у вас сертификат формата PKCS#11. Вам необходимо перевыписать сертификат с помощью драйверов не ниже 4.17 и тогда такой сертификат можно будет использовать для подписи через signtool.

Re: Рутокен для подписания релизов

Фатеева Светлана пишет:

AntonPlotnikov,
проблема в том, что у вас сертификат формата PKCS#11. Вам необходимо перевыписать сертификат с помощью драйверов не ниже 4.17 и тогда такой сертификат можно будет использовать для подписи через signtool.

После выпуска сертификата с новыми драйверами всё заработало. Спасибо!

Re: Рутокен для подписания релизов

Ещё такой вопрос. Как установить сертификат в хранилище компьютера, а не пользователя, чтобы он был связан с токеном? Чтобы можно было подписывать из нентерактивного системного сервиса.

Re: Рутокен для подписания релизов

AntonPlotnikov пишет:

Ещё такой вопрос. Как установить сертификат в хранилище компьютера, а не пользователя, чтобы он был связан с токеном? Чтобы можно было подписывать из неинтерактивного системного сервиса.

Ещё немного поэкспериментировал. Если запускать signtool из службы Windows, то ключевой контейнер недоступен где бы ни был расположен сертификат: в хранилище пользователя или компьютера. Во всех случаях ошибка, что не найден контейнер закрытого ключа.

Re: Рутокен для подписания релизов

AntonPlotnikov, добрый день.
Пока нет решения вопроса, как сделать подпись от имени службы.
Вот в этой теме так же обсуждается этот вопрос https://forum.rutoken.ru/topic/4029/page/10/