en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Hur man integrerar eSigner CKA med CI/CD-verktyg för automatisk kodsignering

De fyra klickbara flikarna nedan visar hur man integrerar eSigner CKA med Continuous Integration/Continuous Delivery (CI/CD)-verktyg för automatiserad kodsignering. Integrationsguider för CircleCI, GitHub Actions, Gitlab CI och Travis CI ingår i tabellen. 

eSigner CKA (Cloud Key Adapter) är en Windows-baserad applikation som använder CNG-gränssnittet (KSP Key Service Provider) för att tillåta verktyg som certutil.exe och signtool.exe att använda eSigner Cloud Signature Consortium (CSC)-kompatibelt API  för företagskodsignering.

Tre förutsättningar måste uppfyllas för att kunna utföra eSigner-baserad kodsignering på CI/CD-verktyg:

SSL.com s EV Kodsignering certifikat hjälper till att skydda din kod från obehörig manipulering och kompromissa med den högsta nivån av validering, och är tillgängliga för så lite som $ 249 per år. Du kan också använd ditt EV Code Signing-certifikat i stor skala i molnet med eSigner.

BESTÄLL NU

Miljövariabler
  • USERNAME: Användarnamn för SSL.com-konto. (Nödvändig)
  • LÖSENORD: Lösenord för SSL.com-konto (krävs)
  • TOTP_SECRET: OAuth TOTP-hemlighet. Du kan komma åt detaljerad information om Automatisera eSigner EV Code Signing – SSL.com (Nödvändig)
  • Vägbeskrivning: 'sandlåda' eller 'produkt' (obligatoriskt)
För exempelkoder kan du se SSL.com Github repository på: https://github.com/SSLcom/esigner-sample
CircleCI-integrationGitHub Actions IntegrationGitlab CI-integrationTravis CI-integration

.NET-kod DLL-signeringsexempel arbetsflöde

Förbered komponenterna i arbetsflödet

  1. Skapa en .circleci-mapp i din editor. Inkludera arbetsflöden med mappen och skapa en yml-fil som config.yml under mappen.
  2. Ställ in CircleCI-versionen. Versionsfältet är avsett att användas för att utfärda varningar för utfasning eller avbrytande ändringar.

    version: 2.1

  3. Orbs är återanvändbara paket med CircleCI-konfiguration som du kan dela mellan projekt, vilket gör att du kan skapa inkapslade, parametriserade kommandon, jobb och exekverare som kan användas i flera projekt. För att använda signtool-verktyget måste detta vara fönster.

    klot:

       vinna: circleci/windows@5.0.0

  4. Anropa jobb via arbetsflöden. Arbetsflöden orkestrerar en uppsättning jobb som ska köras. 

    arbetsflöden:

       # Namnet på arbetsflödet.

       sign-fil:

          # Inuti arbetsflödet definierar du de jobb du vill köra.

             jobb:

                – sign-fil

  5. Definiera ett jobb som ska anropas senare i ett arbetsflöde.

    jobb:

       sign-fil:

  6. Ange exekveringsmiljön. Vi måste använda Windows executer eftersom signtool behövs.

    testamentsexekutor:

       namn: win/server-2019

       storlek: medium

       variant: vs 2019

  7. Placera arbetskatalogen för jobbet 

    arbetskatalog: /home/circleci/project

  8. Lägg till steg i jobbet Se: https://circleci.com/docs/2.0/configuration-reference/#steps  

    steg:

  9. Kolla in källkoden så att arbetsflödet kan komma åt den.

    - kolla upp

  10. Ladda ner och packa upp eSignerCKA Setup

    - springa:

          namn: Ladda ner och packa upp eSignerCKA Setup

          kommando: |

             Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”

             Expand-Archive -Force eSigner_CKA_Setup.zip

             Remove-Item eSigner_CKA_Setup.zip

             Flytta objekt -Destination "eSigner_CKA_Installer.exe" -Sökväg "eSigner_CKA_*\*.exe"

  11. Installera eSignerCKA

    - springa:

          namn: Ställ in eSignerCKA i tyst läge

          kommando: |

                mkdir -p “/home/circleci/project/eSignerCKA”

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

  12. Ställ in SSLcom-kontoinformation på eSignerCKA

    - springa:

          namn: Config Kontoinformation på eSignerCKA

          kommando: |

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

  13. Ladda ur och ladda certifikat till Windows certifikatarkiv

    - springa:

          namn: Ladda certifikat i Windows Store

          kommando: |

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

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

  14. Välj kodsigneringscertifikat och få tumavtryck för signering och Signera artefakt med signtool

    - springa:

          namn: Välj certifikat från Windows Store och signera exempelfil med SignTool

          kommando: |

                $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-objekt -Först 1

                & 'C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe' tecken /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 “$($ CodeSigningCert.Thumbprint)” “HelloWorld.dll”

