Создание самоподписанного сертификата и подписи исполняемого файла

Материал из SafenSoft Wiki
Перейти к: навигация, поиск

Инструкция по созданию самоподписанного сертификата и подписи исполняемого файла (на примере Far Manager)

  1. Скачать и установить Windows SDK 7.1 (https://www.microsoft.com/en-us/download/details.aspx?id=8442). Для х64 версии скачать http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDKX_EN_DVD.iso.
  2. Создать самоподписанный сертификат и закрытый ключ
    1. Создать папку c:\Cert
    2. В командной строке перейти
    3. cd C:\Program Files\Microsoft SDKs\Windows\v7.1\bin

    4. Создать самоподписанный сертификат и закрытый ключ, выданный, например, для компании TestCo:
    5. makecert -r -sv C:\Cert\test.pvk -n CN="TestCo" C:\Cert\test.cer

      Во время создания утилита попросит указать пароль для ключа, пусть это будет P@ss0wrd

      2.3.5.1.Create password.png

      2.3.5.2.Enter password.png

    6. На основе созданного сертификата создать публичный ключ для сертификата издателя ПО (PKCS).
    7. cert2spc C:\Cert\test.cer C:\Cert\test.spc

    8. Объединить публичный ключ (.spc) и персональный ключ (.pvk) в одном файле сертификата формата Personal Information Exchange (.pfx).
    9. pvk2pfx -pvk C:\Cert\test.pvk -pi P@ss0wrd -spc C:\Cert\test.spc -pfx C:\Cert\test.pfx -po P@ss0wrd

  3. Подписать исполняемый файл (Far30b5151.x64.20180227.msi) самоподписанным сертификатом:
  4. signtool sign /f C:\Cert\test.pfx /p P@ss0wrd "c:\cert\Far30b5151.x64.20180227.msi"

  5. Установка сертификата:
    1. Скопировать на устройство самообслуживания файлы certutil.exe и certadm.dll в папку c:\SNS
    2. Скопировать на устройство самообслуживания файл test.cer c:\SNS
    3. Поместить сертификат в хранилище доверенных издателей:
    4. certutil -addstore Root "C:\SnS\test.cer"

    5. Убедиться, что на устройстве самообслуживания файл Far30b5151.x64.20180227.msi имеет действительную цифровую подпись.