Sitepictogram SSL.com

Hoe eSigner CKA te integreren met CI/CD-tools voor geautomatiseerde code-ondertekening

De twee onderstaande tabellen laten zien hoe u eSigner CKA kunt integreren Tools voor continue integratie/continue levering (CI/CD). For geautomatiseerde codeondertekening. Er zijn handleidingen voor CircleCI, GitHub Actions, Gitlab CI en Travis CI beschikbaar voor ondertekening .NET-bestanden. Er zijn handleidingen voor Azure Pipeline, GitHub Actions, Gitlab CI en Travis CI beschikbaar voor ondertekening .vsix-bestanden.

eSigner CKA (Cloud Key-adapter) is een op Windows gebaseerde applicatie die de CNG-interface (KSP Key Service Provider) gebruikt om tools zoals certutil.exe en signtool.exe de eSigner Cloud Signature Consortium (CSC)-compatibele API  voor ondertekening van bedrijfscodes. Er moet aan drie voorwaarden worden voldaan voordat eSigner-gebaseerde codeondertekening op CI/CD-tools kan worden uitgevoerd:

SSL.com's EV Code ondertekening certificaten helpen uw code te beschermen tegen ongeautoriseerde manipulatie en compromittering met het hoogste validatieniveau, en zijn beschikbaar voor slechts $ 249 per jaar. Je kan ook gebruik uw EV Code Signing-certificaat op schaal in de cloud met eSigner.

BESTEL NU

.vsix voorbeeldworkflows voor ondertekening

Omgevingsvariabelen
Voor voorbeeldcodes kunt u de SSL.com Github-repository op: https://github.com/SSLcom/esigner-sample

.NET-code-DLL Voorbeeldworkflows ondertekenen

CircleCI-integratieIntegratie van GitHub-actiesGitlab CI-integratieTravis CI-integratie

.NET Code DLL-ondertekening Voorbeeld workflow

Bereid de componenten van de workflow voor

  1. Maak een .circleci-map op uw editor. Voeg workflows toe aan de map en maak een yml-bestand als config.yml onder de map.
  2. Stel de CircleCI-versie in. Het versieveld is bedoeld om te worden gebruikt om waarschuwingen te geven voor afschrijving of brekende wijzigingen.

    versie: 2.1

  3. Orbs zijn herbruikbare pakketten van CircleCI-configuratie die u over projecten kunt delen, waardoor u ingekapselde, geparametriseerde opdrachten, taken en uitvoerders kunt maken die in meerdere projecten kunnen worden gebruikt. Om de signtool-tool te gebruiken, moet dit een venster zijn.

    lichtbollen:

       winnen: circleci/windows@5.0.0

  4. Roep jobs op via workflows. Workflows orkestreren een reeks uit te voeren taken. 

    werkstromen:

       # De naam van de werkstroom.

       sign-bestand:

          # Binnen de workflow definieert u de taken die u wilt uitvoeren.

             banen:

                – sign-bestand

  5. Definieer een taak die later in een workflow moet worden aangeroepen.

    banen:

       sign-bestand:

  6. Specificeer de uitvoeringsomgeving. We moeten de Windows-uitvoerder gebruiken omdat signtool nodig is.

    uitvoerder:

       naam: win/server-2019

       maat medium

       variant: versus 2019

  7. Plaats de werkmap voor de taak 

    werkmap: /home/circleci/project

  8. Voeg stappen toe aan de taak Zie: https://circleci.com/docs/2.0/configuration-reference/#steps  

    stappen:

  9. Bekijk de broncode zodat de workflow er toegang toe heeft.

    - uitchecken

  10. Download eSignerCKA Setup en pak het uit

    - rennen:

          naam: Download en pak eSignerCKA Setup uit

          opdracht: |

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

             Uitvouwen-archief -Forceer eSigner_CKA_1.0.3.zip

             Item verwijderen eSigner_CKA_1.0.3.zip

             Verplaats item - Bestemming “eSigner_CKA_1.0.3.exe” - Pad “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”

  11. Installeer eSignerCKA

    - rennen:

          naam: Stel eSignerCKA in Stille modus in

          opdracht: |

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

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

  12. Stel SSLcom-accountgegevens in op eSignerCKA

    - rennen:

          naam: Config-accountinformatie op eSignerCKA

          opdracht: |

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

  13. Certificaat uitladen en laden naar Windows-certificaatarchief

    - rennen:

          naam: Certificaat laden in Windows Store

          opdracht: |

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

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

  14. Selecteer het codeondertekeningscertificaat en verkrijg een vingerafdruk voor ondertekening en onderteken artefacten met signtool

    - rennen:

          naam: Selecteer Certificaat uit Windows Store en onderteken voorbeeldbestand met SignTool

          opdracht: |

                $CodeSigningCert = Get-ChildItem-certificaat:CurrentUserMy -CodeSigningCert | Selecteer-Object-Eerste 1

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

