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.

Hvordan integrere eSigner CKA med CI/CD-verktøy for automatisert kodesignering

De fire klikkbare fanene nedenfor viser hvordan du integrerer eSigner CKA med Continuous Integration/Continuous Delivery (CI/CD)-verktøy for automatisert kodesignering. Integrasjonsveiledninger for CircleCI, GitHub Actions, Gitlab CI og Travis CI er inkludert i tabellen. 

eSigner CKA (Cloud Key Adapter) er en Windows-basert applikasjon som bruker CNG-grensesnittet (KSP Key Service Provider) for å tillate verktøy som certutil.exe og signtool.exe å bruke eSigner Cloud Signature Consortium (CSC)-kompatibel API  for virksomhetskodesigneringsoperasjoner.

Tre forutsetninger må være oppfylt før man kan utføre eSigner-basert kodesignering på CI/CD-verktøy:

SSL.coms EV Kodesignering sertifikater bidrar til å beskytte koden din mot uautorisert tukling og kompromiss med det høyeste nivået av validering, og er tilgjengelige for så lite som $ 249 per år. Du kan også bruk EV Code Signing-sertifikatet i stor skala i skyen ved hjelp av eSigner.

BESTILL NÅ

Miljøvariabler
  • USERNAME: SSL.com-konto brukernavn. (Obligatorisk)
  • PASSORD: SSL.com-kontopassord (påkrevd)
  • TOTP_SECRET: OAuth TOTP-hemmelighet. Du kan få tilgang til detaljert informasjon om Automatiser eSigner EV-kodesignering – SSL.com (Nødvendig)
  • Veibeskrivelse: "sandbox" eller "produkt" (obligatorisk)
For eksempelkoder kan du se SSL.com Github-depot på: https://github.com/SSLcom/esigner-sample
CircleCI-integrasjonGitHub Actions-integrasjonGitlab CI-integrasjonTravis CI-integrasjon

.NET-kode DLL-signeringseksempel arbeidsflyt

Forbered komponentene i arbeidsflyten

  1. Opprett en .circleci-mappe på editoren. Inkluder arbeidsflyter med mappen og lag en yml-fil som config.yml under mappen.
  2. Still inn CircleCI-versjonen. Versjonsfeltet er ment å brukes for å utstede advarsler for avskrivning eller brudd på endringer.

    versjon: 2.1

  3. Orbs er gjenbrukbare pakker med CircleCI-konfigurasjon som du kan dele på tvers av prosjekter, slik at du kan lage innkapslede, parameteriserte kommandoer, jobber og utførere som kan brukes på tvers av flere prosjekter. For å bruke signtool-verktøyet må dette være vinduer.

    kuler:

       vinn: circleci/windows@5.0.0

  4. Påkalle jobber via arbeidsflyter. Arbeidsflyter orkestrerer et sett med jobber som skal kjøres. 

    arbeidsflyter:

       # Navnet på arbeidsflyten.

       sign-fil:

          # Inne i arbeidsflyten definerer du jobbene du vil kjøre.

             arbeidsplasser:

                – sign-fil

  5. Definer en jobb som skal startes senere i en arbeidsflyt.

    arbeidsplasser:

       sign-fil:

  6. Spesifiser utførelsesmiljøet. Vi må bruke Windows executer fordi signtool er nødvendig.

    eksekutor:

       navn: win/server-2019

       størrelse: medium

       variant: vs 2019

  7. Plasser arbeidskatalogen for jobben 

    arbeidskatalog: /home/circleci/project

  8. Legg til trinn i jobben Se: https://circleci.com/docs/2.0/configuration-reference/#steps  

    trinn:

  9. Sjekk ut kildekoden slik at arbeidsflyten får tilgang til den.

    - Sjekk ut

  10. Last ned og pakk ut eSignerCKA-oppsett

    - løpe:

          navn: Last ned og pakk ut eSignerCKA-oppsett

          kommando: |

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

             Expand-Archive -Force eSigner_CKA_Setup.zip

             Fjern-element eSigner_CKA_Setup.zip

             Flytt element -Destinasjon "eSigner_CKA_Installer.exe" - Bane "eSigner_CKA_*\*.exe"

  11. Installer eSignerCKA

    - løpe:

          navn: Sett opp eSignerCKA i stille modus

          kommando: |

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

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

  12. Angi SSLcom-kontoinformasjon på eSignerCKA

    - løpe:

          navn: Konfigurasjonskontoinformasjon på eSignerCKA

          kommando: |

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe config -modus $env:MODE -bruker "$env:USERNAME" -pass "$env:PASSWORD" -totp "$env:TOTP_SECRET" -nøkkel "/home/circleci /project/eSignerCKA/master.key” -r

  13. Last ned og last inn sertifikat til Windows sertifikatlager

    - løpe:

          navn: Last inn sertifikatet i Windows Store

          kommando: |

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

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

  14. Velg kodesigneringssertifikat og få thumbprint for signering og Signer artefakt med signtool

    - løpe:

          navn: Velg sertifikat fra Windows Store og signer prøvefil med SignTool

          kommando: |

                $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Velg-objekt -Først 1

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

