Icona del sito SSL.com

Come integrare eSigner CKA con gli strumenti CI/CD per la firma automatica del codice

Le due tabelle seguenti mostrano come integrare eSigner CKA con Strumenti di integrazione continua/distribuzione continua (CI/CD). per firma automatizzata del codice. Per la firma vengono fornite guide per CircleCI, GitHub Actions, Gitlab CI e Travis CI File .NET. Per la firma vengono fornite guide per Azure Pipeline, GitHub Actions, Gitlab CI e Travis CI File .vsix.

eSigner CKA (adattatore chiave cloud) è un'applicazione basata su Windows che utilizza l'interfaccia CNG (KSP Key Service Provider) per consentire a strumenti come certutil.exe e signtool.exe di utilizzare il API conforme a eSigner Cloud Signature Consortium (CSC).  per le operazioni di firma del codice aziendale. Prima di poter eseguire la firma del codice basata su eSigner su strumenti CI/CD, devono essere soddisfatti tre prerequisiti:

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

Flussi di lavoro di esempio di firma .vsix

variabili ambientali
Per i codici di esempio, è possibile fare riferimento a SSL.com Repository Github su: https://github.com/SSLcom/esigner-sample

.NET codice DLL Firma di esempi di flussi di lavoro

Integrazione CircleCIIntegrazione delle azioni GitHubIntegrazione CI GitlabIntegrazione Travis CI

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

Preparare i componenti del flusso di lavoro

  1. Crea una cartella .circleci sul tuo editor. Includere i flussi di lavoro con la cartella e creare un file yml come config.yml sotto la cartella.
  2. Imposta la versione di CircleCI. Il campo della versione è destinato a essere utilizzato per emettere avvisi in caso di deprecazione o modifiche di rilievo.

    Versione: 2.1

  3. Gli orb sono pacchetti riutilizzabili della configurazione di CircleCI che puoi condividere tra progetti, consentendoti di creare comandi, lavori ed esecutori incapsulati e parametrizzati che possono essere utilizzati su più progetti. Per usare lo strumento signtool questo deve essere windows.

    sfere:

       vincere: circleci/windows@5.0.0

  4. Richiama i lavori tramite i flussi di lavoro. I flussi di lavoro orchestrano una serie di processi da eseguire. 

    flussi di lavoro:

       # Il nome del flusso di lavoro.

       file di segno:

          # All'interno del flusso di lavoro, definisci i lavori che desideri eseguire.

             lavori:

                – file di segno

  5. Definire un lavoro da richiamare in seguito in un flusso di lavoro.

    lavori:

       file di segno:

  6. Specificare l'ambiente di esecuzione. Dobbiamo usare l'esecutore di Windows perché è necessario signtool.

    esecutore:

       nome: vittoria/server-2019

       taglia: media

       variante: vs 2019

  7. Posizionare la directory di lavoro per il lavoro 

    directory_di_lavoro: /home/circleci/progetto

  8. Aggiungere passaggi al lavoro Vedere: https://circleci.com/docs/2.0/configuration-reference/#steps  

    passaggi:

  9. Controlla il codice sorgente in modo che il flusso di lavoro possa accedervi.

    - guardare

  10. Scaricare e decomprimere l'installazione di eSignerCKA

    - correre:

          nome: Scarica e decomprimi l'installazione di eSignerCKA

          comando: |

             Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”

             Espandi-Archivio -Force eSigner_CKA_1.0.3.zip

             Rimuovi articolo eSigner_CKA_1.0.3.zip

             Sposta elemento -Destinazione "eSigner_CKA_1.0.3.exe" -Percorso "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"

  11. Installa eSignerCKA

    - correre:

          nome: Imposta eSignerCKA in modalità silenziosa

          comando: |

                mkdir -p "/home/circleci/progetto/eSignerCKA"

                ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="/home/circleci/project/eSignerCKA" | Out-Null

  12. Imposta le informazioni sull'account SSLcom su eSignerCKA

    - correre:

          nome: Config Account Information su eSignerCKA

          comando: |

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode $env:MODE -user “$env:USERNAME” -pass “$env:PASSWORD” -totp “$env:TOTP_SECRET” -key “/home/circleci /progetto/eSignerCKA/master.key” -r

  13. Scarica e carica il certificato nell'archivio certificati di Windows

    - correre:

          nome: carica il certificato in Windows Store

          comando: |

                Scarica /home/circleci/project/eSignerCKA/eSignerCKATool.exe

                Carica /home/circleci/project/eSignerCKA/eSignerCKATool.exe

  14. Selezionare il certificato di firma del codice e ottenere l'identificazione personale per la firma e l'artefatto di firma con signtool

    - correre:

          nome: selezionare il certificato da Windows Store e firmare il file di esempio con SignTool

          comando: |

                $CodeSigningCert = Certificato Get-ChildItem:CurrentUserMy -CodeSigningCert | Seleziona-Oggetto-Primo 1

                & 'C:Program Files (x86)Windows Kits10App Certification Kitsigntool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 “$($CodeSigningCert.Thumbprint)” “HelloWorld. dll"

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

