Този урок дава въведение в подписването на код с Azure DevOps, като се използва сертификат, съхраняван в Azure Key Vault. За да следвате тези инструкции, ще ви трябва:
- An Акаунт в Azure
- A Проект DevOps
- A Сейф за ключове
- A сертификат за подписване на код инсталиран във вашия Vault Key. Можете да:
Преминете към тази статия за ръководство как да интегрирате eSigner с Azure DevOps: Ръководство за интегриране на подписване в облак на Azure DevOps.
Регистрирайте приложение за Azure
Първо, ще трябва да регистрирате ново приложение на Azure, за да можете да се свържете с Key Vault за подписване.
- Влезте в Azure портал.

- Отидете до Azure Active Directory, (Кликнете Повече услуги ако иконата на Azure Active Directory не се вижда.)

- Кликнете Регистрации на приложения, в лявата колона.

- Кликнете Нова регистрация.

- Дайте на молбата си a Име и кликнете върху Регистрация бутон. Оставете останалите настройки на стойностите им по подразбиране.

- Вашето ново приложение е регистрирано. Копирайте и запишете показаната стойност за Идент. № на приложението (клиента), защото ще ви трябва по-късно.

Създайте клиентска тайна
След това генерирайте тайна на клиента, която ще служи като идентификационна информация при подписване.
- Кликнете Сертификати и тайни в менюто отляво.

- Кликнете Нова тайна на клиента.

- Дайте на клиента си тайна a Описание, задайте срока на действие по желание и щракнете върху Добави бутон.

- Копирайте Стойност на новата ви тайна на клиента веднага и го запазете на сигурно място. Следващият път, когато страницата се обнови, тази стойност ще бъде маскирана и безвъзвратна.

Активирайте достъпа в сейфа на ключове
Сега ще трябва да разрешите достъп за вашето приложение в Azure Key Vault.
- Придвижете се до хранилището на ключове, съдържащо сертификата, който искате да използвате за подписване, и щракнете върху Политики за достъп връзка.

- Кликнете Добавете Политика за достъп.

- Под Ключови разрешения, активирайте
Verify,Sign,Get, иList.

- Под Тайни разрешения, активирайте
GetнамляваList.

- Под Разрешения за сертификати, активирайте
GetнамляваList.

- Щракнете върху Няма избрани връзка, под Изберете главен, след това използвайте полето за търсене, за да намерите и изберете приложението, което сте създали в предишния раздел.

- Щракнете върху Изберете бутон.

- Щракнете върху Добави бутон.

- Кликнете Спестявания.

- Политиката ви за достъп е зададена.

Конфигурирайте DevOps Build
Сега можете да конфигурирате вашата компилация. Отворете проекта си в Azure DevOps.
Съхранявайте идентификационните данни на приложенията като променливи
Можете да включите идентификатора на приложението си и тайната на клиента директно във вашия YAML конвейерен файл, но е по-сигурно, ако ги съхранявате като променливи в DevOps.
- Кликнете Тръбопроводи.

- Кликнете Библиотека.

- Кликнете + Променлива група.

- Дайте име на вашата променлива група.

- Кликнете Добави.

- Въведете име на променлива за идентификатора на приложението си, след което поставете стойността. Щракнете върху ключалката, за да шифровате променливата, когато приключите.

- Повторете процеса, за да добавите променлива за вашата клиентска тайна.

- Кликнете Спестявания.

- Свържете групата на променливите във вашия конвейер. (заменете VARIABLE-GROUP с името на вашата действителна група променливи.)
променливи: - група: 'ПРОМЕНЛИВА ГРУПА'
Добавете стъпка на тръбопровода за инсталиране на инструмента за подписване на Azure
Инструмент за подписване на Azure е помощна програма с отворен код, която предлага SignTool функционалност за сертификати и ключове, съхранявани в Azure Key Vault. Добавете следната стъпка във вашия конвейер, за да инсталирате Azure Sign Tool:
- задача: DotNetCoreCLI @ 2 входа: команда: 'потребителски' потребителски: 'инструмент' аргументи: 'install --global azuresigntool' displayName: Инсталиране на AzureSignTool
Добавете командата на Azure Sign Tool към тръбопровода
- Сега можете да добавите задача за подписване на вашия код към конвейера. Ще ви е необходима следната информация:
- Добавете извикването на Azure Sign Tool към вашия конвейер. Заменете стойностите, показани в ALL-CAPS, с вашите действителни стойности:
- задача: CmdLine @ 2 входа: скрипт: AzureSignTool знак -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (CLIENT-SECRET-VAR)" -kvc CERTIFICATE-NAME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName: Код за подпис
- Трябва да видите изход като този, ако подписването е успешно:
информация: AzureSignTool.Program [0] => Файл: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Подписващ файл D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe информация: AzureSignTool. Програма [0] => Файл: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Подписването е завършено успешно за файл D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.



