eSigner CKA (адаптер облачного ключа) — это приложение на базе Windows, использующее интерфейс CNG (поставщик ключей KSP), чтобы позволить таким инструментам, как certutil.exe и signtool.exe, использовать eSigner Cloud Signature Consortium (CSC)-совместимый API для операций подписи корпоративного кода. Перед выполнением подписи кода на основе eSigner в инструментах CI/CD необходимо выполнить три обязательных условия:
- Приобретите сертификат подписи кода SSL.com EV
- Зарегистрируйте свой сертификат подписи кода в eSigner
- Скачайте и установите eSigner CKA
Примеры рабочих процессов подписи .vsix
Переменные среды- USERNAME: имя пользователя учетной записи SSL.com. (Необходимый)
- PASSWORD: пароль учетной записи SSL.com (обязательно)
- TOTP_SECRET: Секрет OAuth TOTP. Вы можете получить доступ к подробной информации о Автоматизация подписи кода eSigner EV — SSL.com (обязательно)
- РЕЖИМ: «песочница» или «продукт» (обязательно)
Пример рабочего процесса подписи .vsix
# Имя рабочего процесса.
название: Знак Артефакта
# Запускаем этот рабочий процесс при нажатии
на: нажать
# Создаем переменную среды
среда:
MASTER_KEY: мастер.ключ
SIGNABLE_FILE_PATH: HelloWorld.dll
SIGNABLE_VSIX_FILE_PATH: SSLcom.vsix
INSTALL_DIR: C:\Users\runneradmin\eSignerCKA
MASTER_KEY_FILE: C:\Users\runneradmin\eSignerCKA\master.key
вакансии:
# Определяет задание с именем «sign-file»
файл подписи:
# Запуск задания в Windows Runner
запуски: windows-последняя
# Когда рабочий процесс запускается, это имя регистрируется
имя: Подписать файл DLL с помощью eSignerCKA
действия:
# 1) Проверьте исходный код, чтобы рабочий процесс мог получить к нему доступ.
– имя: Checkout Repository
использует: action/checkout@v3
# 2) Загрузите и разархивируйте установку eSignerCKA.
- название: Скачать и разархивировать программу установки eSignerCKA
запустить: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip «https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip»
Развернуть-Архивировать-Force eSigner_CKA_Setup.zip
Удаление элемента eSigner_CKA_Setup.zip
Переместить элемент - Назначение «eSigner_CKA_Installer.exe» - Путь «eSigner_CKA_*\*.exe»
# 3) Установите eSignerCKA
– название: Настройка eSignerCKA в тихом режиме
запустить: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="${{ env.INSTALL_DIR }}" | Out-Null
# 4) Установите информацию об учетной записи SSLcom.
– имя: Информация об учетной записи конфигурации на eSignerCKA
запустить: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode «${{ secrets.MODE }}» -пользователь «${{ secrets.USERNAME }}» -pass «${{ secrets.PASSWORD }}» - totp “${{ secrets.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r
# 5) Выгрузить и загрузить сертификат в хранилище сертификатов Windows.
- имя: Загрузить сертификат в Магазин Windows
запустить: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe выгрузить
${{ env.INSTALL_DIR }}/eSignerCKATool.exe загрузить
# 6) Выберите сертификат подписи кода и получите отпечаток для подписи.
- имя: Выберите сертификат из Магазина Windows
запустить: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
# 7) Подписать артефакт с помощью Signtool
– имя: Подписать образец файла с помощью SignTool
запустить: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
# 8) Загрузите журналы eSignerCKA
– имя: Загрузить журналы eSignerCKA
использует: действия/upload-artifact@v3
если: ${{ всегда() }}
с:
имя: eSignerCKA-Logs-DLL
путь: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
# Определяет задание с именем «sign-vsix-file»
знак-vsix-файл:
# Запуск задания в Windows Runner
запуски: windows-последняя
# Когда рабочий процесс запускается, это имя регистрируется
имя: Подписать файл VSIX с помощью eSignerCKA.
действия:
# 1) Проверьте исходный код, чтобы рабочий процесс мог получить к нему доступ.
– имя: Checkout Repository
использует: action/checkout@v3
# 2) Настройте среду .NET CLI для использования в рабочем процессе.
— имя: Настройка ядра Dotnet.
запустить: |
шоколадная установка dotnet-runtime -y
# 3) Загрузите и разархивируйте установку eSignerCKA.
- название: Скачать и разархивировать программу установки eSignerCKA
запустить: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip «https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip»
Развернуть-Архивировать-Force eSigner_CKA_Setup.zip
Удаление элемента eSigner_CKA_Setup.zip
Переместить элемент - Назначение «eSigner_CKA_Installer.exe» - Путь «eSigner_CKA_*\*.exe»
# 4) Установите eSignerCKA
– название: Настройка eSignerCKA в тихом режиме
запустить: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="${{ env.INSTALL_DIR }}" | Out-Null
# 5) Установите информацию об учетной записи SSLcom.
– имя: Информация об учетной записи конфигурации на eSignerCKA
запустить: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode «${{ secrets.MODE }}» -пользователь «${{ secrets.USERNAME }}» -pass «${{ secrets.PASSWORD }}» - totp “${{ secrets.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r
# 6) Выгрузить и загрузить сертификат в хранилище сертификатов Windows.
- имя: Загрузить сертификат в Магазин Windows
запустить: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe выгрузить
${{ env.INSTALL_DIR }}/eSignerCKATool.exe загрузить
# 7) Выберите сертификат подписи кода и получите отпечаток для подписи.
- имя: Выберите сертификат из Магазина Windows
запустить: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
# 8) Установите OpenVsixSignTool в произвольное местоположение (https://github.com/vcsjones/OpenOpcSignTool).
– имя: Установить OpenOpcSignTool
запустить: |
New-Item -ItemType Directory -Force -Path C:\Users\runneradmin\Desktop\dotnet-tools
Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
Move-Item -Path OpenVsixSignTool.zip -Место назначения C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool.zip
Развернуть-Архив -LiteralPath C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\runneradmin\Desktop\dotnet-tools -Force
# 9) Подписать артефакт с помощью OpenOpcSignTool
– имя: Файл образца подписи с помощью OpenVsixSignTool.
запустить: |
C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool –прокрутка вперед LatestMajor Sign –sha1 ${{ env.THUMBPRINT }} –метка времени http://ts.ssl.com -ta sha256 -fd sha256 “${ { env.SIGNABLE_VSIX_FILE_PATH }}”
# 10) Загрузите журналы eSignerCKA
– имя: Загрузить журналы eSignerCKA
использует: действия/upload-artifact@v3
если: ${{ всегда() }}
с:
имя: eSignerCKA-Logs-VSIX
путь: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
Пример рабочего процесса подписи .vsix
# Триггеры непрерывной интеграции
курок:
- никто
# Группирует задания по этапам. Все задания на одном этапе должны быть завершены до выполнения следующего этапа.
этапы:
– этап: знак
# Когда рабочий процесс запускается, это имя регистрируется
displayName: Подписать файл
вакансии:
- работа:
бассейн:
# Запуск задания на виртуальных машинах Windows
vmImage: «последняя версия Windows»
действия:
# Загрузите и разархивируйте программу установки eSignerCKA
— powershell: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip «https://www.ssl.com/download/ssl-com-esigner-cka»
Развернуть-Архивировать-Force eSigner_CKA_Setup.zip
Удаление элемента eSigner_CKA_Setup.zip
Переместить элемент - Назначение «eSigner_CKA_Installer.exe» - Путь «eSigner_CKA_*\*.exe»
displayName: 'Загрузить и распаковать установку eSignerCKA'
# Настройте eSignerCKA в автоматическом режиме и проверьте каталог установки.
— powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="$(Build.BinariesDirectory)\Desktop\eSignerCKA" | Out-Null
каталог $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: «Настройка eSignerCKA в бесшумном режиме»
# Настройка информации об учетной записи на eSignerCKA
— powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -пользователь «$(ИМЯ ПОЛЬЗОВАТЕЛЯ)» -pass «$(ПАРОЛЬ)» -totp «$(TOTP_SECRET)» -ключ «$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key» -r
displayName: «Настроить информацию об учетной записи на eSignerCKA»
# Выгрузка и загрузка сертификата в Магазин Windows
— powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe выгрузить
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe загрузка
displayName: «Выгрузить и загрузить сертификат в Магазин Windows»
# Выберите сертификат из Магазина Windows и подпишите образец файла с помощью SignTool.
— powershell: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable-Name Thumbprint-Value (Get-Content.Thumbprint); эхо $Thumbprint
& «C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exe» подпишите /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll
displayName: 'Подписать файл образца с помощью SignTool'
# Сохраните артефакт, чтобы использовать задание подписи
– задача: PublishBuildArtifacts@1
displayName: 'Сохранить как подписанный артефакт для скачивания'
входы:
Путь публикации: HelloWorld.dll
имя_артефакта: HelloWorld.dll
– этап: Sign_vsix
# Когда рабочий процесс запускается, это имя регистрируется
displayName: Подписать VSIX
вакансии:
- работа:
бассейн:
# Запуск задания на виртуальных машинах Windows
vmImage: «последняя версия Windows»
действия:
# Загрузите и разархивируйте программу установки eSignerCKA
— powershell: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip «https://www.ssl.com/download/ssl-com-esigner-cka»
Развернуть-Архивировать-Force eSigner_CKA_Setup.zip
Удаление элемента eSigner_CKA_Setup.zip
Переместить элемент - Назначение «eSigner_CKA_Installer.exe» - Путь «eSigner_CKA_*\*.exe»
displayName: 'Загрузить и распаковать установку eSignerCKA'
# Настройте eSignerCKA в автоматическом режиме и проверьте каталог установки.
— powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="$(Build.BinariesDirectory)\Desktop\eSignerCKA" | Out-Null
каталог $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: «Настройка eSignerCKA в бесшумном режиме»
# Настройка информации об учетной записи на eSignerCKA
— powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -пользователь «$(ИМЯ ПОЛЬЗОВАТЕЛЯ)» -pass «$(ПАРОЛЬ)» -totp «$(TOTP_SECRET)» -ключ «$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key» -r
displayName: «Настроить информацию об учетной записи на eSignerCKA»
# Выгрузка и загрузка сертификата в Магазин Windows
— powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe выгрузить
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe загрузка
displayName: «Выгрузить и загрузить сертификат в Магазин Windows»
# Установите OpenVsixSignTool в произвольное местоположение (https://github.com/vcsjones/OpenOpcSignTool)
— powershell: |
New-Item -ItemType Directory -Force -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools
Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
Move-Item -Path OpenVsixSignTool.zip -Destination $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip
Развернуть-Архив -LiteralPath $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools -Force
displayName: 'Установить OpenVsixSignTool в произвольное расположение'
# Выберите сертификат из Магазина Windows и подпишите образец файла с помощью OpenOpcSignTool.
— powershell: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable-Name Thumbprint-Value (Get-Content.Thumbprint); эхо $Thumbprint
$(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool – накат LatestMajor Sign –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix
displayName: 'Подписать файл образца с помощью OpenOpcSignTool'
# Сохраните артефакт, чтобы использовать задание подписи
– задача: PublishBuildArtifacts@1
displayName: 'Сохранить как подписанный артефакт для скачивания'
входы:
Путь публикации: SSLcom.vsix
Имя артефакта: SSLcom.vsix
# Windows Runner
.windows_runners:
# Используется для выбора бегунов из списка доступных бегунов. Для выполнения задания у исполнителя должны быть все теги, перечисленные здесь.
теги:
- общие окна
- окна
- окна-1809
# Группирует задания по этапам. Все задания на одном этапе должны быть завершены до выполнения следующего этапа.
этапы:
- знак
# Ниже приведено определение вашей задачи по подписанию файла.
файл подписи:
# Определите, на каком этапе будет выполняться задание.
этап: знак
# Средство запуска для подписи файла в Windows
расширяет:
– .windows_runners
до_скрипта:
# Создать каталог установки
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
сценарий:
# Загрузите и разархивируйте программу установки eSignerCKA
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip «https://www.ssl.com/download/ssl-com-esigner-cka»
– Развернуть-Архив-Force eSigner_CKA_Setup.zip
– Удалить элемент eSigner_CKA_Setup.zip
– Переместить элемент – Назначение «eSigner_CKA_Installer.exe» – Путь «eSigner_CKA_*\*.exe»
# Настройте eSignerCKA в тихом режиме
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="C:\Users\gitlab_runner\Desktop\eSignerCKA" | Out-Null
# Проверить каталог установки
– каталог C:\Users\gitlab_runner\Desktop\eSignerCKA
# Проверить каталог установки
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# Настройка информации об учетной записи на eSignerCKA
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -пользователь «${USERNAME}» -pass «${PASSWORD}» -totp «${TOTP_SECRET}» -ключ «C :\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key» -r
# Выгрузить сертификат в Магазин Windows
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe выгрузить
# Загрузить сертификат в Магазин Windows
– Загрузка C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe
# Проверить каталог данных
– каталог C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Проверить каталог данных конфигурации
– каталог C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Выберите сертификат из магазина Windows
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Отпечаток сертификата отладки
– Set-Variable-Name Thumbprint-Value (Get-Content.Thumbprint); эхо $Thumbprint
# Подписать образец файла с помощью SignTool
– powershell.exe -Обход политики исполнения -Команда «Set-Variable -Name Thumbprint -Value (Get-Content.Thumbprint); 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exe подписывайте /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll»
# Ниже приведено определение вашей задачи по подписанию файла.
знак-vsix:
# Определите, на каком этапе будет выполняться задание.
этап: знак
# Средство запуска для подписи файла в Windows
расширяет:
– .windows_runners
до_скрипта:
# Создать каталог установки
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
сценарий:
# Загрузите и разархивируйте программу установки eSignerCKA
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip «https://www.ssl.com/download/ssl-com-esigner-cka»
– Развернуть-Архив-Force eSigner_CKA_Setup.zip
– Удалить элемент eSigner_CKA_Setup.zip
– Переместить элемент – Назначение «eSigner_CKA_Installer.exe» – Путь «eSigner_CKA_*\*.exe»
# Настройте eSignerCKA в тихом режиме
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="C:\Users\gitlab_runner\Desktop\eSignerCKA" | Out-Null
# Проверить каталог установки
– каталог C:\Users\gitlab_runner\Desktop\eSignerCKA
# Проверить каталог установки
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# Настройка информации об учетной записи на eSignerCKA
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -пользователь «${USERNAME}» -pass «${PASSWORD}» -totp «${TOTP_SECRET}» -ключ «C :\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key» -r
# Выгрузить сертификат в Магазин Windows
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe выгрузить
# Загрузить сертификат в Магазин Windows
– Загрузка C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe
# Проверить каталог данных
– каталог C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Проверить каталог данных конфигурации
– каталог C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Выберите сертификат из магазина Windows
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Отпечаток сертификата отладки
– Set-Variable-Name Thumbprint-Value (Get-Content.Thumbprint); эхо $Thumbprint
# Установите среду выполнения Dotnet 7.0
– choco install dotnet-runtime -y
# Установите OpenVsixSignTool в произвольное местоположение
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\dotnet-tools
– Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
– Move-Item – Path OpenVsixSignTool.zip – Назначение C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool.zip
– Развернуть-Архив -LiteralPath C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\gitlab_runner\Desktop\dotnet-tools -Force
# Подписать образец файла с помощью OpenVsixSignTool
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool –прокрутка вперед LatestMajor Sign –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 «SSLcom.vsix»'
Пример рабочего процесса подписи DLL кода .vsix
# Архитектура ЦП, на которой будет выполняться задание
арка: amd64
# Язык по умолчанию для запуска тестов
язык: csharp
# Используемый дистрибутив Ubuntu
расстояние: бионический
# Операционная система для запуска задания
ОС: Windows
# Определяет порядок этапов сборки. Все задания на одном этапе должны быть завершены до выполнения следующего этапа.
этапы:
- знак
вакансии:
следующие:
– этап: знак
# Имя задания
имя: файл подписи
# Операционная система, в которой будет выполняться задание
ОС: Windows
# Использовать общий язык по умолчанию
язык: с
# Перед запуском сценария перед сборкой проекта
до_скрипта:
# Создать каталог установки
– powershell.exe -Обход ExecutionPolicy -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Скрипт для сборки проекта
сценарий:
# Загрузите и разархивируйте программу установки eSignerCKA
- powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip "https://www.ssl.com/download/ssl-com-esigner-cka"'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_Setup.zip'
– powershell.exe - Обход политики выполнения - Команда «Переместить элемент - Назначение «eSigner_CKA_Installer.exe» - Путь «eSigner_CKA_*\*.exe»'
# Настройте eSignerCKA в тихом режиме
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=»C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom» | Out-Null'
# Проверить каталог установки
– powershell.exe – Обход ExecutionPolicy – Команда «dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom»
# Настройка информации об учетной записи на eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}" -pass "${ ПАРОЛЬ}» -totp «${TOTP_SECRET}» -key «C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key» -r'
# Выгрузить сертификат в Магазин Windows
– powershell.exe -Обход ExecutionPolicy -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe выгрузить'
# Загрузить сертификат в Магазин Windows
– powershell.exe -Обход ExecutionPolicy -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe load'
# Выберите сертификат из магазина Windows
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Отпечаток сертификата отладки
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); эхо $Thumbprint'
# Подписать образец файла с помощью SignTool
– powershell.exe -ExecutionPolicy Bypass -Command «Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); 'C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll' ”
– этап: знак
# Имя задания
имя: знак-vsix
# Операционная система, в которой будет выполняться задание
ОС: Windows
# Использовать общий язык по умолчанию
язык: с
# Перед запуском сценария перед сборкой проекта
до_скрипта:
# Создать каталог установки
– powershell.exe -Обход ExecutionPolicy -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Скрипт для сборки проекта
сценарий:
# Загрузите и разархивируйте программу установки eSignerCKA
- powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip "https://www.ssl.com/download/ssl-com-esigner-cka"'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_Setup.zip'
– powershell.exe - Обход политики выполнения - Команда «Переместить элемент - Назначение «eSigner_CKA_Installer.exe» - Путь «eSigner_CKA_*\*.exe»'
# Настройте eSignerCKA в тихом режиме
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=»C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom» | Out-Null'
# Проверить каталог установки
– powershell.exe – Обход ExecutionPolicy – Команда «dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom»
# Настройка информации об учетной записи на eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}" -pass "${ ПАРОЛЬ}» -totp «${TOTP_SECRET}» -key «C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key» -r'
# Выгрузить сертификат в Магазин Windows
– powershell.exe -Обход ExecutionPolicy -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe выгрузить'
# Загрузить сертификат в Магазин Windows
– powershell.exe -Обход ExecutionPolicy -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe load'
# Выберите сертификат из магазина Windows
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Отпечаток сертификата отладки
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); эхо $Thumbprint'
# Установите OpenVsixSignTool в произвольное местоположение (https://github.com/vcsjones/OpenOpcSignTool)
– powershell.exe -Обход ExecutionPolicy -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools'
powershell.exe -Обход ExecutionPolicy -Command 'Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip'
powershell.exe -Обход ExecutionPolicy -Command 'Move-Item -Path OpenVsixSignTool.zip -Destination C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip'
powershell.exe -Обход ExecutionPolicy -Command 'Expand-Archive -LiteralPath C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\travis\build\mbayrak-sslcom \eSignerCKA\dotnet-tools -Force'
# Подписать образец файла с помощью OpenVsixSignTool
– powershell.exe -ExecutionPolicy Bypass -Command «Set-Variable -Name Thumbprint -Value (Get-Content.Thumbprint); C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool –прокрутка вперед LatestMajor Sign –sha1 $Thumbprint –метка времени http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix »
.NET-код DLL Примеры рабочих процессов подписания
Пример рабочего процесса подписи DLL кода .NET
Подготовьте компоненты рабочего процесса
- Создайте папку .circleci в вашем редакторе. Включите рабочие процессы в папку и создайте файл yml как config.yml в папке.
- Установите версию CircleCI. Поле версии предназначено для выдачи предупреждений об устаревании или критических изменениях.
версия: 2.1
-
Сферы — это повторно используемые пакеты конфигурации CircleCI, которые вы можете использовать в разных проектах, что позволяет создавать инкапсулированные параметризованные команды, задания и исполнители, которые можно использовать в нескольких проектах. Чтобы использовать инструмент signtool, это должны быть окна.
шары:
победа: кругци/окна@5.0.0
-
Вызов заданий через рабочие процессы. Рабочие процессы организуют набор выполняемых заданий.
рабочие процессы:
# Имя рабочего процесса.
файл подписи:
# Внутри рабочего процесса вы определяете задания, которые хотите запустить.
вакансии:
– файл подписи
- Определите задание, которое будет вызываться позже в рабочем процессе.
вакансии:
файл подписи:
- Укажите среду выполнения. Мы должны использовать исполняющую программу Windows, потому что необходим инструмент для подписи.
исполнитель:
имя: победа/сервер-2019
размер: средний
вариант: против 2019
- Поместите рабочий каталог для задания
рабочий_каталог: /home/circleci/project
- Добавление шагов к заданию См.: https://circleci.com/docs/2.0/configuration-reference/#steps
действия:
- Ознакомьтесь с исходным кодом, чтобы рабочий процесс мог получить к нему доступ.
- проверить
- Загрузите и разархивируйте программу установки eSignerCKA.
- бег:
Название: Скачать и разархивировать программу установки eSignerCKA
команда: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip «https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3»
Развернуть-Архивировать-Force eSigner_CKA_1.0.3.zip
Удаление элемента eSigner_CKA_1.0.3.zip
Move-Item - Назначение «eSigner_CKA_1.0.3.exe» - Путь «eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe»
- Установить eSignerCKA
- бег:
Название: Настройка eSignerCKA в автоматическом режиме
команда: |
mkdir -p «/home/circleci/project/eSignerCKA»
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="/home/circleci/project/eSignerCKA" | Out-Null
- Установите информацию об учетной записи SSLcom на eSignerCKA
- бег:
name: Информация об учетной записи Config на eSignerCKA
команда: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode $env:MODE -user «$env:USERNAME» -pass «$env:PASSWORD» -totp «$env:TOTP_SECRET» -key «/home/circleci /проект/eSignerCKA/master.key» -r
- Выгрузить и загрузить сертификат в хранилище сертификатов Windows
- бег:
имя: Загрузить сертификат в Магазин Windows
команда: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe выгрузить
/home/circleci/project/eSignerCKA/eSignerCKATool.exe загрузить
- Выберите сертификат подписи кода и получите отпечаток для подписи и подпишите артефакт с помощью инструмента подписи.
- бег:
имя: Выберите сертификат из Магазина Windows и подпишите образец файла с помощью SignTool
команда: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Выбрать-Объект-Первый 1
& 'C:Program Files (x86)Windows Kits10App Certification Kitsigntool.exe' подпишите /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 «$($CodeSigningCert.Thumbprint)» «HelloWorld. длл»
Пример рабочего процесса подписи DLL кода .NET
Подготовьте компоненты рабочего процесса
- Создайте папку .github/workflows в вашем редакторе. Включите рабочие процессы в папку и создайте файл sign.yml в папке.
- Назовите свой проект и тип задействованного рабочего процесса.
Название: Артефакт знака
-
Активировать этот рабочий процесс по нажатию
на: нажать
-
Создайте переменную среды
среда:
MASTER_KEY: мастер.ключ
SIGNABLE_FILE_PATH: HelloWorld.dll
INSTALL_DIR: C:UsersrunneradmineSignerCKA
MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key
-
Определите задания в вашем редакторе
вакансии:
файл подписи:
-
Запустить задание в Windows Runnerзапуски: windows-последняя
-
Создайте имя. Когда рабочий процесс запускается, это имя регистрируется.
имя: Подписать файл DLL с помощью eSignerCKA
Описание шагов для работы с подписью
-
Ознакомьтесь с исходным кодом, чтобы рабочий процесс мог получить к нему доступ.
– имя: Checkout Repository
использует: action/checkout@v3
- Загрузите и разархивируйте программу установки eSignerCKA.
- название: Скачать и разархивировать программу установки eSignerCKA
запустить: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip «https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3»
Развернуть-Архивировать-Force eSigner_CKA_1.0.3.zip
Удаление элемента eSigner_CKA_1.0.3.zip
Move-Item - Назначение «eSigner_CKA_1.0.3.exe» - Путь «eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe» - Установить eSignerCKA
– название: Настройка eSignerCKA в тихом режиме
запустить: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="${{ env.INSTALL_DIR }}" | Out-Null
- Установите информацию об учетной записи SSL.com на eSignerCKA
– имя: Информация об учетной записи конфигурации на eSignerCKA
запустить: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode «${{ secrets.MODE }}» -user «${{ secrets.USERNAME }}»
-pass «${{ secrets.PASSWORD }}» -totp «${{ secrets.TOTP_SECRET }}» -key «${{ env.MASTER_KEY_FILE }}» -r
- Выгрузить и загрузить сертификат в хранилище сертификатов Windows
- имя: Загрузить сертификат в Магазин Windows
запустить: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe выгрузить
${{ env.INSTALL_DIR }}/eSignerCKATool.exe загрузить - Выберите сертификат подписи кода и получите отпечаток для подписи
- имя: Выберите сертификат из Магазина Windows
запустить: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Выбрать-Объект-Первый 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV - Артефакт подписи с помощью signtool
– имя: Подписать образец файла с помощью SignTool
запустить: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
Пример рабочего процесса подписи DLL кода .NET
Определение компонентов рабочего процесса
- Cсоздайте файл yml как .gitlab-ci.yml в папке.
- Используется для выбора бегунов из списка доступных бегунов. У исполнителя должны быть все теги, перечисленные здесь, чтобы запустить задание.
.windows_runners:
теги:
- общие окна
- окна
- окна-1809
- Группирует работы по этапам. Все задания на одном этапе должны быть завершены до выполнения следующего этапа.
этапы:
- знак
- Ниже приведено определение вашей работы по подписанию файла. Определите, на каком этапе будет выполняться задание.
файл подписи:
этап: знак
- Имя одного или нескольких заданий, от которых следует наследовать конфигурацию.
расширяет:
– .windows_runners - Напишите скрипт для подписи файла.
сценарий:
# Загрузите и разархивируйте программу установки eSignerCKA
- powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe - Обход политики выполнения - Команда «Переместить элемент - Назначение «eSigner_CKA_1.0.3.exe» - Путь «eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe»'
# Настройте eSignerCKA в тихом режиме
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=»C:Usersgitlab_runnerDesktopeSignerCKA»'
# Проверить каталог установки
– powershell.exe - Обход ExecutionPolicy - Команда «dir C: Usersgitlab_runnerDesktopeSignerCKA»
# Настройка информации об учетной записи на eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}
-user "${USERNAME}" -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C:Usersgitlab_runnerAppDataRoamingeSignerCKAmaster.key" -r'
# Выгрузить сертификат в Магазин Windows
– powershell.exe -Обход ExecutionPolicy -Команда «C: Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe выгрузить»
# Загрузить сертификат в Магазин Windows
– powershell.exe -Обход ExecutionPolicy -Команда «C: Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe загрузить»
# Проверить каталог данных
– powershell.exe -Обход ExecutionPolicy -Команда «dir C: Usersgitlab_runnerAppDataRoamingeSignerCKA»
# Проверить каталог данных конфигурации
– powershell.exe -Обход ExecutionPolicy -Команда «dir C:Usersgitlab_runnerAppDataRoamingeSignerCKAConfig»
# Выберите сертификат из магазина Windows
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Отпечаток сертификата отладки
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); эхо $Thumbprint'
# Подписать образец файла с помощью SignTool
– powershell.exe -ExecutionPolicy Bypass -Command «Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);
«C:Program Files (x86)Windows Kits10bin10.0.17763.0x86signtool.exe подписывает /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll»
Пример рабочего процесса подписи DLL кода .NET
Определение компонентов рабочего процесса
- Создайте файл yml как .travis.yml в корневой папке.
- Поместите архитектуру ЦП, на которой будет выполняться задание.
арка: amd64
- Язык по умолчанию для запуска заданий в Travis CI
язык: csharp
- Операционная система для запуска задания
ОС: Windows
- Укажите порядок этапов. Все работы на одном этапе должны быть завершены до выполнения следующего этапа.
этапы:
- знак
- Определить этап сборки
вакансии:
следующие:
– этап: знак
-
Название работы
имя: файл подписи -
Операционная система, в которой выполняется задание
ОС: Windows -
Текущий язык для запуска заданий в Travis CI
язык: с -
Напишите сценарий «До» для запуска перед сборкой проекта.
до_скрипта:
– powershell.exe -Обход ExecutionPolicy -Command 'New-Item -ItemType Directory -Force -Path C:Userstravisbuildesigner-образецeSignerCKASSLcom'
-
Напишите скрипт для сборки проекта.
сценарий:
# Загрузите и разархивируйте программу установки eSignerCKA
- powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe - Обход политики выполнения - Команда «Переместить элемент - Назначение «eSigner_CKA_1.0.3.exe» - Путь «eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe»'
# Настройте eSignerCKA в тихом режиме
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildesigner-образецeSignerCKASSLcom» | Out-Null'
# Проверить каталог установки
– powershell.exe -Обход политики выполнения -Command 'dir C:Userstravisbuildesigner-образецeSignerCKASSLcom'
# Настройка информации об учетной записи на eSignerCKA
– powershell.exe -Обход политики выполнения -Command 'C:Userstravisbuildesigner-образецКонфигурация eSignerCKASSLcomeSignerCKATool.exe -режим ${MODE} -пользователь «${USERNAME}»
-pass «${PASSWORD}» -totp «${TOTP_SECRET}» -key «C:Userstravisbuild»esigner-образецeSignerCKASSLcommaster.key» -r'
# Выгрузить сертификат в Магазин Windows
– powershell.exe -Обход политики выполнения -Command 'C:Userstravisbuildesigner-образецeSignerCKASSLcomeSignerCKATool.exe выгрузить'
# Загрузить сертификат в Магазин Windows
– powershell.exe -Обход политики выполнения -Command 'C:Userstravisbuildesigner-образецeSignerCKASSLcomeSignerCKATool.exe загрузить'
# Выберите сертификат из магазина Windows
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Выбрать-Объект-Первый 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Отпечаток сертификата отладки
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); эхо $Thumbprint'
# Подписать образец файла с помощью SignTool
– powershell.exe -ExecutionPolicy Bypass -Command «Set-Variable -Name Thumbprint -Value (Get-Content.Thumbprint); «C:Program Files (x86)Windows Kits10binx64signtool.exe подписывает /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll»
Нужны индивидуальные решения?
Благодаря нашим экспертным знаниям и пятизвездочному персоналу службы поддержки мы готовы работать с вами над индивидуальными решениями или над скидками на подписание крупных объемов на уровне предприятия. Заполните форму ниже, и мы свяжемся с вами.