.NET-kod DLL-signeringsexempel arbetsflöde

Förbered komponenterna i arbetsflödet

  1. Skapa en .github/workflows-mapp i din editor. Inkludera arbetsflöden med mappen och skapa en sign.yml-fil under mappen.
  2. Namnge ditt projekt och vilken typ av arbetsflöde som ingår 

    Namn: Sign Artifact

  3. Utlösa detta arbetsflöde på en push 

    på: tryck

  4. Skapa en miljövariabel

    env:

     MASTER_KEY: master.key

     SIGNABLE_FILE_PATH: HelloWorld.dll

     INSTALL_DIR: C:\Users\runneradmin\eSignerCKA

     MASTER_KEY_FILE: C:\Users\runneradmin\eSignerCKA\master.key

  5. Definiera jobben på din editor

    jobb:

     sign-fil:

  6. Kör jobb på Windows Runnerkörs-på: windows-senaste

  7. Skapa ett namn. När arbetsflödet körs är detta namnet som loggas.

    namn: Signera DLL-fil med eSignerCKA

Beskriv stegen för Sign-jobbet

  1. Kolla in källkoden så att arbetsflödet kan komma åt den.

    – namn: Checkout Repository

       använder: actions/checkout@v3

  2. Ladda ner och packa upp eSignerCKA Setup

    – namn: Ladda ner och packa upp eSignerCKA Setup

      kör: |

          Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”

          Expand-Archive -Force eSigner_CKA_Setup.zip

          Remove-Item eSigner_CKA_Setup.zip

          Flytta objekt -Destination "eSigner_CKA_Installer.exe" -Sökväg "eSigner_CKA_*\*.exe"
  3. Installera eSignerCKA

    – namn: Ställ in eSignerCKA i tyst läge

      kör: |

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

          ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Out-Null

  4. Ställ in SSL.com-kontoinformation på eSignerCKA

    – namn: Config Account Information på eSignerCKA

      kör: |

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -användare "${{ secrets.USERNAME }}"

         -passa "${{ secrets.PASSWORD }}" -totp "${{ secrets.TOTP_SECRET }}" -nyckel "${{ env.MASTER_KEY_FILE }}" -r

  5. Ladda ur och ladda certifikat till Windows certifikatarkiv

    – namn: Ladda certifikat i Windows Store

      kör: |

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

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe laddas
  6. Välj kodsigneringscertifikat och få tumavtryck för signering

    – namn: Välj certifikat från Windows Store

      kör: |

          $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-objekt -Först 1

          echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
  7. Sign artefakt med signtool

    – namn: Signera provfil med SignTool

      kör: |

          & 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' tecken /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}

.NET-kod DLL-signeringsexempel arbetsflöde

Definiera komponenterna i arbetsflödet

  1. Cskriv en yml-fil som .gitlab-ci.yml under mappen.
  2. Används för att välja löpare från listan över tillgängliga löpare. En löpare måste ha alla taggar listade här för att köra jobbet.

    .windows_runners:

          Taggar:

                – delade fönster

                – fönster

                – windows-1809

  3. Grupperar jobb i etapper. Alla jobb i ett steg måste slutföras innan nästa steg kan utföras.

    steg:

          - tecken

  4. Nedan är definitionen av ditt jobb att signera fil. Definiera i vilket stadium jobbet ska köras.

    sign-fil:

         scen: tecken

  5. Namnet på ett eller flera jobb att ärva konfigurationen från.

    förlänger:

         – .windows_runners
  6. Skriv skriptet för att signera filen.

    manus:

    # Ladda ner och packa upp eSignerCKA Setup

       – powershell.exe -ExecutionPolicy Bypass -Kommando 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip "https://www.ssl.com/download/ssl-com-esigner-cka"'

       – powershell.exe -ExecutionPolicy Bypass -Kommando 'Expand-Archive -Force eSigner_CKA_Setup.zip'

       – powershell.exe -ExecutionPolicy Bypass -Kommando 'Remove-Item eSigner_CKA_Setup.zip'

       – powershell.exe -ExecutionPolicy Bypass -Kommando 'Move-Item -Destination "eSigner_CKA_Installer.exe" -Sökväg "eSigner_CKA_*\*.exe”'


    # Ställ in eSignerCKA i tyst läge

    – powershell.exe -ExecutionPolicy Bypass -Kommando './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA”'


    # Kontrollera installationskatalogen

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\gitlab_runner\Desktop\eSignerCKA'


    # Konfigurera kontoinformation på eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE}

         -användare "${USERNAME}" -passera "${PASSWORD}" -totp "${TOTP_SECRET}" -nyckel "C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key" -r'


    # Ladda ur certifikat till Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe unload'


    # Ladda certifikat i Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe load'


       # Kontrollera datakatalogen

       – powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA'


       # Kontrollera konfigurationsdatakatalogen

       – powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config'


    # Välj certifikat från Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-Objekt -Första 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'

    # Debug Certificate Thumbprint

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


    # Signera provfil med SignTool

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

         '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 $Thumbprint HelloWorld.dll'"

