eSigner CKA (Adaptador de chave de nuvem) é um aplicativo baseado no Windows que usa a interface CNG (KSP Key Service Provider) para permitir que ferramentas como certutil.exe e signtool.exe usem o API compatível com eSigner Cloud Signature Consortium (CSC) para operações de assinatura de código empresarial. Três pré-requisitos devem ser atendidos antes de poder conduzir assinatura de código baseada em eSigner em ferramentas de CI/CD:
- Adquira um certificado de assinatura de código SSL.com EV
- Registre seu certificado de assinatura de código no eSigner
- Baixe e instale o eSigner CKA automatizado
Fluxos de trabalho de exemplo de assinatura .vsix
variáveis ambientais- NOME DE USUÁRIO: nome de usuário da conta SSL.com. (Requeridos)
- SENHA: Senha da conta SSL.com (obrigatório)
- TOTP_SECRET: OAuth TOTP Secret. Você pode acessar informações detalhadas sobre Automatize a assinatura de código EV do eSigner – SSL.com (Obrigatório)
- MODO: 'sandbox' ou 'produto' (obrigatório)
Fluxo de trabalho de exemplo de assinatura .vsix
# O nome do fluxo de trabalho.
nome: Artefato de Sinal
# Acione este fluxo de trabalho com um push
em: empurrar
#Crie uma variável de ambiente
ambiente:
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
empregos:
# Define o trabalho chamado “arquivo de assinatura”
arquivo de assinatura:
#Executa o trabalho no Windows Runner
run-on: windows-latest
# Quando o fluxo de trabalho é executado, este é o nome registrado
nome: Assinar arquivo DLL com eSignerCKA
passos:
# 1) Confira o código-fonte para que o fluxo de trabalho possa acessá-lo.
– nome: Repositório de Checkout
usa: ações/checkout@v3
# 2) Baixe e descompacte a configuração do eSignerCKA
– nome: Baixe e descompacte o eSignerCKA Setup
executar: |
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”
Expandir-Arquivo -Force eSigner_CKA_Setup.zip
Remover item eSigner_CKA_Setup.zip
Mover-Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”
# 3) Instale o eSignerCKA
– nome: Configure o eSignerCKA no modo silencioso
executar: |
Novo-Item -ItemType Diretório -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Fora-Nulo
# 4) Defina as informações da conta SSLcom
– nome: Configurar informações da conta no eSignerCKA
executar: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode “${{ secrets.MODE }}” -user “${{ secrets.USERNAME }}” -pass “${{ secrets.PASSWORD }}” - totp “${{ secrets.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r
# 5) Descarregar e carregar certificado no armazenamento de certificados do Windows
– nome: Carregar certificado na Windows Store
executar: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe descarregar
${{ env.INSTALL_DIR }}/eSignerCKATool.exe carregar
# 6) Selecione o certificado de assinatura de código e obtenha impressão digital para assinatura
– nome: Selecione o certificado da Windows Store
executar: |
$CodeSigningCert = Certificado Get-ChildItem:\CurrentUser\My -CodeSigningCert | Selecionar-Objeto -Primeiro 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
# 7) Assinar artefato com signtool
– nome: Arquivo de exemplo de assinatura com SignTool
executar: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
# 8) Carregar registros do eSignerCKA
– nome: Carregar registros do eSignerCKA
usa: ações/upload-artifact@v3
se: ${{sempre() }}
com:
nome: eSignerCKA-Logs-DLL
caminho: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
# Define o trabalho chamado “sign-vsix-file”
arquivo sign-vsix:
#Executa o trabalho no Windows Runner
run-on: windows-latest
# Quando o fluxo de trabalho é executado, este é o nome registrado
nome: Assinar arquivo VSIX com eSignerCKA
passos:
# 1) Confira o código-fonte para que o fluxo de trabalho possa acessá-lo.
– nome: Repositório de Checkout
usa: ações/checkout@v3
# 2) Configure o ambiente .NET CLI para uso do fluxo de trabalho.
– nome: Configurar Dotnet Core
executar: |
choco instalar dotnet-runtime -y
# 3) Baixe e descompacte a configuração do eSignerCKA
– nome: Baixe e descompacte o eSignerCKA Setup
executar: |
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”
Expandir-Arquivo -Force eSigner_CKA_Setup.zip
Remover item eSigner_CKA_Setup.zip
Mover-Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”
# 4) Instale o eSignerCKA
– nome: Configure o eSignerCKA no modo silencioso
executar: |
Novo-Item -ItemType Diretório -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Fora-Nulo
# 5) Defina as informações da conta SSLcom
– nome: Configurar informações da conta no eSignerCKA
executar: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode “${{ secrets.MODE }}” -user “${{ secrets.USERNAME }}” -pass “${{ secrets.PASSWORD }}” - totp “${{ secrets.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r
# 6) Descarregar e carregar certificado no armazenamento de certificados do Windows
– nome: Carregar certificado na Windows Store
executar: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe descarregar
${{ env.INSTALL_DIR }}/eSignerCKATool.exe carregar
# 7) Selecione o certificado de assinatura de código e obtenha impressão digital para assinatura
– nome: Selecione o certificado da Windows Store
executar: |
$CodeSigningCert = Certificado Get-ChildItem:\CurrentUser\My -CodeSigningCert | Selecionar-Objeto -Primeiro 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV
# 8) Instale OpenVsixSignTool em local personalizado (https://github.com/vcsjones/OpenOpcSignTool)
– nome: Instalar OpenOpcSignTool
executar: |
Novo-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 -Destino 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) Assinar artefato com OpenOpcSignTool
– nome: Assinar arquivo de amostra com OpenVsixSignTool
executar: |
C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward LatestMajor sign –sha1 ${{ env.THUMBPRINT }} –timestamp http://ts.ssl.com -ta sha256 -fd sha256 “${ { env.SIGNABLE_VSIX_FILE_PATH }}”
# 10) Carregar registros do eSignerCKA
– nome: Carregar registros do eSignerCKA
usa: ações/upload-artifact@v3
se: ${{sempre() }}
com:
nome: eSignerCKA-Logs-VSIX
caminho: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
Fluxo de trabalho de exemplo de assinatura .vsix
# Gatilhos de integração contínua
acionar:
- Nenhum
# Agrupa trabalhos em etapas. Todos os trabalhos em um estágio devem ser concluídos antes da execução do próximo estágio.
estágios:
– palco: sinal
# Quando o fluxo de trabalho é executado, este é o nome registrado
displayName: Arquivo de assinatura
empregos:
- trabalho:
piscina:
# Executar tarefa em VMs do Windows
vmImage: 'windows-latest'
passos:
# Baixe e descompacte a configuração do eSignerCKA
– powershell: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”
Expandir-Arquivo -Force eSigner_CKA_Setup.zip
Remover item eSigner_CKA_Setup.zip
Mover-Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”
displayName: 'Baixe e descompacte a configuração do eSignerCKA'
# Configure o eSignerCKA no modo silencioso e verifique o diretório de instalação
– powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | Fora-Nulo
diretório $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'Configurar eSignerCKA no modo silencioso'
# Configurar informações da conta no eSignerCKA
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -user “$(NOME DE USUÁRIO)” -pass “$(SENHA)” -totp “$(TOTP_SECRET)” -key “$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key” -r
displayName: 'Configurar informações da conta no eSignerCKA'
# Descarregar e carregar certificado na Windows Store
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe descarregar
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe carregar
displayName: 'Descarregar e carregar certificado na Windows Store'
# Selecione o certificado da Windows Store e assine o arquivo de amostra com SignTool
– powershell: |
$CodeSigningCert = Certificado Get-ChildItem:\CurrentUser\My -CodeSigningCert | Selecione-Objeto -Primeiro 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); eco $ impressão digital
& “C:\Arquivos de Programas (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exe” sinal /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $ impressão digital HelloWorld.dll
displayName: 'Assinar arquivo de amostra com SignTool'
# Salva o artefato para usar o trabalho de assinatura
– tarefa: PublishBuildArtifacts@1
displayName: 'Salvar para ser assinado artefato para download'
entradas:
caminho para publicar: HelloWorld.dll
artefatoName: HelloWorld.dll
– estágio: sign_vsix
# Quando o fluxo de trabalho é executado, este é o nome registrado
displayName: Assine VSIX
empregos:
- trabalho:
piscina:
# Executar tarefa em VMs do Windows
vmImage: 'windows-latest'
passos:
# Baixe e descompacte a configuração do eSignerCKA
– powershell: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”
Expandir-Arquivo -Force eSigner_CKA_Setup.zip
Remover item eSigner_CKA_Setup.zip
Mover-Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”
displayName: 'Baixe e descompacte a configuração do eSignerCKA'
# Configure o eSignerCKA no modo silencioso e verifique o diretório de instalação
– powershell: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | Fora-Nulo
diretório $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'Configurar eSignerCKA no modo silencioso'
# Configurar informações da conta no eSignerCKA
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -user “$(NOME DE USUÁRIO)” -pass “$(SENHA)” -totp “$(TOTP_SECRET)” -key “$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key” -r
displayName: 'Configurar informações da conta no eSignerCKA'
# Descarregar e carregar certificado na Windows Store
– powershell: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe descarregar
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe carregar
displayName: 'Descarregar e carregar certificado na Windows Store'
# Instale OpenVsixSignTool em local personalizado (https://github.com/vcsjones/OpenOpcSignTool)
– powershell: |
Novo-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: 'Instalar OpenVsixSignTool em local personalizado'
# Selecione o certificado da Windows Store e assine o arquivo de amostra com OpenOpcSignTool
– powershell: |
$CodeSigningCert = Certificado Get-ChildItem:\CurrentUser\My -CodeSigningCert | Selecione-Objeto -Primeiro 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); eco $ impressão digital
$ (Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward Último sinal principal –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix
displayName: 'Assinar arquivo de amostra com OpenOpcSignTool'
# Salva o artefato para usar o trabalho de assinatura
– tarefa: PublishBuildArtifacts@1
displayName: 'Salvar para ser assinado artefato para download'
entradas:
caminho para publicar: SSLcom.vsix
nome do artefato: SSLcom.vsix
# Corredor do Windows
.windows_runners:
# Usado para selecionar executores da lista de executores disponíveis. Um executor deve ter todas as tags listadas aqui para executar o trabalho.
tags:
– janelas compartilhadas
- janelas
– janelas-1809
# Agrupa trabalhos em etapas. Todos os trabalhos em um estágio devem ser concluídos antes da execução do próximo estágio.
estágios:
- sinal
# Abaixo está a definição do seu trabalho para assinar o arquivo
arquivo de assinatura:
# Defina em qual estágio o job será executado.
estágio: sinal
# Runner para arquivo de assinatura no Windows
estende:
– .windows_runners
script_antes:
# Cria o diretório de instalação
– Novo-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
script:
# Baixe e descompacte a configuração do eSignerCKA
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”
– Expandir-Arquivo -Force eSigner_CKA_Setup.zip
– Remover item eSigner_CKA_Setup.zip
– Mover Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”
# Configure o eSignerCKA no modo silencioso
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | Fora-Nulo
# Verifique o diretório de instalação
– diretório C:\Users\gitlab_runner\Desktop\eSignerCKA
# Verifique o diretório de instalação
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# Configurar informações da conta no eSignerCKA
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -user “${USERNAME}” -pass “${PASSWORD}” -totp “${TOTP_SECRET}” -key “C :\Usuários\gitlab_runner\AppData\Roaming\eSignerCKA\master.key” -r
# Descarregue o certificado na Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe descarregar
# Carregue o certificado na Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe carregar
# Verifique o diretório de dados
– diretório C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Verifique o diretório de dados de configuração
– diretório C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Selecione o certificado da Windows Store
– $CodeSigningCert = Certificado Get-ChildItem:\CurrentUser\My -CodeSigningCert | Selecione-Objeto -Primeiro 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Impressão digital do certificado de depuração
– Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); eco $ impressão digital
# Assinar arquivo de amostra com SignTool
– powershell.exe -ExecutionPolicy Bypass -Command “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); 'C:\Arquivos de Programas (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'”
# Abaixo está a definição do seu trabalho para assinar o arquivo
sinal-vsix:
# Defina em qual estágio o job será executado.
estágio: sinal
# Runner para arquivo de assinatura no Windows
estende:
– .windows_runners
script_antes:
# Cria o diretório de instalação
– Novo-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
script:
# Baixe e descompacte a configuração do eSignerCKA
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”
– Expandir-Arquivo -Force eSigner_CKA_Setup.zip
– Remover item eSigner_CKA_Setup.zip
– Mover Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”
# Configure o eSignerCKA no modo silencioso
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | Fora-Nulo
# Verifique o diretório de instalação
– diretório C:\Users\gitlab_runner\Desktop\eSignerCKA
# Verifique o diretório de instalação
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# Configurar informações da conta no eSignerCKA
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -user “${USERNAME}” -pass “${PASSWORD}” -totp “${TOTP_SECRET}” -key “C :\Usuários\gitlab_runner\AppData\Roaming\eSignerCKA\master.key” -r
# Descarregue o certificado na Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe descarregar
# Carregue o certificado na Windows Store
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe carregar
# Verifique o diretório de dados
– diretório C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# Verifique o diretório de dados de configuração
– diretório C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Selecione o certificado da Windows Store
– $CodeSigningCert = Certificado Get-ChildItem:\CurrentUser\My -CodeSigningCert | Selecione-Objeto -Primeiro 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# Impressão digital do certificado de depuração
– Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); eco $ impressão digital
# Instale o Dotnet Runtime 7.0
– choco instalar dotnet-runtime -y
# Instale OpenVsixSignTool em local personalizado
– Novo-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 -Destino 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
# Assinar arquivo de amostra com OpenVsixSignTool
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward LatestMajor sign –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 “SSLcom.vsix”'
Fluxo de trabalho de exemplo de assinatura de DLL de código .vsix
# A arquitetura da CPU para executar o trabalho
arco: amd64
# Idioma padrão para executar testes
idioma: csharp
# A distribuição Ubuntu a ser usada
dist: biônico
# O sistema operacional no qual executar o trabalho
os: janelas
# Especifica a ordem dos estágios de construção. Todos os trabalhos em um estágio devem ser concluídos antes da execução do próximo estágio.
estágios:
- sinal
empregos:
incluem:
– palco: sinal
# O nome do trabalho
nome: arquivo de assinatura
# O sistema operacional no qual executar o trabalho
os: janelas
# Use idioma genérico padrão
idioma: c
# Antes do script ser executado antes de construir o projeto
script_antes:
# Cria o diretório de instalação
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Script para construir o projeto
script:
# Baixe e descompacte a configuração do eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”'
# Configure o eSignerCKA no modo silencioso
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | Fora-Nulo'
# Verifique o diretório de instalação
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Configurar informações da conta no eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -user “${USERNAME}” -pass “${ SENHA}” -totp “${TOTP_SECRET}” -key “C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key” -r'
# Descarregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe descarregar'
# Carregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe carregar'
# Selecione o certificado da Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Impressão digital do certificado de depuração
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Impressão digital'
# Assinar arquivo de amostra com SignTool
– powershell.exe -ExecutionPolicy Bypass -Command “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' ”
– palco: sinal
# O nome do trabalho
nome: sign-vsix
# O sistema operacional no qual executar o trabalho
os: janelas
# Use idioma genérico padrão
idioma: c
# Antes do script ser executado antes de construir o projeto
script_antes:
# Cria o diretório de instalação
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Script para construir o projeto
script:
# Baixe e descompacte a configuração do eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destino “eSigner_CKA_Installer.exe” -Caminho “eSigner_CKA_*\*.exe”'
# Configure o eSignerCKA no modo silencioso
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | Fora-Nulo'
# Verifique o diretório de instalação
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# Configurar informações da conta no eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -user “${USERNAME}” -pass “${ SENHA}” -totp “${TOTP_SECRET}” -key “C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key” -r'
# Descarregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe descarregar'
# Carregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe carregar'
# Selecione o certificado da Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Impressão digital do certificado de depuração
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Impressão digital'
# Instale OpenVsixSignTool em local personalizado (https://github.com/vcsjones/OpenOpcSignTool)
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools'
powershell.exe -ExecutionPolicy Bypass -Command '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 -Command 'Move-Item -Path OpenVsixSignTool.zip -Destino C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip'
powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -LiteralPath C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\travis\build\mbayrak-sslcom \eSignerCKA\dotnet-tools -Force'
# Assinar arquivo de amostra com OpenVsixSignTool
– powershell.exe -ExecutionPolicy Bypass -Command “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward Último sinal principal –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix ”
.DLL de código NET Assinando fluxos de trabalho de exemplo
Fluxo de trabalho de exemplo de assinatura de DLL de código .NET
Preparar os componentes do fluxo de trabalho
- Crie uma pasta .circleci em seu editor. Inclua fluxos de trabalho com a pasta e crie um arquivo yml como config.yml na pasta.
- Defina a versão do CircleCI. O campo de versão destina-se a ser usado para emitir avisos de descontinuação ou alterações de interrupção.
version: 2.1
-
Orbs são pacotes reutilizáveis de configuração do CircleCI que você pode compartilhar entre projetos, permitindo criar comandos encapsulados e parametrizados, trabalhos e executores que podem ser usados em vários projetos. Para usar a ferramenta signtool, ela precisa ser windows.
orbes:
vitória: circleci/windows@5.0.0
-
Invoque trabalhos por meio de fluxos de trabalho. Os fluxos de trabalho orquestram um conjunto de tarefas a serem executadas.
fluxos de trabalho:
# O nome do fluxo de trabalho.
arquivo de assinatura:
# Dentro do fluxo de trabalho, você define os trabalhos que deseja executar.
empregos:
- arquivo de assinatura
- Defina um trabalho a ser invocado posteriormente em um fluxo de trabalho.
empregos:
arquivo de assinatura:
- Especifique o ambiente de execução. Devemos usar o Windows Executor porque o signtool é necessário.
executor:
nome: win/server-2019
tamanho médio
variante: vs 2019
- Coloque o diretório de trabalho para o trabalho
diretório_trabalho: /home/circleci/project
- Adicionar etapas ao trabalho Veja: https://circleci.com/docs/2.0/configuration-reference/#steps
passos:
- Confira o código-fonte para que o fluxo de trabalho possa acessá-lo.
- Confira
- Baixe e descompacte a configuração do eSignerCKA
- corre:
nome: Baixe e descompacte o eSignerCKA Setup
comando: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”
Expandir-Arquivar -Forçar eSigner_CKA_1.0.3.zip
Remover item eSigner_CKA_1.0.3.zip
Mover-Item -Destino “eSigner_CKA_1.0.3.exe” -Caminho “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”
- Instalar eSignerCKA
- corre:
nome: Configurar eSignerCKA no modo silencioso
comando: |
mkdir -p “/home/circleci/project/eSignerCKA”
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”/home/circleci/project/eSignerCKA” | Fora-Nulo
- Definir informações da conta SSLcom no eSignerCKA
- corre:
nome: Configurar informações da conta no eSignerCKA
comando: |
/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
- Descarregue e carregue o certificado no armazenamento de certificados do Windows
- corre:
nome: Carregar certificado na Windows Store
comando: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe descarregar
/home/circleci/project/eSignerCKA/eSignerCKATool.exe carregar
- Selecione o certificado de assinatura de código e obtenha a impressão digital para assinar e assinar o artefato com a ferramenta de assinatura
- corre:
nome: Selecione o certificado da Windows Store e assine o arquivo de amostra com o SignTool
comando: |
$CodeSigningCert = Certificado Get-ChildItem:CurrentUserMy -CodeSigningCert | Selecionar-Objeto -Primeiro 1
& 'C:Arquivos de programas (x86)Windows Kits10App Certification Kitsigntool.exe' sinal /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 “$($CodeSigningCert.Thumbprint)” “HelloWorld. dll”
Fluxo de trabalho de exemplo de assinatura de DLL de código .NET
Preparar os componentes do fluxo de trabalho
- Crie uma pasta .github/workflows em seu editor. Inclua fluxos de trabalho com a pasta e crie um arquivo sign.yml na pasta.
- Nomeie seu projeto e o tipo de fluxo de trabalho envolvido
Nome: Assinar Artefato
-
Acione este fluxo de trabalho em um push
em: empurrar
-
Crie uma variável de ambiente
ambiente:
MASTER_KEY: master.key
SIGNABLE_FILE_PATH: HelloWorld.dll
INSTALL_DIR: C:UsersrunneradmineSignerCKA
MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key
-
Defina os trabalhos em seu editor
empregos:
arquivo de assinatura:
-
Executar trabalho no Windows Runnerrun-on: windows-latest
-
Crie um nome. Quando o fluxo de trabalho é executado, esse é o nome registrado.
nome: Assinar arquivo DLL com eSignerCKA
Descreva as etapas para o trabalho de assinatura
-
Confira o código-fonte para que o fluxo de trabalho possa acessá-lo.
– nome: Repositório de Checkout
usa: ações/checkout@v3
- Baixe e descompacte a configuração do eSignerCKA
– nome: Baixe e descompacte o eSignerCKA Setup
executar: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”
Expandir-Arquivar -Forçar eSigner_CKA_1.0.3.zip
Remover item eSigner_CKA_1.0.3.zip
Mover-Item -Destino “eSigner_CKA_1.0.3.exe” -Caminho “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe” - Instalar eSignerCKA
– nome: Configure o eSignerCKA no modo silencioso
executar: |
Novo-Item -ItemType Diretório -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | Fora-Nulo
- Definir informações da conta SSL.com no eSignerCKA
– nome: Configurar informações da conta no eSignerCKA
executar: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode “${{ secrets.MODE }}” -user “${{ secrets.USERNAME }}”
-pass “${{ secrets.PASSWORD }}” -totp “${{ secrets.TOTP_SECRET }}” -key “${{ env.MASTER_KEY_FILE }}” -r
- Descarregue e carregue o certificado no armazenamento de certificados do Windows
– nome: Carregar certificado na Windows Store
executar: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe descarregar
${{ env.INSTALL_DIR }}/eSignerCKATool.exe carregar - Selecione o certificado de assinatura de código e obtenha impressão digital para assinatura
– nome: Selecione o certificado da Windows Store
executar: |
$CodeSigningCert = Certificado Get-ChildItem:CurrentUserMy -CodeSigningCert | Selecionar-Objeto -Primeiro 1
echo “THUMBPRINT=$($CodeSigningCert.Thumbprint)” >> $env:GITHUB_ENV - Artefato de assinatura com signtool
– nome: Arquivo de exemplo de assinatura com SignTool
executar: |
& '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 }}
Fluxo de trabalho de exemplo de assinatura de DLL de código .NET
Defina os componentes do fluxo de trabalho
- CCrie um arquivo yml como .gitlab-ci.yml na pasta.
- Usado para selecionar corredores da lista de corredores disponíveis. Um executor deve ter todas as tags listadas aqui para executar o trabalho.
.windows_runners:
tags:
– janelas compartilhadas
- janelas
– janelas-1809
- Agrupa trabalhos em estágios. Todos os trabalhos em um estágio devem ser concluídos antes que o próximo estágio seja executado.
estágios:
- sinal
- Abaixo está a definição do seu trabalho para assinar o arquivo. Defina em que estágio o trabalho será executado.
arquivo de assinatura:
estágio: sinal
- O nome de um ou mais trabalhos dos quais herdar a configuração.
estende:
– .windows_runners - Escreva o script para assinar o arquivo.
script:
# Baixe e descompacte a configuração do eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command '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 -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Comando 'Move-Item -Destino “eSigner_CKA_1.0.3.exe” -Caminho “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'
# Configure o eSignerCKA no modo silencioso
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA”'
# Verifique o diretório de instalação
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerDesktopeSignerCKA'
# Configurar informações da conta no eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}
-user “${USERNAME}” -pass “${PASSWORD}” -totp “${TOTP_SECRET}” -key “C:Usersgitlab_runnerAppDataRoamingeSignerCKAmaster.key” -r'
# Descarregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe descarregar'
# Carregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Comando 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe carregar'
# Verifique o diretório de dados
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamingeSignerCKA'
# Verifique o diretório de dados de configuração
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamingeSignerCKAConfig'
# Selecione o certificado da Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Selecione-Objeto -Primeiro 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Impressão digital do certificado de depuração
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Impressão digital'
# Assinar arquivo de amostra com SignTool
– powershell.exe -ExecutionPolicy Bypass -Command “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);
'C: Arquivos de programas (x86) Windows Kits10bin10.0.17763.0x86signtool.exe sinal /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
Fluxo de trabalho de exemplo de assinatura de DLL de código .NET
Defina os componentes do fluxo de trabalho
- Crie um arquivo yml como .travis.yml na pasta raiz.
- Coloque a arquitetura da CPU para executar o trabalho.
arco: amd64
- Idioma padrão para executar trabalhos no Travis CI
idioma: csharp
- O sistema operacional no qual executar o trabalho
os: janelas
- Especifique a ordem das etapas. Todos os trabalhos em um estágio devem ser concluídos antes que o próximo estágio seja executado.
estágios:
- sinal
- Defina o estágio de construção
empregos:
incluem:
– palco: sinal
-
O nome do trabalho
nome: arquivo de assinatura -
O sistema operacional no qual executar o trabalho
os: janelas -
Idioma atual para executar trabalhos no Travis CI
idioma: c -
Escreva o script Before para ser executado antes de construir o projeto
script_antes:
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:Userstravisbuildamostra de esignereSignerCKASSLcom'
-
Escreva o script para construir o projeto.
script:
# Baixe e descompacte a configuração do eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command '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 -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Comando 'Move-Item -Destino “eSigner_CKA_1.0.3.exe” -Caminho “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'
# Configure o eSignerCKA no modo silencioso
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuildamostra de esignereSignerCKASSLcom” | Fora-Nulo'
# Verifique o diretório de instalação
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Userstravisbuildamostra de esignereSignerCKASSLcom'
# Configurar informações da conta no eSignerCKA
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Userstravisbuildamostra de esignereSignerCKASSLcomeSignerCKATool.exe config -mode ${MODE} -user “${NOME DE USUÁRIO}”
-pass “${PASSWORD}” -totp “${TOTP_SECRET}” -key “C:Userstravisbuildamostra de esignereSignerCKASSLcommaster.key” -r'
# Descarregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Userstravisbuildamostra de esignereSignerCKASSLcomeSignerCKATool.exe descarregar'
# Carregue o certificado na Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Userstravisbuildamostra de esignereSignerCKASSLcomeSignerCKATool.exe carregar'
# Selecione o certificado da Windows Store
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | Selecione-Objeto -Primeiro 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# Impressão digital do certificado de depuração
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $Impressão digital'
# Assinar arquivo de amostra com SignTool
– powershell.exe -ExecutionPolicy Bypass -Command “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); 'C: Arquivos de programas (x86) Windows Kits10binx64signtool.exe sinal /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
Precisa de soluções personalizadas?
Com nosso conhecimento especializado e equipe de suporte cinco estrelas, estamos prontos e dispostos a trabalhar com você em soluções personalizadas ou descontos em assinaturas de alto volume de nível empresarial. Preencha o formulário abaixo e entraremos em contato.