Integrazione della firma del codice cloud con BitBucket

Questa è una guida su come lo strumento CI/CD di BitBucket può essere integrato con eSigner CodeSignTool per eseguire la firma automatica del codice.

CodeSignTool è un'utilità della riga di comando che è efficace nei processi di firma remota e si integra completamente con varie piattaforme CI/CD. Fa parte del toolkit di eSigner, il nostro servizio di firma del codice cloud che consente agli sviluppatori di sperimentare un metodo intuitivo e sicuro per firmare il codice.

SSL.com's EV Firma del codice i certificati aiutano a proteggere il tuo codice da manomissioni e compromissioni non autorizzate con il massimo livello di convalida e sono disponibili a partire da $ 249 all'anno. È anche possibile usa il tuo certificato EV Code Signing su larga scala nel cloud utilizzando eSigner.

ORDINA ORA

EVariabili d'ambiente

  • USERNAME: nome utente dell'account SSL.com. (Necessario)
  • PASSWORD: password dell'account SSL.com (richiesto)
  • CREDENZIALE_ID: ID credenziale per la firma del certificato. Se credential_id viene omesso e l'utente dispone di un solo certificato di firma del codice eSigner, CodeSignTool verrà impostato automaticamente su quello. Se l'utente ha più di un certificato di firma del codice, questo parametro è obbligatorio. (Necessario)
  • TOTP_SEGRETO: Segreto TOTP OAuth. È possibile accedere a informazioni dettagliate su https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Obbligatorio)
  • NOME_AMBIENTE : Ambiente 'TEST' o 'PROD'. (Necessario)

ingressi

  • percorso_file_input: Percorso dell'oggetto codice da firmare. (Necessario)

  • output_dir_percorso: Directory in cui verranno scritti gli oggetti codice firmato. Se output_path viene omesso, il file specificato in -file_path verrà sovrascritto con il file firmato.

Flusso di lavoro di esempio di firma della DLL del codice .NET

pipelines: default: - step: # È possibile aggiungere un nome a un passaggio per semplificare la lettura e la comprensione di visualizzazioni e report. name: build-dotnet # Nome dell'immagine Docker che può includere o meno l'URL del registro, il tag e il valore digest immagine: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Comandi da eseguire nello script del passaggio: # Directory create per gli artefatti - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Crea progetto dotnet con configurazione Release - dotnet build dotnet/HelloWorld.csproj -c Release # Copia gli artefatti creati nella directory degli artefatti - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # File prodotti da un passaggio da condividere con gli artefatti del passaggio successivo: - packages/HelloWorld.dll - passaggio : # È possibile aggiungere un nome a un passaggio per semplificare la lettura e la comprensione di visualizzazioni e rapporti. name: sign-dotnet-artifacts # Servizi abilitati per i servizi del passaggio: - docker # Comandi da eseguire nello script del passaggio: # Directory create per gli artefatti - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Risolto problema di autorizzazione dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Firma artefatto con 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:latest sign -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /produzione

Crea un nuovo repository su bitbucket.org

Seleziona le opzioni per i campi specifici:

a) Livello di accesso: spuntare la casella Repository privato

b) Includere un README? No

c) Nome ramo predefinito: principale

d) includere .gitignore? No

Crea un nuovo progetto nel tuo editor di codice

Sotto il nuovo progetto, crea un file .yml

Scrivi la sceneggiatura per la fase di costruzione

Scrivi la sceneggiatura per il palcoscenico

SSL.com's EV Firma del codice i certificati aiutano a proteggere il tuo codice da manomissioni e compromissioni non autorizzate con il massimo livello di convalida e sono disponibili a partire da $ 249 all'anno. È anche possibile usa il tuo certificato EV Code Signing su larga scala nel cloud utilizzando eSigner.

ORDINA ORA

Script completo:

pipelines: default: - step: # È possibile aggiungere un nome a un passaggio per semplificare la lettura e la comprensione di visualizzazioni e report. name: build-dotnet # Nome dell'immagine Docker che può includere o meno l'URL del registro, il tag e il valore digest immagine: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Comandi da eseguire nello script del passaggio: # Directory create per gli artefatti - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Crea progetto dotnet con configurazione Release - dotnet build dotnet/HelloWorld.csproj -c Release # Copia gli artefatti creati nella directory degli artefatti - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # File prodotti da un passaggio da condividere con gli artefatti del passaggio successivo: - packages/HelloWorld.dll - passaggio : # È possibile aggiungere un nome a un passaggio per semplificare la lettura e la comprensione di visualizzazioni e rapporti. name: sign-dotnet-artifacts # Servizi abilitati per i servizi del passaggio: - docker # Comandi da eseguire nello script del passaggio: # Directory create per gli artefatti - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Risolto problema di autorizzazione dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Firma artefatto con 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:latest sign -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /produzione

Definire tutte le informazioni sul repository

Fare clic sulla scheda Impostazioni repository

Sotto CONDOTTE, fai clic su Impostazioni per abilitare la tua pipeline

Quindi, sempre sotto PIPELINES, fai clic su Variabili di deposito.

Inserire il nome e il valore per ciascuna variabile del repository

Invia il tuo codice a Bitbucket

Sulla Fonte scheda del tuo menu BitBucket, imposta l'URL del tuo repository su https

Scrivi il comando per git remoto aggiungi origine e incolla il link https del tuo progetto bitbucket, seguito dal file spingere command

Scrivi la comando git push –u origin master

Aggiorna Bitbucket per vedere il codice che hai inviato

Aggiorna Bitbucket e fai clic su Condotte scheda. La fase di costruzione e firma inizierà automaticamente.

Controlla se la fase di costruzione ha esito positivo

Controlla se la fase di segno ha successo

Pipeline BitBucket di esempio

Dai un'occhiata alla pipeline BitBucket che abbiamo creato github.com/SSLcom/codesigner-bitbucket-sample

Altre guide all'integrazione della firma remota

Hai bisogno di soluzioni personalizzate? 

Con la nostra conoscenza esperta e il personale di supporto a cinque stelle, siamo pronti e disposti a lavorare con te su soluzioni personalizzate o sconti per firme di alto volume a livello aziendale. Compila il modulo sottostante e sarai ricontattato.

Twitter
Facebook
LinkedIn
Reddit
Email

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.