Современные сервисы по выпуску сертификатов могут использовать размер ключа RSA 4096 и алгоритм SHA-256.
Импорт и работа с такими ключами и алгоритмом возможны только с использованием семейства Рутокен ЭЦП 3.0
Для подписи файлов или кода приложений в Windows необходим сертификат со следующим полем:
Подписание кода (1.3.6.1.5.5.7.3.3)
Подобные сертификаты можно получить, например, в следующих сервисах:
Экспорт сертификата с закрытым ключом из реестра Windows
Если сертификат был выписан в реестр Windows, его необходимо экспортировать в файл формата pfx.
Для этого необходимо выполнить следующие действия:
- Нажмите комбинацию клавиш Windows + X и выберите пункт меню Выполнить.
- Введите команду "mmc" и нажмите ОК.
- В окне Консоль 1 выберите пункт меню Файл и подпункт Добавить или удалить оснастку...
- В левой части окна Добавление и удаление оснастки щелкните по названию Сертификаты.
- Нажмите Добавить.
- В открывшемся окне установите переключатель моей учетной записи пользователя и нажмите Готово.
- В окне Добавление и удаление оснасток нажмите ОК.
- В левой части окна Консоль1 щелкните по названию папки Личные.
- Щелкните по названию папки Сертификаты.
- В правой части окна выберите нужный сертификат и нажмите на его имени правой кнопкой мыши.
- Выберите пункт меню Все задачи\Экспорт.
- Откроется мастер экспорта сертификатов. Нажмите кнопку Далее.
- Установите переключатель на пункт Да, экспортировать закрытый ключ и нажмите кнопку Далее.
- Установите дополнительные пункты экспорта при необходимости и нажмите кнопку Далее.
- Установите переключатель Пароль, введите пароль и нажмите кнопку Далее.
- Укажите имя файла для сохранения сертификата и нажмите кнопку Далее.
- Проверьте данные и нажмите кнопку Готово.
- После успешного экспорта нажмите на кнопку ОК.
Далее необходимо импортировать сертификат на Рутокен.
Размер ключа можно посмотреть в свойствах сертификата на вкладке Состав. В поле Открытый ключ будет написан алгоритм и размер ключа.
Импорт сертификат на Рутокен
Для импорта сертификата на Рутокен необходимо выполнить следующие действия
- Нажмите кнопку Пуск и введите cmd.
- Выберете пункт Запуск от имени администратора.
- Если необходимо введите имя и пароль администратора компьютера.
- Подключите Рутокен к компьютеру.
- В командной строке наберите следующую команду: certutil -csp "Microsoft Base Smart Card Crypto Provider" -importpfx C:\sign_code.pfx и нажмите Enter.
- Введите пароль PFX и нажмите Enter.
- Введите пин-код от Рутокена и нажмите ОК.
- Дождитесь сообщения что команда успешно выполнена.
Подпись файлов с помощью сертификата на Рутокен
- Нажмите кнопку Пуск и введите cmd.
- Выберете пункт Запуск от имени администратора.
- Если необходимо введите имя и пароль администратора компьютера.
- Подключите Рутокен к компьютеру.
- Перейдите в папку с утилитой signtool, например, C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64 командой cd "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64"
- Введите команду подписи signtool.exe sign /v /sha1 d58a98f84f071748514c326625b4fb91c9a43136 /fd sha256 C:\test.exe где ключем /sha1 указывается хеш сертификата. Его можно узнать в свойствах сертификата на вкладке Состав в поле Отпечаток.
- После запуска команды подписи необходимо ввести пин-код Рутокена.
- После успешной подписи в командной строке буде выдано следующее сообщение