Integração de assinatura de código de nuvem com BitBucket

Este é um guia sobre como a ferramenta BitBucket CI/CD pode ser integrada ao eSigner CodeSignTool para executar assinatura de código automatizada.

CodeSignTool é um utilitário de linha de comando que é eficaz em processos de assinatura remota e se integra totalmente a várias plataformas CI/CD. Faz parte do kit de ferramentas do eSigner – nosso serviço de assinatura de código na nuvem que permite que os desenvolvedores experimentem um método intuitivo e seguro para assinar o código.

SSL.com's EV Assinatura de código certificados ajudam a proteger seu código contra adulteração e comprometimento não autorizados com o mais alto nível de validação e estão disponíveis por apenas $ 249 por ano. Você também pode use seu certificado de assinatura de código EV em escala na nuvem usando eSigner.

PEÇA AGORA

Evariáveis ​​de ambiente

  • NOME DE USUÁRIO: nome de usuário da conta SSL.com. (Requeridos)
  • SENHA: Senha da conta SSL.com (obrigatório)
  • CREDENTIAL_ID: ID da credencial para assinatura do certificado. Se credential_id for omitido e o usuário tiver apenas um certificado de assinatura de código eSigner, o CodeSignTool usará como padrão. Se o usuário tiver mais de um certificado de assinatura de código, esse parâmetro é obrigatório. (Requeridos)
  • TOTP_SECRET: OAuth TOTP Secret. Você pode acessar informações detalhadas sobre https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Obrigatório)
  • AMBIENTE_NAME : Ambiente 'TEST' ou 'PROD'. (Requeridos)

entradas

  • caminho_do_arquivo_de_entrada: Caminho do objeto de código a ser assinado. (Requeridos)

  • saída_dir_caminho: Diretório onde o(s) objeto(s) de código assinado(s) será(ão) escrito(s). Se output_path for omitido, o arquivo especificado em -file_path será substituído pelo arquivo assinado.

Fluxo de trabalho de exemplo de assinatura de DLL de código .NET

pipelines: default: - step: # Você pode adicionar um nome a uma etapa para facilitar a leitura e a compreensão de exibições e relatórios. name: build-dotnet # Nome da imagem do Docker que pode ou não incluir URL de registro, tag e imagem de valor resumido: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Comandos a serem executados no script da etapa: # Diretórios criados para artefatos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Construir projeto dotnet com configuração de versão - dotnet build dotnet/HelloWorld.csproj -c Release # Copiar artefatos construídos para o diretório de artefatos - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Arquivos produzidos por uma etapa para compartilhar com os seguintes artefatos da etapa: - packages/HelloWorld.dll - step : # Você pode adicionar um nome a uma etapa para facilitar a leitura e a compreensão de exibições e relatórios. name: sign-dotnet-artifacts # Serviços habilitados para os serviços da etapa: - docker # Comandos a serem executados no script da etapa: # Diretórios criados para artefatos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Corrigido problema de permissão dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Assinar artefato com 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 USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:último sinal -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /saída

Crie um novo repositório em bitbucket.org

Selecione as opções para os campos específicos:

a) Nível de acesso: marque a caixa de seleção Repositório privado

b) Incluir um README? Não

c) Nome da filial padrão: principal

d) incluir .gitignore? Não

Crie um novo projeto em seu editor de código

No novo projeto, crie um arquivo .yml

Escreva o script para o estágio de construção

Escreva o roteiro para a fase de sinalização

SSL.com's EV Assinatura de código certificados ajudam a proteger seu código contra adulteração e comprometimento não autorizados com o mais alto nível de validação e estão disponíveis por apenas $ 249 por ano. Você também pode use seu certificado de assinatura de código EV em escala na nuvem usando eSigner.

PEÇA AGORA

Script completo:

pipelines: default: - step: # Você pode adicionar um nome a uma etapa para facilitar a leitura e a compreensão de exibições e relatórios. name: build-dotnet # Nome da imagem do Docker que pode ou não incluir URL de registro, tag e imagem de valor resumido: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Comandos a serem executados no script da etapa: # Diretórios criados para artefatos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Construir projeto dotnet com configuração de versão - dotnet build dotnet/HelloWorld.csproj -c Release # Copiar artefatos construídos para o diretório de artefatos - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Arquivos produzidos por uma etapa para compartilhar com os seguintes artefatos da etapa: - packages/HelloWorld.dll - step : # Você pode adicionar um nome a uma etapa para facilitar a leitura e a compreensão de exibições e relatórios. name: sign-dotnet-artifacts # Serviços habilitados para os serviços da etapa: - docker # Comandos a serem executados no script da etapa: # Diretórios criados para artefatos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Corrigido problema de permissão dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Assinar artefato com 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 USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:último sinal -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /saída

Defina todas as informações do repositório

Clique na guia Configurações do repositório

Debaixo TUBULAÇÕES, clique em Configurações para habilitar seu pipeline

Em seguida, ainda em PIPELINES, clique em Variáveis ​​de repositório.

Coloque o nome e o valor de cada variável de repositório

Empurre seu código para o Bitbucket

No fonte guia do seu menu BitBucket, defina o URL do seu repositório para https

Escreva o comando para git remote adicionar origem e cole o link https do seu projeto bitbucket, seguido do git push comando

Escreva o comando git push –u origin master

Atualize o Bitbucket para ver o código que você enviou

Atualize o Bitbucket e clique no botão Dutos aba. O estágio de construção e assinatura será iniciado automaticamente.

Verifique se o estágio de construção foi bem-sucedido

Verifique se a etapa de assinatura foi bem-sucedida

Amostra de Pipeline BitBucket

Confira o pipeline do BitBucket que criamos em github.com/SSLcom/codesigner-bitbucket-sample

Outros guias de integração de assinatura remota

Precisa de soluções personalizadas? 

Com nosso conhecimento especializado e equipe de suporte cinco estrelas, estamos prontos e dispostos a trabalhar com você em soluções personalizadas ou descontos em assinaturas de alto volume de nível empresarial. Preencha o formulário abaixo e entraremos em contato.

Twitter
Facebook
LinkedIn
Reddit
E-mail

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.