eSigner CKA (Cloud Key Adapter) er et Windows-baseret program, der bruger CNG-grænsefladen (KSP Key Service Provider) til at tillade værktøjer som certutil.exe og signtool.exe at bruge eSigner Cloud Signature Consortium (CSC)-kompatibel API til virksomhedskodesigneringsoperationer. Tre forudsætninger skal være opfyldt, før man kan udføre eSigner-baseret kodesignering på CI/CD-værktøjer:
- Køb et SSL.com EV-kodesigneringscertifikat
- Tilmeld dit kodesigneringscertifikat i eSigner
- Download og installer automatiseret eSigner CKA
.vsix Signeringseksempler på arbejdsgange
Miljøvariabler- USERNAME: SSL.com konto brugernavn. (Påkrævet)
- PASSWORD: SSL.com kontoadgangskode (påkrævet)
- TOTP_SECRET: OAuth TOTP-hemmelighed. Du kan få adgang til detaljerede oplysninger om Automatiser eSigner EV Code Signing – SSL.com (Påkrævet)
- MODE: 'sandbox' eller 'produkt' (påkrævet)
.vsix Signeringseksempel Workflow
# Navnet på arbejdsgangen.
navn: Tegn Artefakt
# Udløs denne arbejdsgang ved et tryk
på: skubbe
# Opret en miljøvariabel
env:
MASTER_KEY: master.key
SIGNABLE_FILE_PATH: HelloWorld.dll
SIGNABLE_VSIX_FILE_PATH: SSLcom.vsix
INSTALL_DIR: C:\Users\runneradmin\eSignerCKA
MASTER_KEY_FILE: C:\Users\runneradmin\eSignerCKA\master.key
job:
# Definerer job med navnet "sign-file"
sign-fil:
# Kør job på Windows Runner
kører-på: windows-seneste
# Når arbejdsgangen kører, er dette navnet, der logges
navn: Signer DLL-fil med eSignerCKA
trin:
# 1) Tjek kildekoden, så arbejdsgangen kan få adgang til den.
– navn: Checkout Repository
bruger: actions/checkout@v3
# 2) Download og Unzip eSignerCKA-opsætning
– navn: Download og Unzip eSignerCKA-opsætning
køre: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip "https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip"
Expand-Archive -Force eSigner_CKA_Setup.zip
Fjern-element eSigner_CKA_Setup.zip
Flyt-element -Destination "eSigner_CKA_Installer.exe" -Sti "eSigner_CKA_*\*.exe"
# 3) Installer eSignerCKA
– navn: Konfigurer eSignerCKA i lydløs tilstand
køre: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Ud-Nul
# 4) Indstil SSLcom-kontooplysninger
– navn: Konfigurationskontooplysninger på eSignerCKA
køre: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -bruger "${{ secrets.USERNAME }}" -pass "${{ secrets.PASSWORD }}" - totp "${{ secrets.TOTP_SECRET }}" -tast "${{ env.MASTER_KEY_FILE }}" -r
# 5) Aflæs og indlæs certifikat til Windows certifikatlager
– navn: Indlæs certifikat i Windows Store
køre: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe unload
${{ env.INSTALL_DIR }}/eSignerCKATool.exe indlæses
# 6) Vælg kodesigneringscertifikat og få thumprint for signering
– navn: Vælg certifikat fra Windows Store
køre: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-objekt - Først 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
# 7) Tegn artefakt med signtool
– navn: Signer prøvefil med SignTool
køre: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe' tegn /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
# 8) Upload eSignerCKA-logfiler
– navn: Upload eSignerCKA-logfiler
bruger: actions/upload-artifact@v3
if: ${{ altid() }}
med:
navn: eSignerCKA-Logs-DLL
sti: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
# Definerer job med navnet "sign-vsix-file"
sign-vsix-fil:
# Kør job på Windows Runner
kører-på: windows-seneste
# Når arbejdsgangen kører, er dette navnet, der logges
navn: Signer VSIX-fil med eSignerCKA
trin:
# 1) Tjek kildekoden, så arbejdsgangen kan få adgang til den.
– navn: Checkout Repository
bruger: actions/checkout@v3
# 2) Konfigurer .NET CLI-miljøet til arbejdsgangen, der skal bruges.
– navn: Opsætning af Dotnet Core
køre: |
choco installer dotnet-runtime -y
# 3) Download og Unzip eSignerCKA-opsætning
– navn: Download og Unzip eSignerCKA-opsætning
køre: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip "https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip"
Expand-Archive -Force eSigner_CKA_Setup.zip
Fjern-element eSigner_CKA_Setup.zip
Flyt-element -Destination "eSigner_CKA_Installer.exe" -Sti "eSigner_CKA_*\*.exe"
# 4) Installer eSignerCKA
– navn: Konfigurer eSignerCKA i lydløs tilstand
køre: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Ud-Nul
# 5) Indstil SSLcom-kontooplysninger
– navn: Konfigurationskontooplysninger på eSignerCKA
køre: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -bruger "${{ secrets.USERNAME }}" -pass "${{ secrets.PASSWORD }}" - totp "${{ secrets.TOTP_SECRET }}" -tast "${{ env.MASTER_KEY_FILE }}" -r
# 6) Aflæs og indlæs certifikat til Windows certifikatlager
– navn: Indlæs certifikat i Windows Store
køre: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe unload
${{ env.INSTALL_DIR }}/eSignerCKATool.exe indlæses
# 7) Vælg kodesigneringscertifikat og få thumprint for signering
– navn: Vælg certifikat fra Windows Store
køre: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-objekt - Først 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
# 8) Installer OpenVsixSignTool til brugerdefineret placering (https://github.com/vcsjones/OpenOpcSignTool)
– navn: Installer OpenOpcSignTool
køre: |
New-Item -ItemType Directory -Force -Path C:\Users\runneradmin\Desktop\dotnet-tools
Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
Move-Item -Sti OpenVsixSignTool.zip -Destination C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool.zip
Expand-Archive -LiteralPath C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\runneradmin\Desktop\dotnet-tools -Force
# 9) Signer artefakt med OpenOpcSignTool
– navn: Signer prøvefil med OpenVsixSignTool
køre: |
C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward Seneste Hovedtegn –sha1 ${{ env.THUMBPRINT }} –tidsstempel http://ts.ssl.com -ta sha256 -fd sha256 “${ { env.SIGNABLE_VSIX_FILE_PATH }}"
# 10) Upload eSignerCKA-logfiler
– navn: Upload eSignerCKA-logfiler
bruger: actions/upload-artifact@v3
if: ${{ altid() }}
med:
navn: eSignerCKA-Logs-VSIX
sti: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
.vsix Signeringseksempel Workflow
# Kontinuerlig integration udløser
udløser:
- ingen
# Grupperer job i faser. Alle opgaver i én fase skal udføres, før næste fase udføres.
niveauer:
– scene: tegn
# Når arbejdsgangen kører, er dette navnet, der logges
displayName: Sign File
job:
- job:
pool:
# Kør job på Windows VM'er
vmImage: 'Windows-nyeste'
trin:
# Download og Unzip eSignerCKA-opsætning
– powershell: |
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
Flyt-element -Destination "eSigner_CKA_Installer.exe" -Sti "eSigner_CKA_*\*.exe"
displayName: 'Download og Unzip eSignerCKA Setup'
# Opsæt eSignerCKA i Silent Mode og Tjek installationsmappen
– powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | Ud-Nul
dir $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'Opsæt eSignerCKA i lydløs tilstand'
# Konfig kontooplysninger på eSignerCKA
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -bruger "$(USERNAME)" -pass "$(PASSWORD)" -totp "$(TOTP_SECRET)" -tast "$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key" -r
displayName: 'Config Account Information on eSignerCKA'
# Aflæs og indlæs certifikat i Windows Store
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe unload
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe indlæses
displayName: 'Aflæs og indlæs certifikat i Windows Store'
# Vælg certifikat fra Windows Store og underskriv prøvefil med SignTool
– powershell: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-Objekt -Første 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Thumbprint
& “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 $Thumbprint HelloWorld.dll
displayName: 'Signer prøvefil med SignTool'
# Gem artefakt for at bruge signeringsjob
– opgave: PublishBuildArtifacts@1
displayName: 'Gem for at blive signeret artefakt til download'
inputs:
pathtoPublish: HelloWorld.dll
artefaktnavn: HelloWorld.dll
– fase: tegn_vsix
# Når arbejdsgangen kører, er dette navnet, der logges
displaynavn: Tegn VSIX
job:
- job:
pool:
# Kør job på Windows VM'er
vmImage: 'Windows-nyeste'
trin:
# Download og Unzip eSignerCKA-opsætning
– powershell: |
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
Flyt-element -Destination "eSigner_CKA_Installer.exe" -Sti "eSigner_CKA_*\*.exe"
displayName: 'Download og Unzip eSignerCKA Setup'
# Opsæt eSignerCKA i Silent Mode og Tjek installationsmappen
– powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | Ud-Nul
dir $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'Opsæt eSignerCKA i lydløs tilstand'
# Konfig kontooplysninger på eSignerCKA
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -bruger "$(USERNAME)" -pass "$(PASSWORD)" -totp "$(TOTP_SECRET)" -tast "$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key" -r
displayName: 'Config Account Information on eSignerCKA'
# Aflæs og indlæs certifikat i Windows Store
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe unload
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe indlæses
displayName: 'Aflæs og indlæs certifikat i Windows Store'
# Installer OpenVsixSignTool til brugerdefineret placering (https://github.com/vcsjones/OpenOpcSignTool)
– powershell: |
New-Item -ItemType Directory -Force -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools
Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
Move-Item -Sti OpenVsixSignTool.zip -Destination $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip
Expand-Archive -LiteralPath $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools -Force
displayName: 'Installer OpenVsixSignTool til brugerdefineret placering'
# Vælg certifikat fra Windows Store og underskriv prøvefil med OpenOpcSignTool
– powershell: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-Objekt -Første 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Thumbprint
$(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward Seneste store tegn –sha1 $Thumbprint –tidsstempel http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix
displayName: 'Signer prøvefil med OpenOpcSignTool'
# Gem artefakt for at bruge signeringsjob
– opgave: PublishBuildArtifacts@1
displayName: 'Gem for at blive signeret artefakt til download'
inputs:
pathtoPublish: SSLcom.vsix
artefaktnavn: SSLcom.vsix
# Windows Runner
.windows_runners:
# Bruges til at vælge løbere fra listen over tilgængelige løbere. En løber skal have alle tags anført her for at køre jobbet.
tags:
– delte vinduer
– vinduer
– windows-1809
# Grupperer job i faser. Alle opgaver i én fase skal udføres, før næste fase udføres.
niveauer:
- skilt
# Nedenfor er definitionen af dit job til at underskrive fil
sign-fil:
# Definer, hvilket stadium jobbet skal køre i.
etape: tegn
# Runner for Sign File på Windows
strækker sig:
– .windows_runners
før_script:
# Opret Installer Dir
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
manuskript:
# Download og Unzip eSignerCKA-opsætning
– 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
– Flyt-element -Destination "eSigner_CKA_Installer.exe" -Sti "eSigner_CKA_*\*.exe"
# Konfigurer eSignerCKA i lydløs tilstand
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | Ud-Nul
# Tjek installationsmappen
– dir C:\Users\gitlab_runner\Desktop\eSignerCKA
# Tjek installationsmappen
– Get-ChildItem -Sti C:\Users\gitlab_runner\Desktop\eSignerCKA
# Konfig kontooplysninger på eSignerCKA
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -bruger "${USERNAME}" -passer "${PASSWORD}" -totp "${TOTP_SECRET}" -tast "C :\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key” -r
# Fjern certifikat i Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe unload
# Indlæs certifikat i Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe indlæses
# Tjek databiblioteket
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Tjek konfigurationsdatabiblioteket
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Vælg certifikat fra Windows Store
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-Objekt -Første 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Debug Certificate Thumbprint
– 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'"
# Nedenfor er definitionen af dit job til at underskrive fil
tegn-vsix:
# Definer, hvilket stadium jobbet skal køre i.
etape: tegn
# Runner for Sign File på Windows
strækker sig:
– .windows_runners
før_script:
# Opret Installer Dir
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
manuskript:
# Download og Unzip eSignerCKA-opsætning
– 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
– Flyt-element -Destination "eSigner_CKA_Installer.exe" -Sti "eSigner_CKA_*\*.exe"
# Konfigurer eSignerCKA i lydløs tilstand
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | Ud-Nul
# Tjek installationsmappen
– dir C:\Users\gitlab_runner\Desktop\eSignerCKA
# Tjek installationsmappen
– Get-ChildItem -Sti C:\Users\gitlab_runner\Desktop\eSignerCKA
# Konfig kontooplysninger på eSignerCKA
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -bruger "${USERNAME}" -passer "${PASSWORD}" -totp "${TOTP_SECRET}" -tast "C :\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key” -r
# Fjern certifikat i Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe unload
# Indlæs certifikat i Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe indlæses
# Tjek databiblioteket
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Tjek konfigurationsdatabiblioteket
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Vælg certifikat fra Windows Store
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-Objekt -Første 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Debug Certificate Thumbprint
– Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Thumbprint
# Installer Dotnet Runtime 7.0
– choco installer dotnet-runtime -y
# Installer OpenVsixSignTool til brugerdefineret placering
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\dotnet-tools
– Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
– Move-Item -Sti OpenVsixSignTool.zip -Destination C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool.zip
– Expand-Archive -LiteralPath C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\gitlab_runner\Desktop\dotnet-tools -Force
# Signer prøvefil med OpenVsixSignTool
– powershell.exe -ExecutionPolicy Bypass -Kommando 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward Seneste hovedtegn –sha1 $Thumbprint –tidsstempel http://ts.ssl.com -ta sha256 -fd sha256 “SSLcom.vsix”'
.vsix Code DLL Signing Eksempel Workflow
# CPU-arkitekturen til at køre jobbet på
bue: amd64
# Standardsprog til at køre test i
sprog: csharp
# Ubuntu-distributionen, der skal bruges
dist: bionisk
# Operativsystemet til at køre jobbet på
os: vinduer
# Specificerer rækkefølgen af byggestadier. Alle opgaver i én fase skal udføres, før næste fase udføres.
niveauer:
- skilt
job:
omfatte:
– scene: tegn
# Jobnavnet
navn: tegn-fil
# Operativsystemet til at køre jobbet på
os: vinduer
# Brug standard generisk sprog
sprog: c
# Før script skal køres, før projektet bygges
før_script:
# Opret Installer Dir
– powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Script til at bygge projektet
manuskript:
# Download og Unzip eSignerCKA-opsætning
– 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" -Sti "eSigner_CKA_*\*.exe"'
# Konfigurer eSignerCKA i lydløs tilstand
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | Out-Null'
# Tjek installationsmappen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Konfig kontooplysninger på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -bruger "${USERNAME}" -pass "${ PASSWORD}" -totp "${TOTP_SECRET}" -tast "C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key" -r'
# Fjern certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe unload'
# Indlæs certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe load'
# Vælg certifikat fra Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-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\x86\signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll' ”
– scene: tegn
# Jobnavnet
navn: tegn-vsix
# Operativsystemet til at køre jobbet på
os: vinduer
# Brug standard generisk sprog
sprog: c
# Før script skal køres, før projektet bygges
før_script:
# Opret Installer Dir
– powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Script til at bygge projektet
manuskript:
# Download og Unzip eSignerCKA-opsætning
– 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" -Sti "eSigner_CKA_*\*.exe"'
# Konfigurer eSignerCKA i lydløs tilstand
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | Out-Null'
# Tjek installationsmappen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Konfig kontooplysninger på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -bruger "${USERNAME}" -pass "${ PASSWORD}" -totp "${TOTP_SECRET}" -tast "C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key" -r'
# Fjern certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe unload'
# Indlæs certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe load'
# Vælg certifikat fra Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Vælg-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'
# Installer OpenVsixSignTool til brugerdefineret placering (https://github.com/vcsjones/OpenOpcSignTool)
– powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools'
powershell.exe -ExecutionPolicy Bypass -Kommando 'Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
powershell.exe -ExecutionPolicy Bypass -Kommando 'Move-Item -Path OpenVsixSignTool.zip -Destination C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip'
powershell.exe -ExecutionPolicy Bypass -Kommando 'Expand-Archive -LiteralPath C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\mtravis\ \eSignerCKA\dotnet-tools -Force'
# Signer prøvefil med OpenVsixSignTool
– powershell.exe -ExecutionPolicy Bypass -Kommando "Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward Seneste Hovedtegn –sha1 $Thumbprint –tidsstempel http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix. ”
.NET-kode DLL Signering af eksempler på arbejdsgange
.NET Code DLL Signing Eksempel Workflow
Forbered komponenterne i arbejdsgangen
- Opret en .circleci-mappe på din editor. Inkluder arbejdsgange med mappen og opret en yml-fil som config.yml under mappen.
- Indstil CircleCI-versionen. Versionsfeltet er beregnet til at blive brugt til at udsende advarsler om udfasning eller brud på ændringer.
version: 2.1
-
Orbs er genbrugelige pakker med CircleCI-konfiguration, som du kan dele på tværs af projekter, hvilket gør det muligt for dig at skabe indkapslede, parameteriserede kommandoer, jobs og eksekvere, der kan bruges på tværs af flere projekter. For at bruge signtool-værktøjet skal dette være windows.
kugler:
vinde: circleci/windows@5.0.0
-
Påkald jobs via arbejdsgange. Arbejdsgange orkestrerer et sæt job, der skal køres.
arbejdsgange:
# Navnet på arbejdsgangen.
sign-fil:
# Inde i arbejdsgangen definerer du de jobs, du vil køre.
job:
– tegn-fil
- Definer et job, der skal kaldes senere i en arbejdsgang.
job:
sign-fil:
- Angiv udførelsesmiljøet. Vi skal bruge Windows executer, fordi signtool er nødvendig.
bobestyrer:
navn: win/server-2019
størrelse: medium
variant: vs 2019
- Placer arbejdsbiblioteket for jobbet
arbejdsmappe: /home/circleci/project
- Tilføj trin til jobbet Se: https://circleci.com/docs/2.0/configuration-reference/#steps
trin:
- Tjek kildekoden, så arbejdsgangen kan få adgang til den.
– kassen
- Download og Unzip eSignerCKA-opsætning
- løb:
navn: Download og Unzip eSignerCKA-opsætning
kommando: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"
Expand-Archive -Force eSigner_CKA_1.0.3.zip
Remove-Item eSigner_CKA_1.0.3.zip
Flyt-element -Destination "eSigner_CKA_1.0.3.exe" - Sti "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"
- Installer eSignerCKA
- løb:
navn: Konfigurer eSignerCKA i lydløs tilstand
kommando: |
mkdir -p “/home/circleci/project/eSignerCKA”
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="/home/circleci/project/eSignerCKA" | Ud-Nul
- Indstil SSLcom-kontooplysninger på eSignerCKA
- løb:
navn: Konfigurationskontooplysninger på eSignerCKA
kommando: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode $env:MODE -user "$env:USERNAME" -pass "$env:PASSWORD" -totp "$env:TOTP_SECRET" -nøgle "/home/circleci /project/eSignerCKA/master.key” -r
- Aflæs og indlæs certifikat til Windows certifikatlager
- løb:
navn: Indlæs certifikat i Windows Store
kommando: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe unload
/home/circleci/project/eSignerCKA/eSignerCKATool.exe indlæses
- Vælg kodesigneringscertifikat og få tommelfingeraftryk til signering og Signer artefakt med signtool
- løb:
navn: Vælg certifikat fra Windows Store og signer prøvefil med SignTool
kommando: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Vælg-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 Code DLL Signing Eksempel Workflow
Forbered komponenterne i arbejdsgangen
- Opret en .github/workflows-mappe på din editor. Inkluder arbejdsgange med mappen og opret en sign.yml-fil under mappen.
- Navngiv dit projekt og den type arbejdsgang, der er involveret
Navn: Tegn Artefakt
-
Udløs denne arbejdsgang på et tryk
på: skubbe
-
Opret en miljøvariabel
env:
MASTER_KEY: master.key
SIGNABLE_FILE_PATH: HelloWorld.dll
INSTALL_DIR: C:UsersrunneradmineSignerCKA
MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key
-
Definer jobs på din editor
job:
sign-fil:
-
Kør job på Windows Runner
kører-på: windows-seneste -
Opret et navn. Når arbejdsgangen kører, er dette navnet, der logges.
navn: Signer DLL-fil med eSignerCKA
Skitser trinene for Sign-jobbet
-
Tjek kildekoden, så arbejdsgangen kan få adgang til den.
– navn: Checkout Repository
bruger: actions/checkout@v3
- Download og Unzip eSignerCKA-opsætning
– navn: Download og Unzip eSignerCKA-opsætning
køre: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3"
Expand-Archive -Force eSigner_CKA_1.0.3.zip
Remove-Item eSigner_CKA_1.0.3.zip
Flyt-element -Destination "eSigner_CKA_1.0.3.exe" - Sti "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe" - Installer eSignerCKA
– navn: Konfigurer eSignerCKA i lydløs tilstand
køre: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Ud-Nul
- Indstil SSL.com-kontooplysninger på eSignerCKA
– navn: Konfigurationskontooplysninger på eSignerCKA
køre: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -bruger "${{ secrets.USERNAME }}"
-pass "${{ secrets.PASSWORD }}" -totp "${{ secrets.TOTP_SECRET }}" -tast "${{ env.MASTER_KEY_FILE }}" -r
- Aflæs og indlæs certifikat til Windows certifikatlager
– navn: Indlæs certifikat i Windows Store
køre: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe unload
${{ env.INSTALL_DIR }}/eSignerCKATool.exe indlæses - Vælg kodesigneringscertifikat og få tommelfingeraftryk til underskrift
– navn: Vælg certifikat fra Windows Store
køre: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Vælg-objekt - Først 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV - Tegn artefakt med skilteværktøj
– navn: Signer prøvefil med SignTool
køre: |
& 'C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe' tegn /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env .THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
Bemærk: Hvis dette trin ikke virker, så prøv løsningen nedenfor:
Brug C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\ i stedet for C:\Program Files (x86)\Windows Kits\10\App Certification Kit\ i linjen.
Du kan også henvise til denne eksempelarbejdsgang for signering: https://github.com/SSLcom/esigner-sample/blob/main/.github/workflows/sign.yml#L37
.NET Code DLL Signing Eksempel Workflow
Definer komponenterne i arbejdsgangen
- Create en yml-fil som .gitlab-ci.yml under mappen.
- Bruges til at vælge løbere fra listen over tilgængelige løbere. En løber skal have alle tags anført her for at køre jobbet.
.windows_runners:
tags:
– delte vinduer
– vinduer
– windows-1809
- Grupperer job i etaper. Alle opgaver i én fase skal udføres, før næste fase udføres.
niveauer:
- skilt
- Nedenfor er definitionen af dit job til at underskrive fil. Definer, hvilket stadium jobbet skal køre i.
sign-fil:
etape: tegn
- Navnet på et eller flere job, der skal arves konfigurationen fra.
strækker sig:
– .windows_runners - Skriv scriptet for at signere filen.
manuskript:
# Download og Unzip eSignerCKA-opsætning
– powershell.exe -ExecutionPolicy Bypass -Kommando '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 -Kommando 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Kommando 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Kommando 'Move-Item -Destination "eSigner_CKA_1.0.3.exe" -Sti "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"'
# Konfigurer eSignerCKA i lydløs tilstand
– powershell.exe -ExecutionPolicy Bypass -Kommando './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA”'
# Tjek installationsmappen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Usersgitlab_runnerDesktopeSignerCKA'
# Konfig kontooplysninger på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}
-bruger "${USERNAME}" -passer "${PASSWORD}" -totp "${TOTP_SECRET}" -nøgle "C:Usersgitlab_runnerAppDataRoamgeSignerCKAmaster.key" -r'
# Fjern certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe unload'
# Indlæs certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe load'
# Tjek databiblioteket
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Usersgitlab_runnerAppDataRoamgeSignerCKA'
# Tjek konfigurationsdatabiblioteket
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Usersgitlab_runnerAppDataRoamgeSignerCKAConfig'
# Vælg certifikat fra Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Vælg-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 Kits10bin10.0.17763.0x86signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
.NET Code DLL Signing Eksempel Workflow
Definer komponenterne i arbejdsgangen
- Opret en yml-fil som .travis.yml under rodmappen.
- Placer CPU-arkitekturen for at køre jobbet på.
bue: amd64
- Standardsprog til at køre job på Travis CI
sprog: csharp
- Operativsystemet til at køre jobbet på
os: vinduer
- Angiv rækkefølgen af stadier. Alle opgaver i én fase skal afsluttes, før den næste fase udføres.
niveauer:
- skilt
- Definer byggefasen
job:
omfatte:
– scene: tegn
-
Jobnavnet
navn: tegn-fil -
Operativsystemet til at køre jobbet på
os: vinduer -
Aktuelt sprog til at køre job på Travis CI
sprog: c -
Skriv Før-scriptet, der skal køres, før du bygger projektet
før_script:
– powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:Userstravisbuildesigner-prøveeSignerCKASSLcom'
-
Skriv manuskriptet til at bygge projektet.
manuskript:
# Download og Unzip eSignerCKA-opsætning
– powershell.exe -ExecutionPolicy Bypass -Kommando '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 -Kommando 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Kommando 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Kommando 'Move-Item -Destination "eSigner_CKA_1.0.3.exe" -Sti "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"'
# Konfigurer eSignerCKA i lydløs tilstand
– powershell.exe -ExecutionPolicy Bypass -Kommando './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildesigner-prøveeSignerCKASSLcom" | Out-Null'
# Tjek installationsmappen
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Userstravisbuildesigner-prøveeSignerCKASSLcom'
# Konfig kontooplysninger på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Userstravisbuildesigner-prøveeSignerCKASSLcomeSignerCKATool.exe config -mode ${MODE} -bruger "${USERNAME}"
-pass "${PASSWORD}" -totp "${TOTP_SECRET}" -tast "C:Userstravisbuildesigner-prøveeSignerCKASSLcommaster.key” -r'
# Fjern certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Userstravisbuildesigner-prøveeSignerCKASSLcomeSignerCKATool.exe unload'
# Indlæs certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Userstravisbuildesigner-prøveeSignerCKASSLcomeSignerCKATool.exe load'
# Vælg certifikat fra Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Vælg-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 Kits10binx64signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
Brug for tilpassede løsninger?
Med vores ekspertviden og femstjernede supportmedarbejdere er vi klar til og villige til at arbejde sammen med dig om skræddersyede løsninger eller store signeringsrabatter på virksomhedsniveau. Udfyld formularen nedenfor, så kontakter vi dig.