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:
- Köp ett SSL.com EV Code Signing-certifikat
- Registrera ditt kodsigneringscertifikat i eSigner
- Ladda ner och installera automatiserad eSigner CKA
.vsix Signeringsexempel på arbetsflöden
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)
- LÄGE: 'sandlåda' eller 'produkt' (obligatoriskt)
.vsix Signeringsexempel arbetsflöde
# Namnet på arbetsflödet.
namn: Sign Artifact
# Utlösa detta arbetsflöde på en push
på: tryck
# Skapa 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
jobb:
# Definierar jobb med namnet "sign-file"
sign-fil:
# Kör jobb på Windows Runner
körs-på: windows-senaste
# När arbetsflödet körs är detta namnet som loggas
namn: Signera DLL-fil med eSignerCKA
steg:
# 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://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip”
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 SSLcom-kontoinformation
– namn: Config Account Information på eSignerCKA
kör: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -användare "${{ secrets.USERNAME }}" -passera "${{ 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å thumprint 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) Signera artefakt med signtool
– namn: Signera provfil med SignTool
kör: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe' tecken /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
# 8) Ladda upp eSignerCKA-loggar
– namn: Ladda upp eSignerCKA-loggar
använder: actions/upload-artifact@v3
if: ${{ alltid() }}
med:
namn: eSignerCKA-Logs-DLL
sökväg: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
# Definierar jobb med namnet "sign-vsix-file"
sign-vsix-fil:
# Kör jobb på Windows Runner
körs-på: windows-senaste
# När arbetsflödet körs är detta namnet som loggas
namn: Signera VSIX-fil med eSignerCKA
steg:
# 1) Kolla in källkoden så att arbetsflödet kan komma åt den.
– namn: Checkout Repository
använder: actions/checkout@v3
# 2) Ställ in .NET CLI-miljön för arbetsflödet att använda.
– namn: Konfigurera Dotnet Core
kör: |
choco installera dotnet-runtime -y
# 3) 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://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip”
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"
# 4) 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
# 5) Ställ in SSLcom-kontoinformation
– namn: Config Account Information på eSignerCKA
kör: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ secrets.MODE }}" -användare "${{ secrets.USERNAME }}" -passera "${{ secrets.PASSWORD }}" - totp “${{ secrets.TOTP_SECRET }}” -nyckel “${{ env.MASTER_KEY_FILE }}” -r
# 6) 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
# 7) Välj kodsigneringscertifikat och få thumprint 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
# 8) Installera OpenVsixSignTool till anpassad plats (https://github.com/vcsjones/OpenOpcSignTool)
– namn: Installera OpenOpcSignTool
kör: |
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 -Path 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) Signera artefakt med OpenOpcSignTool
– namn: Signera exempelfil med OpenVsixSignTool
kör: |
C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward Senaste Stora tecken –sha1 ${{ env.THUMBPRINT }} –tidsstämpel http://ts.ssl.com -ta sha256 -fd sha256 “${ { env.SIGNABLE_VSIX_FILE_PATH }}”
# 10) Ladda upp eSignerCKA-loggar
– namn: Ladda upp eSignerCKA-loggar
använder: actions/upload-artifact@v3
if: ${{ alltid() }}
med:
namn: eSignerCKA-Logs-VSIX
sökväg: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
.vsix Signeringsexempel arbetsflöde
# Kontinuerlig integration utlöser
utlösare:
- ingen
# Grupperar jobb i etapper. Alla jobb i ett steg måste slutföras innan nästa steg kan utföras.
steg:
– scen: tecken
# När arbetsflödet körs är detta namnet som loggas
displayName: Sign File
jobb:
- jobb:
slå samman:
# Kör jobb på virtuella Windows-datorer
vmImage: 'Windows-senaste'
steg:
# Ladda ner och packa upp eSignerCKA Setup
– powershell: |
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"
displayName: 'Ladda ner och packa upp eSignerCKA Setup'
# Ställ in eSignerCKA i tyst läge och kontrollera installationskatalogen
– powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | Out-Null
dir $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'Ställ in eSignerCKA i tyst läge'
# Konfigurera kontoinformation på eSignerCKA
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -användare "$(USERNAME)" -passera "$(LÖSENORD)" -totp "$(TOTP_SECRET)" -nyckel "$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key” -r
displayName: 'Konfigurera kontoinformation på eSignerCKA'
# Ladda ur och ladda certifikat i Windows Store
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe avlastning
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe laddas
displayName: 'Ladda ur och ladda certifikat till Windows Store'
# Välj certifikat från Windows Store och signera exempelfil med SignTool
– powershell: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-Objekt -Första 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” tecken /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll
displayName: 'Signa exempelfil med SignTool'
# Spara artefakt för att använda signeringsjobb
– uppgift: PublishBuildArtifacts@1
displayName: 'Spara för att vara signerad artefakt för nedladdning'
ingångar:
pathtoPublish: HelloWorld.dll
artefaktnamn: HelloWorld.dll
– steg: sign_vsix
# När arbetsflödet körs är detta namnet som loggas
displayName: Sign VSIX
jobb:
- jobb:
slå samman:
# Kör jobb på virtuella Windows-datorer
vmImage: 'Windows-senaste'
steg:
# Ladda ner och packa upp eSignerCKA Setup
– powershell: |
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"
displayName: 'Ladda ner och packa upp eSignerCKA Setup'
# Ställ in eSignerCKA i tyst läge och kontrollera installationskatalogen
– powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | Out-Null
dir $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'Ställ in eSignerCKA i tyst läge'
# Konfigurera kontoinformation på eSignerCKA
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -användare "$(USERNAME)" -passera "$(LÖSENORD)" -totp "$(TOTP_SECRET)" -nyckel "$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key” -r
displayName: 'Konfigurera kontoinformation på eSignerCKA'
# Ladda ur och ladda certifikat i Windows Store
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe avlastning
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe laddas
displayName: 'Ladda ur och ladda certifikat till Windows Store'
# Installera OpenVsixSignTool till anpassad plats (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 -Path 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: 'Installera OpenVsixSignTool till anpassad plats'
# Välj certifikat från Windows Store och signera exempelfil med OpenOpcSignTool
– powershell: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-Objekt -Första 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Thumbprint
$(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward Senaste Stora tecken –sha1 $Thumbprint –tidsstämpel http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix
displayName: 'Signa exempelfil med OpenOpcSignTool'
# Spara artefakt för att använda signeringsjobb
– uppgift: PublishBuildArtifacts@1
displayName: 'Spara för att vara signerad artefakt för nedladdning'
ingångar:
pathtoPublish: SSLcom.vsix
artefaktnamn: SSLcom.vsix
# Windows Runner
.windows_runners:
# 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.
Taggar:
– delade fönster
– fönster
– windows-1809
# Grupperar jobb i etapper. Alla jobb i ett steg måste slutföras innan nästa steg kan utföras.
steg:
- tecken
# Nedan är definitionen av ditt jobb att signera fil
sign-fil:
# Definiera i vilket stadium jobbet ska köras.
scen: tecken
# Runner for Sign File på Windows
förlänger:
– .windows_runners
före_skript:
# Skapa Installera Dir
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
manus:
# Ladda ner och packa upp eSignerCKA Setup
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”
– Expandera-Arkiv -Force eSigner_CKA_Setup.zip
– Ta bort-objekt eSigner_CKA_Setup.zip
– Flytta objekt -Destination "eSigner_CKA_Installer.exe" -Sökväg "eSigner_CKA_*\*.exe"
# Ställ in eSignerCKA i tyst läge
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | Out-Null
# Kontrollera installationskatalogen
– dir C:\Users\gitlab_runner\Desktop\eSignerCKA
# Kontrollera installationskatalogen
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# Konfigurera kontoinformation på eSignerCKA
– 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
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe unload
# Ladda certifikat i Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe laddas
# Kontrollera datakatalogen
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Kontrollera konfigurationsdatakatalogen
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Välj certifikat från Windows Store
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-Objekt -Första 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Debug Certificate Thumbprint
– 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'"
# Nedan är definitionen av ditt jobb att signera fil
tecken-vsix:
# Definiera i vilket stadium jobbet ska köras.
scen: tecken
# Runner for Sign File på Windows
förlänger:
– .windows_runners
före_skript:
# Skapa Installera Dir
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
manus:
# Ladda ner och packa upp eSignerCKA Setup
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”
– Expandera-Arkiv -Force eSigner_CKA_Setup.zip
– Ta bort-objekt eSigner_CKA_Setup.zip
– Flytta objekt -Destination "eSigner_CKA_Installer.exe" -Sökväg "eSigner_CKA_*\*.exe"
# Ställ in eSignerCKA i tyst läge
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | Out-Null
# Kontrollera installationskatalogen
– dir C:\Users\gitlab_runner\Desktop\eSignerCKA
# Kontrollera installationskatalogen
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# Konfigurera kontoinformation på eSignerCKA
– 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
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe unload
# Ladda certifikat i Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe laddas
# Kontrollera datakatalogen
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Kontrollera konfigurationsdatakatalogen
– dir C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Välj certifikat från Windows Store
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Välj-Objekt -Första 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Debug Certificate Thumbprint
– Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Thumbprint
# Installera Dotnet Runtime 7.0
– choco installera dotnet-runtime -y
# Installera OpenVsixSignTool till anpassad plats
– 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 -Path 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
# Signera provfil 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 Senaste Stora tecken –sha1 $Thumbprint –tidsstämpel http://ts.ssl.com -ta sha256 -fd sha256 “SSLcom.vsix”'
.vsix-kod DLL-signeringsexempel arbetsflöde
# CPU-arkitekturen att köra jobbet på
båge: amd64
# Standardspråk att köra tester på
språk: csharp
# Ubuntu-distributionen att använda
dist: bionisk
# Operativsystemet att köra jobbet på
OS: Windows
# Anger ordningen på byggstegen. Alla jobb i ett steg måste slutföras innan nästa steg kan utföras.
steg:
- tecken
jobb:
innefattar:
– scen: tecken
# Jobbets namn
namn: sign-fil
# Operativsystemet att köra jobbet på
OS: Windows
# Använd standardspråk
språk: c
# Innan manuset ska köras innan man bygger projektet
före_skript:
# Skapa Installera Dir
– powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Skript för att bygga projektet
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 -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | Out-Null'
# Kontrollera installationskatalogen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Konfigurera kontoinformation på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -användare "${USERNAME}" -pass "${ PASSWORD}” -totp “${TOTP_SECRET}” -nyckel “C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key” -r'
# Ladda ur certifikat till Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe unload'
# Ladda certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\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\x86\signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll' ”
– scen: tecken
# Jobbets namn
namn: tecken-vsix
# Operativsystemet att köra jobbet på
OS: Windows
# Använd standardspråk
språk: c
# Innan manuset ska köras innan man bygger projektet
före_skript:
# Skapa Installera Dir
– powershell.exe -ExecutionPolicy Bypass -Kommando 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Skript för att bygga projektet
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 -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | Out-Null'
# Kontrollera installationskatalogen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Konfigurera kontoinformation på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -användare "${USERNAME}" -pass "${ PASSWORD}” -totp “${TOTP_SECRET}” -nyckel “C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key” -r'
# Ladda ur certifikat till Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe unload'
# Ladda certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:\Users\travis\build\mbayrak-sslcom\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'
# Installera OpenVsixSignTool till anpassad plats (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'
# Signera provfil 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 Senaste Stora tecken –sha1 $Thumbprint –tidsstämpel http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix. ”
.NET-kod DLL Signering av exempel på arbetsflöden
.NET-kod DLL-signeringsexempel arbetsflöde
Förbered komponenterna i arbetsflödet
- Skapa en .circleci-mapp i din editor. Inkludera arbetsflöden med mappen och skapa en yml-fil som config.yml under mappen.
- 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
-
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
-
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
- Definiera ett jobb som ska anropas senare i ett arbetsflöde.
jobb:
sign-fil:
- Ange exekveringsmiljön. Vi måste använda Windows executer eftersom signtool behövs.
testamentsexekutor:
namn: win/server-2019
storlek: medium
variant: vs 2019
- Placera arbetskatalogen för jobbet
arbetskatalog: /home/circleci/project
- Lägg till steg i jobbet Se: https://circleci.com/docs/2.0/configuration-reference/#steps
steg:
- Kolla in källkoden så att arbetsflödet kan komma åt den.
- kolla upp
- Ladda ner och packa upp eSignerCKA Setup
- springa:
namn: Ladda ner och packa upp eSignerCKA Setup
kommando: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”
Expandera-Arkiv -Force eSigner_CKA_1.0.3.zip
Remove-Item eSigner_CKA_1.0.3.zip
Flytta objekt -Destination "eSigner_CKA_1.0.3.exe" -Sökväg "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"
- Installera eSignerCKA
- springa:
namn: Ställ in eSignerCKA i tyst läge
kommando: |
mkdir -p “/home/circleci/project/eSignerCKA”
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”/home/circleci/project/eSignerCKA” | Out-Null
- 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
- 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
- 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:CurrentUserMy -CodeSigningCert | Välj-objekt -Först 1
& 'C:Program Files (x86)Windows Kits10App Certification Kitsigntool.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
- Skapa en .github/workflows-mapp i din editor. Inkludera arbetsflöden med mappen och skapa en sign.yml-fil under mappen.
- Namnge ditt projekt och vilken typ av arbetsflöde som ingår
Namn: Sign Artifact
-
Utlösa detta arbetsflöde på en push
på: tryck
-
Skapa en miljövariabel
env:
MASTER_KEY: master.key
SIGNABLE_FILE_PATH: HelloWorld.dll
INSTALL_DIR: C:UsersrunneradmineSignerCKA
MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key
-
Definiera jobben på din editor
jobb:
sign-fil:
-
Kör jobb på Windows Runnerkörs-på: windows-senaste
-
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
-
Kolla in källkoden så att arbetsflödet kan komma åt den.
– namn: Checkout Repository
använder: actions/checkout@v3
- Ladda ner och packa upp eSignerCKA Setup
– namn: Ladda ner och packa upp eSignerCKA Setup
kör: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”
Expandera-Arkiv -Force eSigner_CKA_1.0.3.zip
Remove-Item eSigner_CKA_1.0.3.zip
Flytta objekt -Destination "eSigner_CKA_1.0.3.exe" -Sökväg "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe" - Installera eSignerCKA
– namn: Ställ in eSignerCKA i tyst läge
kör: |
New-Item -ItemType Directory -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Out-Null
- 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
- 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 - Välj kodsigneringscertifikat och få tumavtryck för signering
– namn: Välj certifikat från Windows Store
kör: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Välj-objekt -Först 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV - 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
- Cskriv en yml-fil som .gitlab-ci.yml under mappen.
- 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
- Grupperar jobb i etapper. Alla jobb i ett steg måste slutföras innan nästa steg kan utföras.
steg:
- tecken
- Nedan är definitionen av ditt jobb att signera fil. Definiera i vilket stadium jobbet ska köras.
sign-fil:
scen: tecken
- Namnet på ett eller flera jobb att ärva konfigurationen från.
förlänger:
– .windows_runners - 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_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" -Sökväg "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"'
# Ställ in eSignerCKA i tyst läge
– powershell.exe -ExecutionPolicy Bypass -Kommando './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA”'
# Kontrollera installationskatalogen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Usersgitlab_runnerDesktopeSignerCKA'
# Konfigurera kontoinformation på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}
-användare "${USERNAME}" -passera "${PASSWORD}" -totp "${TOTP_SECRET}" -nyckel "C:Usersgitlab_runnerAppDataRoamgeSignerCKAmaster.key" -r'
# Ladda ur certifikat till Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe unload'
# Ladda certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe load'
# Kontrollera datakatalogen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Usersgitlab_runnerAppDataRoamgeSignerCKA'
# Kontrollera konfigurationsdatakatalogen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Usersgitlab_runnerAppDataRoamgeSignerCKAConfig'
# Välj certifikat från Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -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 Kits10bin10.0.17763.0x86signtool.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
- Skapa en yml-fil som .travis.yml under rotmappen.
- Placera CPU-arkitekturen för att köra jobbet på.
båge: amd64
- Standardspråk för att köra jobb på Travis CI
språk: csharp
- Operativsystemet att köra jobbet på
OS: Windows
- Ange ordningen på stegen. Alla jobb i ett steg måste slutföras innan nästa steg utförs.
steg:
- tecken
- Definiera byggstadiet
jobb:
innefattar:
– scen: tecken
-
Jobbets namn
namn: sign-fil -
Operativsystemet att köra jobbet på
OS: Windows -
Aktuellt språk för att köra jobb på Travis CI
språk: c -
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:Userstravisbuildesigner-proveSignerCKASSLcom'
-
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_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" -Sökväg "eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe"'
# Ställ in eSignerCKA i tyst läge
– powershell.exe -ExecutionPolicy Bypass -Kommando './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildesigner-proveSignerCKASSLcom” | Out-Null'
# Kontrollera installationskatalogen
– powershell.exe -ExecutionPolicy Bypass -Kommando 'dir C:Userstravisbuildesigner-proveSignerCKASSLcom'
# Konfigurera kontoinformation på eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Userstravisbuildesigner-proveSignerCKASSLcomeSignerCKATool.exe config -mode ${MODE} -användare "${USERNAME}"
-passa "${PASSWORD}" -totp "${TOTP_SECRET}" -nyckel "C:Userstravisbuildesigner-proveSignerCKASSLcommaster.key” -r'
# Ladda ur certifikat till Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Userstravisbuildesigner-proveSignerCKASSLcomeSignerCKATool.exe unload'
# Ladda certifikat i Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando 'C:Userstravisbuildesigner-proveSignerCKASSLcomeSignerCKATool.exe ladda'
# Välj certifikat från Windows Store
– powershell.exe -ExecutionPolicy Bypass -Kommando '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -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 Kits10binx64signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
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.