Guida all'integrazione della firma nel cloud di Azure DevOps

Questa è una guida su come è possibile integrare Azure DevOps con eSigner CodeSignTool per eseguire la firma automatica del codice.

CodeSignTool è un'utilità della riga di comando adatta per i processi di firma del codice cloud e si integra perfettamente con varie piattaforme CI/CD. Fa parte di eSigner: il nostro servizio di firma remota che offre un approccio efficiente, sicuro e intuitivo alla firma del 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

variabili ambientali

  • 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.

Crea un progetto su visualstudio.com

Crea un nuovo file .yml nel tuo editor di codice

Imposta i trigger di integrazione e le variabili di ambiente

Trigger di integrazione continua

grilletto:

  - nessuno

 

Definisce le variabili di ambiente a livello globale. La proprietà a livello di lavoro ha la precedenza sulle variabili globali

variabili:

  buildConfiguration: 'Rilascio'

Raggruppa i lavori in più fasi

Scrivi i passaggi per la fase di costruzione. Tutti i lavori in una fase devono essere completati prima dell'esecuzione della fase successiva.

fasi:

  – fase: costruire

    # Quando viene eseguito il flusso di lavoro, questo è il nome che viene registrato

    displayName: Costruisci

    lavori:

      - lavoro:

        piscina:

           Esegui il lavoro su macchine virtuali Windows

          vmImage: 'windows-latest'

        passaggi:

           Installa Dotnet 6.0.x

        – attività: UseDotNet@2

          displayName: 'Installa .NET Core SDK'

          ingressi:

            versione: '6.0.x'

            performMultiLevelLookup: vero

            includePreviewVersions: vero

       

            Ripristina il progetto Dotnet

        – attività: DotNetCoreCLI@2

          displayName: Ripristina

          ingressi:

            comando: 'ripristina'

 

           Crea un progetto dotnet con la configurazione di rilascio

        – attività: DotNetCoreCLI@2

          displayName: Costruisci

          ingressi:

            comando: costruisci

            progetti: HelloWorld.csproj

            argomenti: '–configuration $(buildConfiguration)'

 

           Crea directory per gli artefatti firmati

        – powershell: New-Item -ItemType Directory -Path ./artifacts

          displayName: 'Directory create per gli artefatti'

 

           Crea directory per i pacchetti firmati

        – powershell: New-Item -ItemType Directory -Path ./packages

          displayName: 'Directory create per i pacchetti'

 

           Copia l'artefatto come percorso di firma

        – powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName: "Copia gli artefatti compilati nella directory dei pacchetti"

 

           Salva artefatto per utilizzare il lavoro di firma

        – attività: PublishBuildArtifacts@1

          displayName: 'Salva per essere firmato artefatto per il download'

          ingressi:

            percorsoPublish: ./packages/HelloWorld.dll

            artefatto: HelloWorld.dll

Scrivi i passaggi per la fase Segno

– stadio: Segno

    # Quando viene eseguito il flusso di lavoro, questo è il nome che viene registrato

    displayName: segno

    lavori:

    - lavoro:

      piscina:

         Esegui lavoro su macchine virtuali Ubuntu

        vmImage: "Ubuntu-più recente"

      passaggi:

         Crea directory per gli artefatti firmati

      – script: mkdir -p ./artifacts && mkdir -p ./pacchetti

        displayName: "Directory create per artefatti e pacchetti"

 

         Scarica il manufatto da firmare

      – compito: ScaricaPipelineArtifact@2

        ingressi:

          artefatto: HelloWorld.dll

          downloadPercorso: ./packages

 

         Installa Docker 17.09.0-ce

      – attività: DockerInstaller@0

        displayName: programma di installazione Docker

        ingressi:

          dockerVersione: 17.09.0-ce

          releaseType: stabile

 

         Docker Pull CodeSigner Docker Immagine

      – script: docker pull ghcr.io/sslcom/codesigner:latest

        displayName: 'Docker Pull CodeSigner Docker Image'

         Firma artefatto con l'immagine Docker CodeSigner

      – script: docker run -i –rm –dns 8.8.8.8 –host di rete –volume $PWD/pacchetti:/codesign/examples –volume $PWD/artefatti:/codesign/output

                -e USERNAME=$(USERNAME) -e PASSWORD=$(PASSWORD) -e CREDENZIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

Se la password contiene caratteri speciali, deve essere racchiusa tra virgolette.

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:ultimo segno -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/codesign/output

        displayName: 'Firma artefatto con l'immagine Docker CodeSigner'

 

         Salva l'artefatto firmato per il download

      – attività: PublishBuildArtifacts@1

        displayName: 'Salva artefatto firmato per il download'

        ingressi:

          percorsoPublish: ./artifacts/HelloWorld.dll

          artefatto: HelloWorld.dll

Crea un nuovo file .gitignore

Digitare:

bidone

obj

.vscode

Nella barra dei messaggi, digita Created pipeline.yml e fai clic su Commettere pulsante

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

Procedi a fare clic su Sincronizza modifiche pulsante

Procedi su visualstudio.com e clicca Repos sul cruscotto

Aggiorna la pagina per vedere il file yml

Clicchi Condotte sul cruscotto

Quindi, fare clic Crea pipeline

Fare clic su Azure Repos Git

Seleziona il tuo file YAML

Clicchi Variabili pulsante seguito da Nuova variabile

Posizionare il valore per ciascuna variabile di ambiente e fare clic su OK pulsante

Fare clic sul segno + per continuare ad aggiungere ogni variabile

Dopo aver inserito tutte le variabili, procedi alla creazione della pipeline

Gestisci la tua pipeline

Clicchi Condotte sul cruscotto. Fai clic sui tre punti (più opzioni) sulla pipeline. Clic Esegui pipeline. Infine, fai clic sul Correre pulsante.

Fare clic su Crea per avviare la fase di creazione

Controlla se ogni lavoro nella fase di costruzione ha esito positivo

Fare clic sulla freccia a discesa accanto Lavoro per vedere lo stato di ogni processo di compilazione

Avvia la fase Segno facendo clic Lavoro

Controlla se ogni passaggio del processo di firma ha esito positivo

Ricontrolla se entrambe le fasi di compilazione e firma hanno esito positivo

È possibile fare riferimento a SSL.com Repository Github che contiene i codici sorgente dell'immagine docker e descrive come usarlo: https://github.com/SSLcom/ci-images 

Esempio di pipeline di Azure DevOps

Dai un'occhiata alla pipeline di Azure DevOps di esempio che abbiamo creato github.com/SSLcom/codesigner-azeredevops-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
E-mail

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.