Този урок ще ви покаже как да подписвате файлове от командния ред на Windows със сертификат за подписване на код и частен ключ, съхраняван в Azure Key Vault. За да следвате тези инструкции, ще ви трябва:
- An Акаунт в Azure
- A Сейф за ключове
- A сертификат за подписване на код инсталиран във вашия Vault Key. Можете да:
- Инструмент за подписване на Azure инсталиран на компютъра, който ще използвате за подписване
Какво представлява Azure Sign Tool?
Инструмент за подписване на Azure е помощна програма с отворен код, която предлага SignTool функционалност за сертификати и ключове, съхранявани в Azure Key Vault. Можете да инсталирате Azure Sign Tool със следната команда в Windows PowerShell (изисква .NET SDK):
dotnet tool install --global AzureSignTool
Стъпка 1: Регистрирайте ново приложение на Azure
Първо, ще трябва да регистрирате ново приложение на Azure, за да можете да се свържете с Key Vault за подписване.
- Влезте в Azure портал.
- Отидете до Azure Active Directory, (Кликнете Повече услуги ако иконата на Azure Active Directory не се вижда.)
- Кликнете Регистрации на приложения, в лявата колона.
- Кликнете Нова регистрация.
- Дайте на молбата си a Име и кликнете върху Регистрация бутон. Оставете останалите настройки на стойностите им по подразбиране.
- Вашето ново приложение е регистрирано. Копирайте и запишете показаната стойност за Идент. № на приложението (клиента), защото ще ви трябва по-късно.
- Кликнете заверка.
- Под Разширени настройки, комплект Разрешаване на публични потоци от клиенти да се
Yes
.
- Кликнете Save.
Стъпка 2: Създайте тайна на клиента
След това генерирайте тайна на клиента, която ще служи като идентификационна информация при подписване.
- Кликнете Сертификати и тайни в менюто отляво.
- Кликнете Нова тайна на клиента.
- Дайте на клиента си тайна a Описание, задайте срока на действие по желание и щракнете върху Добави бутон.
- Копирайте Стойност на новата ви тайна на клиента веднага и го запазете на сигурно място. Следващият път, когато страницата се обнови, тази стойност ще бъде маскирана и безвъзвратна.
Стъпка 3: Активирайте достъп в Key Vault
Сега ще трябва да разрешите достъп за вашето приложение в Azure Key Vault.
- Придвижете се до хранилището на ключове, съдържащо сертификата, който искате да използвате за подписване, и щракнете върху Политики за достъп връзка.
- Кликнете Добавете Политика за достъп.
- Под Ключови разрешения, активирайте
Sign
.
- Под Разрешения за сертификати, активирайте
Get
.
- Щракнете върху Няма избрани връзка, под Изберете главен, след това използвайте полето за търсене, за да намерите и изберете приложението, което сте създали в предишния раздел.
- Щракнете върху Изберете бутон.
- Щракнете върху Добави бутон.
- Кликнете Save.
- Политиката ви за достъп е зададена и сте готови да започнете да подписвате файлове.
Стъпка 4: Подпишете файл
Сега най-накрая сте готови да подпишете някакъв код!
- Ще ви е необходима следната налична информация:
- По-долу е примерна команда в PowerShell за подписване и поставяне на клеймо за файл с Azure Sign Tool. Заменете стойностите във ALL CAPS с вашата действителна информация:
azuresigntool sign -kvu KEY-VAULT-URI -kvc CERTIFICATE-NAME -kvi APPLICATION-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 ПЪТ КЪМ ИЗПЪЛНИТЕЛЕН
Забележка: По подразбиране SSL.com поддържа времеви отпечатъци от ECDSA ключове.
Ако срещнете тази грешка:The timestamp certificate does not meet a minimum public key length requirement
, трябва да се свържете с вашия доставчик на софтуер, за да разрешите времеви отпечатъци от ECDSA ключове.
Ако няма начин вашият доставчик на софтуер да позволи използването на нормалната крайна точка, можете да използвате тази наследена крайна точкаhttp://ts.ssl.com/legacy
за да получите времево клеймо от RSA Timestamping Unit. - Ако подписването е успешно, трябва да видите изход по следния начин (неуспешното подписване няма да доведе до изход):
информация: AzureSignTool.Program [0] => Файл: test.exe Файл за подписване test.exe информация: AzureSignTool.Program [0] => Файл: test.exe Подписването е завършено успешно за файл test.exe. информация PS C: \ Users \ Aaron Russell \ Desktop>
- Подробности за новия цифров подпис ще бъдат налични в свойствата на файла: