Интеграция подписи облачного кода с BitBucket

Это руководство о том, как можно интегрировать инструмент BitBucket CI/CD с eSigner CodeSignTool для выполнения автоматической подписи кода.

CodeSignTool — это утилита командной строки, которая эффективна в процессах удаленной подписи и полностью интегрируется с различными платформами CI/CD. Это часть набора инструментов в eSigner — нашей облачной службе подписи кода, которая позволяет разработчикам испытать интуитивно понятный и безопасный метод подписи кода.

SSL.com's EV Подписание кода сертификаты помогают защитить ваш код от несанкционированного вмешательства и компрометации благодаря высочайшему уровню проверки и доступны всего за $ 249 в год. Вы также можете используйте свой сертификат подписи кода EV в масштабе в облаке с помощью eSigner.

ЗАКАЗАТЬ СЕЙЧАС

EПеременные среды

  • USERNAME: имя пользователя учетной записи SSL.com. (Необходимый)
  • PASSWORD: пароль учетной записи SSL.com (обязательно)
  • CREDENTIAL_ID: Идентификатор учетных данных для сертификата подписи. Если credential_id опущен и у пользователя есть только один сертификат подписи кода eSigner, CodeSignTool будет использовать его по умолчанию. Если у пользователя есть более одного сертификата подписи кода, этот параметр является обязательным. (Необходимый)
  • TOTP_SECRET: Секрет OAuth TOTP. Вы можете получить доступ к подробной информации о https://www.ssl.com/how-to/automate-esigner-ev-code-signing (обязательно)
  • ИМЯ_ОКРУЖАЮЩЕЙ СРЕДЫ : Среда 'TEST' или 'PROD'. (Необходимый)

входные

  • путь_входного_файла: Путь к подписываемому объекту кода. (Необходимый)

  • выходной_каталог_путь: Каталог, в который будут записаны подписанные объекты кода. Если output_path опущен, файл, указанный в -file_path, будет перезаписан подписанным файлом.

Пример рабочего процесса подписи DLL кода .NET

конвейеры: по умолчанию: - шаг: # Вы можете добавить имя к шагу, чтобы упростить чтение и понимание дисплеев и отчетов. name: build-dotnet # Имя образа Docker, которое может включать или не включать URL-адрес реестра, тег и значение дайджеста image: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Команды для выполнения в пошаговом сценарии: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Сборка проекта dotnet с конфигурацией Release - dotnet build dotnet/HelloWorld.csproj -c Release # Копирование созданных артефактов в каталог артефактов - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Файлы, созданные на шаге, для совместного использования с артефактами следующего шага: - packages/HelloWorld.dll - step : # Вы можете добавить имя к шагу, чтобы сделать экранные формы и отчеты более удобными для чтения и понимания. name: sign-dotnet-artifacts # Службы, включенные для служб шага: - docker # Команды для выполнения в сценарии шага: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Исправлена ​​проблема с разрешениями dotnet — chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image — docker pull ghcr.io/sslcom/codesigner:latest # Подписать артефакт с помощью CodeSigner docker image — docker run -i —rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e ИМЯ ПОЛЬЗОВАТЕЛЯ=${ИМЯ ПОЛЬЗОВАТЕЛЯ} -e ПАРОЛЬ=${ПАРОЛЬ} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:последний знак -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /вывод

Создайте новый репозиторий на bitbucket.org

Выберите параметры для конкретных полей:

а) Уровень доступа: установите флажок «Частный репозиторий».

б) Включить README? Нет

c) Имя ветки по умолчанию: main

г) включить .gitignore? Нет

Создайте новый проект в редакторе кода

Под новым проектом создайте файл .yml

Написать скрипт для этапа сборки

Написать сценарий знакового этапа

SSL.com's EV Подписание кода сертификаты помогают защитить ваш код от несанкционированного вмешательства и компрометации благодаря высочайшему уровню проверки и доступны всего за $ 249 в год. Вы также можете используйте свой сертификат подписи кода EV в масштабе в облаке с помощью eSigner.

ЗАКАЗАТЬ СЕЙЧАС

Полный сценарий:

конвейеры: по умолчанию: - шаг: # Вы можете добавить имя к шагу, чтобы упростить чтение и понимание дисплеев и отчетов. name: build-dotnet # Имя образа Docker, которое может включать или не включать URL-адрес реестра, тег и значение дайджеста image: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Команды для выполнения в пошаговом сценарии: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Сборка проекта dotnet с конфигурацией Release - dotnet build dotnet/HelloWorld.csproj -c Release # Копирование созданных артефактов в каталог артефактов - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Файлы, созданные на шаге, для совместного использования с артефактами следующего шага: - packages/HelloWorld.dll - step : # Вы можете добавить имя к шагу, чтобы сделать экранные формы и отчеты более удобными для чтения и понимания. name: sign-dotnet-artifacts # Службы, включенные для служб шага: - docker # Команды для выполнения в сценарии шага: # Созданные каталоги для артефактов - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Исправлена ​​проблема с разрешениями dotnet — chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image — docker pull ghcr.io/sslcom/codesigner:latest # Подписать артефакт с помощью CodeSigner docker image — docker run -i —rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e ИМЯ ПОЛЬЗОВАТЕЛЯ=${ИМЯ ПОЛЬЗОВАТЕЛЯ} -e ПАРОЛЬ=${ПАРОЛЬ} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:последний знак -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /вывод

Определить всю информацию о репозитории

Перейдите на вкладку Настройки репозитория.

Под ТРУБОПРОВОДЫ, нажмите Настройки, чтобы включить воронку

Затем, все еще в разделе ТРУБОПРОВОДЫ, нажмите Переменные репозитория.

Поместите имя и значение для каждой переменной репозитория

Отправьте свой код в Bitbucket

На Источник вкладку вашего меню BitBucket, установите URL-адрес вашего репозитория на https

Напишите команду для git удаленное добавление источника и вставьте ссылку https вашего проекта bitbucket, а затем мерзавец команду

Написать git push –u исходная мастер-команда

Обновите Bitbucket, чтобы увидеть код, который вы отправили

Обновите Bitbucket и нажмите кнопку Трубопроводы вкладка Этап сборки и подписи начнется автоматически.

Проверить успешность этапа сборки

Проверьте, прошел ли этап подписи успешно

Пример конвейера BitBucket

Ознакомьтесь с конвейером BitBucket, который мы создали на github.com/SSLcom/codesigner-bitbucket-образец

Другие руководства по интеграции удаленной подписи

Нужны индивидуальные решения? 

Благодаря нашим экспертным знаниям и пятизвездочному персоналу службы поддержки мы готовы работать с вами над индивидуальными решениями или над скидками на подписание крупных объемов на уровне предприятия. Заполните форму ниже, и мы свяжемся с вами.

Twitter
что его цель
LinkedIn
Reddit.
Эл. адрес

Будьте в курсе и будьте в безопасности

SSL.com является мировым лидером в области кибербезопасности, PKI и цифровые сертификаты. Подпишитесь, чтобы получать последние новости отрасли, советы и анонсы продуктов от SSL.com.

Мы будем рады вашим отзывам

Пройдите наш опрос и поделитесь с нами своими мыслями о своей недавней покупке.