Preparare i componenti del flusso di lavoro

  1. Crea una cartella .github/workflows nel tuo editor. Includere i flussi di lavoro con la cartella e creare un file sign.yml sotto la cartella.
  2. Assegna un nome al tuo progetto e al tipo di flusso di lavoro coinvolto 

    Nome: segno artefatto

  3. Attiva questo flusso di lavoro su una spinta 

    acceso: spingere

  4. Crea una variabile di ambiente

    ambiente:

     MASTER_KEY: chiave.master

     SIGNABLE_FILE_PATH: HelloWorld.dll

     INSTALL_DIR: C:UsersrunneradmineSignerCKA

     MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key

  5. Definisci i lavori sul tuo editor

    lavori:

     file di segno:

  6. Esegui lavoro su Windows Runnerfunziona su: Windows più recente

  7. Crea un nome. Quando viene eseguito il flusso di lavoro, questo è il nome che viene registrato.

    nome: Firma file DLL con eSignerCKA

Delineare i passaggi per il lavoro Sign

  1. Controlla il codice sorgente in modo che il flusso di lavoro possa accedervi.

    – nome: Repository di pagamento

       utilizza: azioni/checkout@v3

  2. Scaricare e decomprimere l'installazione di eSignerCKA

    – nome: Scarica e decomprimi l'installazione di eSignerCKA

      correre: |

          Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”

          Espandi-Archivio -Force eSigner_CKA_1.0.3.zip

          Rimuovi articolo eSigner_CKA_1.0.3.zip

          Sposta elemento -Destinazione "eSigner_CKA_1.0.3.exe" -Percorso "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"
  3. Installa eSignerCKA

    – nome: Imposta eSignerCKA in modalità silenziosa

      correre: |

          New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}

          ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.DIR_INSTALL }}” | Out-Null

  4. Imposta le informazioni sull'account SSL.com su eSignerCKA

    – nome: Config Account Information su eSignerCKA

      correre: |

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe configurazione -mode “${{ secrets.MODE }}” -user “${{ secrets.USERNAME }}”

         -pass “${{ segreti.PASSWORD }}” -totp “${{ segreti.TOTP_SECRET }}” -chiave “${{ env.MASTER_KEY_FILE }}” -r

  5. Scarica e carica il certificato nell'archivio certificati di Windows

    – nome: carica il certificato in Windows Store

      correre: |

          Scarica ${{ env.INSTALL_DIR }}/eSignerCKATool.exe

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe carico
  6. Selezionare il certificato di firma del codice e ottenere l'identificazione personale per la firma

    – nome: selezionare Certificato da Windows Store

      correre: |

          $CodeSigningCert = Certificato Get-ChildItem:CurrentUserMy -CodeSigningCert | Seleziona-Oggetto-Primo 1

          echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
  7. Firma artefatto con signtool

    – nome: Firma file di esempio con SignTool

      correre: |

          & '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 }}

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

