Тази уеб страница предоставя инструкции за използване на SSL.com OV or EV сертификат за подписване на код със SignTool на Microsoft и SSL.com SSL Manager.
Тези инструкции предполагат, че вашият сертификат за подписване на код е инсталиран или че го имате на хардуерен токен. За подписване на код в облак с помощта на платформата eSigner, моля, вижте Преглед на страница и този ръководство за записване.
Не забравяйте, че за хардуерно базирани OV и EV сертификати за подписване на код частният ключ съществува само на USB токена на YubiKey FIPS който ви е изпратен и че символът трябва да бъде приложен към компютъра, който се използва за подписване на заявлението. Потребителите на Windows с YubiKey FIPS жетони също трябва да изтеглят и инсталират Мини драйвер на YubiKey Smart Card преди да използвате техния знак.
Подписване на изпълним файл с SignTool
инсталирам Windows SDK и SignTool
SignTool е включен в SDK за Windows 10. След инсталацията SignTool ще се намира под:
C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Начало PowerShell
Започнете PowerShell команден прозорец, като потърсите „Powershell“ в Начало меню и щракване върху десктоп приложението.
Powershell е интерфейс на командния ред към основните услуги на Windows. Можете да го използвате за изпълнение на SignTool и подписване на вашия код.
За EV код подписване, прикачете своя USB токен към компютъра си (ако още не сте го направили). Ако използвате eSigner, инсталирайте eSigner Cloud Key адаптер
Не забравяйте, че частният ключ съществува само на USB маркера, който ви е изпратен и това символът трябва да бъде приложен към компютър, който се използва за подписване на заявлението. Тази стъпка трябва да бъде пропусната, ако използвате сертификат за подписване на OV код.
Знак Изпълнител
Можете да подпишете изпълним файл, като издадете следната команда в прозореца на Powershell. Ако използвате облачно подписване на eSigner с signtool.exe, не забравяйте да инсталирате eSigner CKA
. \ signtool.exe sign / fd sha256 / a "C: \ path \ to \ MyExecutable.exe"
- -
/fd
опция избира алгоритъма за дайджест, който да се използва при подписване. Windows 10 SDK, HLK, WDK и ADK компилации 20236 и по-горе изисква тази опция да бъде зададена при подписване. SHA256 се препоръчва пред SHA1 за сигурност. - -
/a
опция инструктира SignTool да намери автоматично подходящ сертификат за подписване на код за вашия изпълним файл. - Ако използвате сертификат за подписване на EV код, ще бъдете подканени да въведете ПИН кода на вашия USB токен. Ако имате нужда от помощ при намирането на вашия ПИН, моля, обърнете се към това как да.
Избор на сертификат за подписване
Посочете Име на тема
Ако имате инсталирани повече от един код за подписване на USB маркери или сертификати, можете посочете сертификата искате да използвате, като включите неговия Име на темата Чрез /n
опция.
Можете да намерите Subject Name на вашия сертификат EV CS, като използвате инструмента за управление на сертификати на Microsoft certmgr. Отворете инструмента от менюто „Старт“ и потърсете вашия EV CS сертификат в папката „Лично“, под „Сертификати“, както е показано на изображението по-долу. Името на темата е полето „Издадено за“ в certmgr.
В горното изображение Името на предмета на сертификата е example
. Можете да посочите тази стойност в SignTool със следната команда.
. \ signtool.exe sign / fd sha256 / n "пример" "C: \ път \ към \ MyExecutable.exe"
Посочете хеш на SHA1
Ако имате няколко сертификата с едно и също име на тема, можете също да използвате хеш SHA1 (или „отпечатък“) на сертификат, за да го изберете за подписване. Сменете THUMBPRINT
в командата по-долу с действителния SHA1 хеш вашия сертификат. Можете да намерите тази стойност, като прегледате подробностите за сертификата в certmgr и потърсите Thumbprint
поле (бъдете сигурни и премахнете всички знаци за интервал от отпечатъка, преди да го използвате в командата си).
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ path \ to \ MyExecutable.exe"
Използвайте PKCS # 12 / PFX файл
Ако имате сертификат за подписване на код и частен ключ във файл PKCS # 12 (известен също като PFX или P12 файл), можете да посочите файла и паролата му в командния ред:
. \ signtool.exe sign / fd sha256 / f "C: \ path \ to \ MyCertificate.pfx" / p парола "C: \ path \ to \ MyExecutable.exe"
Отпечатване на време
Поставянето на времеви отметки на вашия код ще позволи да му се вярва, след като сертификатът ви за подписване на код изтече. Ако искате да добавите клеймото в подписания двоичен файл можете да го направите с помощта на SignTool's /tr
опция, която трябва да бъде последвана от задаване на алгоритъм за обобщаване на клеймото за време /td
. Командата в фрагмента по-долу включва времева марка от SSL.comуслуга за клеймо на време при подписване на изпълним файл.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ path \ to \ MyExecutable.exe"
/tr
опция (посочете URL на RFC 3161 сървър за времеви печати), не /t
(URL на сървъра за времеви клеймо), което е несъвместимо със сървъра за времеви клей SSL.com./td
опция трябва да Следвай /tr
опция. Ако алгоритъмът за обобщаване на клеймото за време е посочен преди сървъра за клеймо за време, ще се използва алгоритъмът SHA-1 по подразбиране. Windows 10 SDK, HLK, WDK и ADK компилации 20236 и по-горе изискват използване на /tr
при клеймо за време. SHA256 се препоръчва за SHA1 за сигурност.Ако срещнете тази грешка:
The timestamp certificate does not meet a minimum public key length requirement
, трябва да се свържете с вашия доставчик на софтуер, за да разрешите времеви отпечатъци от ECDSA ключове.Ако няма начин вашият доставчик на софтуер да позволи използването на нормалната крайна точка, можете да използвате тази наследена крайна точка
http://ts.ssl.com/legacy
за да получите времево клеймо от RSA Timestamping Unit.Други опции
Други важни опции на SignTool са:
/d
: Добавете описание на подписания код. Например,/d "test code"
./du
: Добавете URL с разширено описание на подписания код. Например,/du https://your_website.tld/project/description
.
Използвайки всички горепосочени опции (но пропускайки /a
, /sha1
или /f
защото ние посочваме името на предмета на сертификата с /n
, нашият команден ред изглежда така:
signtool.exe sign / n "example" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "test code" / du https: //your_website.tld/project/description "C: \ path \ to \ MyExecutable.exe "
Проверете подписа
Използвайте тази команда, за да проверите подписания код (имайте предвид, че /pa
опцията трябва да присъства в командата):
. \ signtool.exe проверете / pa "C: \ path \ to \ MyExecutable.exe"
Ако вашият файл е подписан успешно, трябва да видите изход по този начин:
Файл: C: \ path \ to \ MyExecutable.exe Индекс Алгоритъм Timestamp =================================== ===== 0 sha256 RFC3161 Успешно проверено: C: \ path \ to \ MyExecutable.exe
Можете също така да проверите дали даден файл е подписан, като щракнете с десния бутон върху неговата икона и изберете Имоти от менюто, след което изберете Цифрови подписи раздел. Прегледайте подробности за подпис, като го изберете и щракнете върху Детайли бутон.
Тук можем да видим, че файлът съдържа валиден цифров подпис, създаден от SSL Corp на 28 юни 2020 г.
Подписване на изпълним файл с SSL Manager
Ако предпочитате по-графичен подход, можете да използвате SSL.comвътрешен софтуер, SSL Manager, за да подпишете вашите файлове. Много клиенти предпочитат да използват SSL Manager защото предлага допълнителната полза от лесен достъп до всичките ви сертификати в един унифициран интерфейс. За инструкции за изтегляне и инсталиране SSL Manager, моля вижте нашите ръководство за инсталиране.
За да подпишете изпълним файл, започнете, като изберете Подписване на код> Пакет с кодове за подпис и времеви клеймо от SSL Managerменюто на.
Във формуляра за подписване на код можете да изберете изпълнимия файл и сертификата за подписване на код (или от файл, или от хранилище на сертификати) и един от наличните сървъри за времеви марки. Когато сте готови, щракнете върху Знак бутон за подписване на вашия код. Ако зареждате сертификат от PFX файл, ще трябва да въведете паролата на файла. Ако използвате сертификат за подписване на EV код, ще бъдете подканени да въведете ПИН кода на вашия USB токен.
Освен подписването на код, SSL Manager предлага много мощни функции. За повече подробности вижте SSL Managerдокументация на, особено на Меню за подписване на код.