.NET-kode DLL-signeringseksempel arbeidsflyt

Forbered komponentene i arbeidsflyten

  1. Opprett en .github/workflows-mappe på redigeringsprogrammet. Inkluder arbeidsflyter med mappen og lag en sign.yml-fil under mappen.
  2. Navngi prosjektet og typen arbeidsflyt som er involvert 

    Navn: Sign Artifact

  3. Utløs denne arbeidsflyten på et trykk 

    på: trykk

  4. Lag 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. Definer jobbene på redaktøren din

    arbeidsplasser:

     sign-fil:

  6. Kjør jobb på Windows Runnerkjører på: windows-nyeste

  7. Lag et navn. Når arbeidsflyten kjører, er dette navnet som logges.

    navn: Signer DLL-fil med eSignerCKA

Skisser fremgangsmåten for Sign-jobben

  1. Sjekk ut kildekoden slik at arbeidsflyten får tilgang til den.

    – navn: Checkout Repository

       bruker: actions/checkout@v3

  2. Last ned og pakk ut eSignerCKA-oppsett

    – navn: Last ned og pakk ut eSignerCKA-oppsett

      løp: |

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

          Expand-Archive -Force eSigner_CKA_Setup.zip

          Fjern-element eSigner_CKA_Setup.zip

          Flytt element -Destinasjon "eSigner_CKA_Installer.exe" - Bane "eSigner_CKA_*\*.exe"
  3. Installer eSignerCKA

    – navn: Sett opp eSignerCKA i stille modus

      løp: |

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

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

  4. Angi SSL.com-kontoinformasjon på eSignerCKA

    – navn: Konfigurasjonskontoinformasjon på eSignerCKA

      løp: |

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -modus "${{ secrets.MODE }}" -bruker "${{ secrets.USERNAME }}"

         -pass "${{ secrets.PASSWORD }}" -totp "${{ secrets.TOTP_SECRET }}" -nøkkel "${{ env.MASTER_KEY_FILE }}" -r

  5. Last ned og last inn sertifikat til Windows sertifikatlager

    – navn: Last inn sertifikatet i Windows Store

      løp: |

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

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe last
  6. Velg kodesigneringssertifikat og få tommelfingeravtrykk for signering

    – navn: Velg sertifikat fra Windows Store

      løp: |

          $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Velg-objekt -Først 1

          echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
  7. Skilt artefakt med skiltverktøy

    – navn: Signer prøvefil med SignTool

      løp: |

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

.NET-kode DLL-signeringseksempel arbeidsflyt