Definire i componenti del flusso di lavoro

  1. Ccrea un file yml come .gitlab-ci.yml sotto la cartella.
  2. Utilizzato per selezionare i corridori dall'elenco dei corridori disponibili. Un corridore deve avere tutti i tag elencati qui per eseguire il lavoro.

    .windows_runners:

          tags:

                – finestre condivise

                - finestre

                – finestre-1809

  3. Raggruppa i lavori in fasi. Tutti i lavori in una fase devono essere completati prima che venga eseguita la fase successiva.

    fasi:

          - cartello

  4. Di seguito è riportata la definizione del tuo lavoro per firmare il file. Definire in quale fase verrà eseguito il lavoro.

    file di segno:

         stadio: segno

  5. Il nome di uno o più processi da cui ereditare la configurazione.

    estende:

         – .windows_runners
  6. Scrivi lo script per firmare il file.

    sceneggiatura:

    # Scarica e decomprimi l'installazione di 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 -ExecutionPolicy Bypass -Comando 'Sposta elemento -Destinazione “eSigner_CKA_1.0.3.exe” -Percorso “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'


    # Imposta eSignerCKA in modalità silenziosa

    – powershell.exe -ExecutionPolicy Bypass -Comando './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA”'


    # Controlla la directory di installazione

    – powershell.exe -ExecutionPolicy Bypass -Comando 'dir C:Usersgitlab_runnerDesktopeSignerCKA'


    # Informazioni sull'account di configurazione su eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Comando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}

         -utente “${USERNAME}” -pass “${PASSWORD}” -totp “${TOTP_SECRET}” -chiave “C:Usersgitlab_runnerAppDataRoamingeSignerCKAmaster.key” -r'


    # Scarica il certificato in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Comando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe scaricamento'


    # Carica il certificato in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Comando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe caricamento'


       # Controlla la directory dei dati

       – powershell.exe -ExecutionPolicy Bypass -Comando 'dir C:Usersgitlab_runnerAppDataRoamingeSignerCKA'


       # Controlla la directory dei dati di configurazione

       – powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamingeSignerCKAConfig'


    # Seleziona certificato da Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Seleziona-Oggetto -Primo 1; echo $CodeSigningCert.Identificazione personale > .Identificazione personale'

    # Identificazione personale del certificato di debug

    – powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $impronta personale'


    # Firma il file di esempio con SignTool

    – powershell.exe -ExecutionPolicy Bypass -Comando “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);

         'C:Programmi (x86)Windows Kits10bin10.0.17763.0x86signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”

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

Definire i componenti del flusso di lavoro

  1. Crea un file yml come .travis.yml nella cartella principale.
  2. Posizionare l'architettura della CPU su cui eseguire il lavoro.

    arco: amd64

  3. Lingua predefinita per eseguire lavori su Travis CI

    lingua: tagliente

  4. Il sistema operativo su cui eseguire il lavoro

    sistema operativo: windows

  5. Specificare l'ordine delle fasi. Tutti i lavori in una fase devono essere completati prima dell'esecuzione della fase successiva.

    fasi:

      - cartello

  6. Definire la fase di costruzione

    lavori:

      includono:

         – stadio: segno

  7. Il nome del lavoro

    nome: file-segno
  8. Il sistema operativo su cui eseguire il processo

    sistema operativo: windows
  9. Lingua corrente per eseguire lavori su Travis CI

    lingua: c
  10. Scrivere lo script Before da eseguire prima di creare il progetto

    prima_script:

        – powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:Userstravisbuildesigner-campioneeSignerCKASSLcom'

  11. Scrivi lo script per costruire il progetto.

    sceneggiatura:

    # Scarica e decomprimi l'installazione di 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 -ExecutionPolicy Bypass -Comando 'Sposta elemento -Destinazione “eSigner_CKA_1.0.3.exe” -Percorso “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'


    # Imposta eSignerCKA in modalità silenziosa

    – powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="C:Userstravisbuildesigner-campioneeSignerCKASSLcom” | Out-Null'


    # Controlla la directory di installazione

    – powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Userstravisbuildesigner-campioneeSignerCKASSLcom'


    # Informazioni sull'account di configurazione su eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Comando 'C:Userstravisbuildesigner-campioneeSignerCKASSLcomeSignerCKATool.exe config -mode ${MODE} -user “${USERNAME}”

       -pass “${PASSWORD}” -totp “${TOTP_SECRET}” -key “C:Userstravisbuildesigner-campioneeSignerCKASSLcommaster.key” -r'


    # Scarica il certificato in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Comando 'C:Userstravisbuildesigner-campioneScaricamento di eSignerCKASSLcomeSignerCKATool.exe'


    # Carica il certificato in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Comando 'C:Userstravisbuildesigner-campioneCaricamento di eSignerCKASSLcomeSignerCKATool.exe'


    # Seleziona certificato da Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Seleziona-Oggetto -Primo 1; echo $CodeSigningCert.Identificazione personale > .Identificazione personale'


    # Identificazione personale del certificato di debug

    – powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $impronta personale'


    # Firma il file di esempio con SignTool

    – powershell.exe -ExecutionPolicy Bypass -Comando “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); 'C:Programmi (x86)Windows Kits10binx64signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”

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.

Esci dalla versione mobile