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:
- Koop een SSL.com EV Code Signing-certificaat
- Registreer uw certificaat voor codeondertekening in eSigner
- Download en installeer eSigner CKA
.vsix voorbeeldworkflows voor ondertekening
Omgevingsvariabelen- USERNAME: gebruikersnaam van SSL.com-account. (Verplicht)
- WACHTWOORD: SSL.com-accountwachtwoord (vereist)
- TOTP_GEHEIM: OAuth TOTP-geheim. U hebt toegang tot gedetailleerde informatie over: Automatiseer eSigner EV Code Signing – SSL.com (Verplicht)
- MODUS: 'sandbox' of 'product' (vereist)
.NET-code-DLL Voorbeeldworkflows ondertekenen
.NET Code DLL-ondertekening Voorbeeld workflow
Bereid de componenten van de workflow voor
- Maak een .circleci-map op uw editor. Voeg workflows toe aan de map en maak een yml-bestand als config.yml onder de map.
- 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
-
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
-
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
- Definieer een taak die later in een workflow moet worden aangeroepen.
banen:
sign-bestand:
- Specificeer de uitvoeringsomgeving. We moeten de Windows-uitvoerder gebruiken omdat signtool nodig is.
uitvoerder:
naam: win/server-2019
maat medium
variant: versus 2019
- Plaats de werkmap voor de taak
werkmap: /home/circleci/project
- Voeg stappen toe aan de taak Zie: https://circleci.com/docs/2.0/configuration-reference/#steps
stappen:
- Bekijk de broncode zodat de workflow er toegang toe heeft.
- uitchecken
- 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”
- 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
- 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
- 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
- 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
- Maak een .github/workflows-map op je editor. Voeg workflows toe aan de map en maak een sign.yml-bestand onder de map.
- Geef uw project een naam en het type workflow dat erbij betrokken is
Naam: tekenartefact
-
Activeer deze workflow met een push
aan: duwen
-
Een omgevingsvariabele maken
omgeving:
MASTER_KEY: hoofdsleutel
SIGNABLE_FILE_PATH: HalloWorld.dll
INSTALL_DIR: C: UsersrunneradmineSignerCKA
MASTER_KEY_FILE: C: UsersrunneradmineSignerCKAmaster.key
-
Definieer de taken op uw editor
banen:
sign-bestand:
-
Voer de taak uit op Windows Runnerdraait op: windows-nieuwste
-
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
-
Bekijk de broncode zodat de workflow er toegang toe heeft.
– naam: Checkout Repository
gebruikt: acties/afrekenen@v3
- 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” - 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
- 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
- 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 - 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 - 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
- CSla een yml-bestand op als .gitlab-ci.yml onder de map.
- 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
- Groepeert taken in fasen. Alle taken in een fase moeten zijn voltooid voordat de volgende fase wordt uitgevoerd.
stadia:
- teken
- 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
- De naam van een of meer taken waarvan de configuratie moet worden overgenomen.
strekt zich uit:
– .windows_runners - 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
- Maak een yml-bestand als .travis.yml onder de hoofdmap.
- Plaats de CPU-architectuur waarop de taak moet worden uitgevoerd.
boog: amd64
- Standaardtaal om taken op Travis CI uit te voeren
taal: csharp
- Het besturingssysteem om de taak uit te voeren
os: ramen
- Geef de volgorde van de fasen op. Alle taken in één fase moeten worden voltooid voordat de volgende fase wordt uitgevoerd.
stadia:
- teken
- Definieer de bouwfase
banen:
omvatten:
– podium: teken
-
De taaknaam
naam: sign-bestand -
Het besturingssysteem om de taak uit te voeren
os: ramen -
Huidige taal om taken op Travis CI uit te voeren
taal: c -
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'
-
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.