Definer komponentene i arbeidsflyten

  1. Create en yml-fil som .gitlab-ci.yml under mappen.
  2. Brukes til å velge løpere fra listen over tilgjengelige løpere. En løper må ha alle tagger oppført her for å kjøre jobben.

    .windows_runners:

          tags:

                – delte vinduer

                – vinduer

                – windows-1809

  3. Grupperer jobber i etapper. Alle jobber i ett trinn må fullføres før neste trinn utføres.

    stadier:

          – tegn

  4. Nedenfor er definisjonen av jobben din for å signere filen. Definer hvilket stadium jobben skal kjøre i.

    sign-fil:

         trinn: tegn

  5. Navnet på en eller flere jobber å arve konfigurasjonen fra.

    strekker:

         – .windows_runners
  6. Skriv skriptet for å signere filen.

    manus:

    # Last ned og pakk ut eSignerCKA-oppsett

       – 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" -Path "eSigner_CKA_*\*.exe“'


    # Sett opp eSignerCKA i stille modus

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


    # Sjekk installasjonskatalogen

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


    # Konfigurer kontoinformasjon på eSignerCKA

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

         -bruker "${USERNAME}" -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -nøkkel "C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key" -r'


    # Last ned sertifikatet i Windows Store

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


    # Last inn sertifikatet i Windows Store

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


       # Sjekk datakatalogen

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


       # Sjekk konfigurasjonsdatakatalogen

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


    # Velg sertifikat fra Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Velg-objekt -Første 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'

    # Debug Certificate Thumbprint

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


    # Signer prøvefil 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-kode DLL-signeringseksempel arbeidsflyt

Definer komponentene i arbeidsflyten

  1. Opprett en yml-fil som .travis.yml under rotmappen.
  2. Plasser CPU-arkitekturen for å kjøre jobben på.

    bue: amd64

  3. Standardspråk for å kjøre jobber på Travis CI

    språk: csharp

  4. Operativsystemet å kjøre jobben på

    os: vinduer

  5. Angi rekkefølgen på stadiene. Alle jobber i ett trinn må fullføres før neste trinn utføres.

    stadier:

      – tegn

  6. Definer byggestadiet

    arbeidsplasser:

      inkluderer:

         – scene: tegn

  7. Jobbens navn

    navn: sign-fil
  8. Operativsystemet å kjøre jobben på

    os: vinduer
  9. Nåværende språk for å kjøre jobber på Travis CI

    språk: c
  10. Skriv Før-skriptet som skal kjøres før du bygger prosjektet

    før_skript:

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

  11. Skriv manuset for å bygge prosjektet.

    manus:

    # Last ned og pakk ut eSignerCKA-oppsett

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'Invoke-WebRequest -OutFile eSigner_CKA_Oppsett.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"-sti"eSigner_CKA_*\*.exe“'


    # Sett opp eSignerCKA i stille modus

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


    # Sjekk installasjonskatalogen

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


    # Konfigurer kontoinformasjon på eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\esigner-prøve\eSignerCKA\SSLcom\eSignerCKATool.exe config -modus ${MODE} -bruker "${USERNAME}"

       -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -nøkkel "C:\Users\travis\build\esigner-prøve\eSignerCKA\SSLcom\master.key” -r'


    # Last ned sertifikatet i Windows Store

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


    # Last inn sertifikatet i Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\esigner-prøve\eSignerCKA\SSLcom\eSignerCKATool.exe last'


    # Velg sertifikat fra Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Velg-objekt -Første 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'


    # Debug Certificate Thumbprint

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


    # Signer prøvefil 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' ”


OBS: Som standard støtter SSL.com tidsstempler fra ECDSA-nøkler.

Hvis du støter på denne feilen: The timestamp certificate does not meet a minimum public key length requirement, bør du kontakte programvareleverandøren for å tillate tidsstempler fra ECDSA-nøkler.

Hvis det ikke er noen måte for programvareleverandøren din å tillate at det vanlige endepunktet brukes, kan du bruke dette eldre endepunktet http://ts.ssl.com/legacy for å få et tidsstempel fra en RSA Timestamping Unit.

Trenger du tilpassede løsninger? 

Med vår ekspertkunnskap og femstjerners støttepersonell er vi klare og villige til å samarbeide med deg om tilpassede løsninger eller store signeringsrabatter på bedriftsnivå. Fyll ut skjemaet under så tar vi kontakt.

Relatert Hvordan Tos

Abonner på SSL.coms nyhetsbrev

Hva er SSL /TLS?

Spill av video

Abonner på SSL.coms nyhetsbrev

Ikke gå glipp av nye artikler og oppdateringer fra SSL.com