.NET Code DLL-ondertekening Voorbeeld workflow

Bereid de componenten van de workflow voor

  1. Maak een .github/workflows-map op je editor. Voeg workflows toe aan de map en maak een sign.yml-bestand onder de map.
  2. Geef uw project een naam en het type workflow dat erbij betrokken is 

    Naam: tekenartefact

  3. Activeer deze workflow met een push 

    aan: duwen

  4. Een omgevingsvariabele maken

    omgeving:

     MASTER_KEY: hoofdsleutel

     SIGNABLE_FILE_PATH: HalloWorld.dll

     INSTALL_DIR: C: UsersrunneradmineSignerCKA

     MASTER_KEY_FILE: C: UsersrunneradmineSignerCKAmaster.key

  5. Definieer de taken op uw editor

    banen:

     sign-bestand:

  6. Voer de taak uit op Windows Runnerdraait op: windows-nieuwste

  7. Maak een naam. Wanneer de workflow wordt uitgevoerd, is dit de naam die wordt vastgelegd.

    naam: DLL-bestand ondertekenen met eSignerCKA

Geef een overzicht van de stappen voor de tekentaak

  1. Bekijk de broncode zodat de workflow er toegang toe heeft.

    – naam: Checkout Repository

       gebruikt: acties/afrekenen@v3

  2. Download eSignerCKA Setup en pak het uit

    – naam: eSignerCKA Setup downloaden en uitpakken

      lopen: |

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

          Uitvouwen-archief -Forceer eSigner_CKA_1.0.3.zip

          Item verwijderen eSigner_CKA_1.0.3.zip

          Verplaats item - Bestemming “eSigner_CKA_1.0.3.exe” - Pad “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”
  3. Installeer eSignerCKA

    – naam: eSignerCKA instellen in stille modus

      lopen: |

          Nieuw-Item -ItemType Directory -Force -Pad ${{ env.INSTALL_DIR }}

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

  4. Stel SSL.com-accountgegevens in op eSignerCKA

    – naam: Config-accountinformatie op eSignerCKA

      lopen: |

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

         -pass “${{ geheimen.PASSWORD }}” -totp “${{ geheimen.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r

  5. Certificaat uitladen en laden naar Windows-certificaatarchief

    - naam: Laad certificaat in Windows Store

      lopen: |

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

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe wordt geladen
  6. Selecteer het codeondertekeningscertificaat en ontvang een vingerafdruk voor ondertekening

    – naam: Selecteer Certificaat uit Windows Store

      lopen: |

          $CodeSigningCert = Get-ChildItem-certificaat:CurrentUserMy -CodeSigningCert | Selecteer-Object-Eerste 1

          echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
  7. Onderteken artefact met signtool

    – naam: Voorbeeldbestand ondertekenen met SignTool

      lopen: |

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

.NET Code DLL-ondertekening Voorbeeld workflow

Definieer de componenten van de workflow

  1. CSla een yml-bestand op als .gitlab-ci.yml onder de map.
  2. Gebruikt om hardlopers te selecteren uit de lijst met beschikbare hardlopers. Een hardloper moet alle hier vermelde tags hebben om de taak uit te voeren.

    .windows_runners:

          tags:

                – gedeelde vensters

                - ramen

                – ramen-1809

  3. Groepeert taken in fasen. Alle taken in een fase moeten zijn voltooid voordat de volgende fase wordt uitgevoerd.

    stadia:

          - teken

  4. Hieronder vindt u de definitie van uw taak om het bestand te ondertekenen. Definieer in welke fase de taak zal worden uitgevoerd.

    sign-bestand:

         stadium: teken

  5. De naam van een of meer taken waarvan de configuratie moet worden overgenomen.

    strekt zich uit:

         – .windows_runners
  6. Schrijf het script om het bestand te ondertekenen.

    script:

    # Download eSignerCKA Setup en pak het uit

       – powershell.exe -ExecutionPolicy Bypass -Commando '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 -Commando 'Uitvouwen-archief -Forceer eSigner_CKA_1.0.3.zip'

       – powershell.exe -ExecutionPolicy Bypass -Opdracht 'Verwijder-item eSigner_CKA_1.0.3.zip'

       – powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Bestemming “eSigner_CKA_1.0.3.exe” -Pad “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'


    # Stel eSignerCKA in Stille modus in

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


    # Controleer de installatiemap

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


    # Accountgegevens configureren op eSignerCKA

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

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


    # Certificaat uitladen in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Commando 'C: Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe unload'


    # Laad certificaat in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command 'C: Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe laden'


       # Controleer de gegevensmap

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


       # Controleer de map met configuratiegegevens

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


    # Selecteer Certificaat uit Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Selecteer-Object-Eerste 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'

    # Debug Certificaat Vingerafdruk

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


    # Onderteken voorbeeldbestand met SignTool

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

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

.NET Code DLL-ondertekening Voorbeeld workflow

Definieer de componenten van de workflow

  1. Maak een yml-bestand als .travis.yml onder de hoofdmap.
  2. Plaats de CPU-architectuur waarop de taak moet worden uitgevoerd.

    boog: amd64

  3. Standaardtaal om taken op Travis CI uit te voeren

    taal: csharp

  4. Het besturingssysteem om de taak uit te voeren

    os: ramen

  5. Geef de volgorde van de fasen op. Alle taken in één fase moeten worden voltooid voordat de volgende fase wordt uitgevoerd.

    stadia:

      - teken

  6. Definieer de bouwfase

    banen:

      omvatten:

         – podium: teken

  7. De taaknaam

    naam: sign-bestand
  8. Het besturingssysteem om de taak uit te voeren

    os: ramen
  9. Huidige taal om taken op Travis CI uit te voeren

    taal: c
  10. Schrijf het Before-script dat moet worden uitgevoerd voordat het project wordt gebouwd

    voor_script:

        – powershell.exe -ExecutionPolicy Bypass -Command 'Nieuw-Item -ItemType Directory -Force -Pad C: Userstravisbuildesigner-voorbeeldeSignerCKASSLcom'

  11. Schrijf het script om het project te bouwen.

    script:

    # Download eSignerCKA Setup en pak het uit

    – powershell.exe -ExecutionPolicy Bypass -Commando '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 -Commando 'Uitvouwen-archief -Forceer eSigner_CKA_1.0.3.zip'

    – powershell.exe -ExecutionPolicy Bypass -Opdracht 'Verwijder-item eSigner_CKA_1.0.3.zip'

    – powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Bestemming “eSigner_CKA_1.0.3.exe” -Pad “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'


    # Stel eSignerCKA in Stille modus in

    – powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildesigner-voorbeeldeSignerCKASSLcom” | Uit-nul'


    # Controleer de installatiemap

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


    # Accountgegevens configureren op eSignerCKA

    – powershell.exe -ExecutionPolicy Bypass -Commando 'C: Userstravisbuildesigner-voorbeeldeSignerCKASSLcomeSignerCKATool.exe configuratie -modus ${MODE} -gebruiker “${USERNAME}”

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


    # Certificaat uitladen in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Commando 'C: Userstravisbuildesigner-voorbeeldeSignerCKASSLcomeSignerCKATool.exe verwijderen'


    # Laad certificaat in Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Commando 'C: Userstravisbuildesigner-voorbeeldeSignerCKASSLcomeSignerCKATool.exe laden'


    # Selecteer Certificaat uit Windows Store

    – powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Selecteer-Object-Eerste 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'


    # Debug Certificaat Vingerafdruk

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


    # Onderteken voorbeeldbestand met SignTool

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

Oplossingen op maat nodig? 

Met onze deskundige kennis en vijfsterrenondersteuningspersoneel staan ​​we klaar en bereid om met u samen te werken aan aangepaste oplossingen of grote ondertekeningskortingen op ondernemingsniveau. Vul het onderstaande formulier in en we nemen contact met je op.

Verlaat de mobiele versie