.NET-kod DLL-signeringsexempel arbetsflöde

Definiera komponenterna i arbetsflödet

  1. Skapa en yml-fil som .travis.yml under rotmappen.
  2. Placera CPU-arkitekturen för att köra jobbet på.

    båge: amd64

  3. Standardspråk för att köra jobb på Travis CI

    språk: csharp

  4. Operativsystemet att köra jobbet på

    OS: Windows

  5. Ange ordningen på stegen. Alla jobb i ett steg måste slutföras innan nästa steg utförs.

    steg:

      - tecken

  6. Definiera byggstadiet

    jobb:

      innefattar:

         – scen: tecken

  7. Jobbets namn

    namn: sign-fil
  8. Operativsystemet att köra jobbet på

    OS: Windows
  9. Aktuellt språk för att köra jobb på Travis CI

    språk: c
  10. Skriv före-skriptet som ska köras innan du bygger projektet

    före_skript:

        – powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom'

  11. Skriv manuset för att bygga projektet.

    manus:

    # Ladda ner och packa upp eSignerCKA Setup

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'Invoke-WebRequest -OutFile eSigner_CKA_Uppstart.zip “https://www.ssl.com/download/ssl-com-esigner-cka”'

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'Expand-Archive -Force eSigner_CKA_Setup.zip'

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'Remove-Item eSigner_CKA_Setup.zip'

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'Move-Item -Destination'eSigner_CKA_Installer.exe"-väg"eSigner_CKA_*\*.exe”'


    # Ställ in eSignerCKA i tyst läge

    – powershell.exe -ExecutionPolicy Bypass -Kommando './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom” | Out-Null'


    # Kontrollera installationskatalogen

    – powershell.exe -ExecutionPolicy Bypass -Command 'dir C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom'


    # Konfigurera kontoinformation på eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -användare "${USERNAME}"

       -passera "${PASSWORD}" -totp "${TOTP_SECRET}" -nyckel "C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom\master.key” -r'


    # Ladda ur certifikat till Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom\eSignerCKATool.exe unload'


    # Ladda certifikat i Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\esigner-prov\eSignerCKA\SSLcom\eSignerCKATool.exe load'


    # Välj certifikat från Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-Objekt -Första 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'


    # Debug Certificate Thumbprint

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


    # Signera provfil med SignTool

    – powershell.exe -ExecutionPolicy Bypass -Kommando "Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); 'C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll' ”


Notera: Som standard stöder SSL.com tidsstämplar från ECDSA-nycklar.

Om du stöter på det här felet: The timestamp certificate does not meet a minimum public key length requirement, bör du kontakta din programvaruleverantör för att tillåta tidsstämplar från ECDSA-nycklar.

Om det inte finns något sätt för din programvaruleverantör att tillåta att den normala slutpunkten används, kan du använda denna äldre slutpunkt http://ts.ssl.com/legacy för att få en tidsstämpel från en RSA Timestamping Unit.

Behöver du anpassade lösningar? 

Med vår expertkunskap och femstjärniga supportpersonal är vi redo och villiga att arbeta med dig på skräddarsydda lösningar eller rabatter på stora volymer av signering på företagsnivå. Fyll i formuläret nedan så hör vi av oss.

Relaterade hur Tos

Prenumerera på SSL.coms nyhetsbrev

Vad är SSL /TLS?

Spela filmen

Prenumerera på SSL.coms nyhetsbrev

Missa inte nya artiklar och uppdateringar från SSL.com