Como automatizar a assinatura de código EV com SignTool.exe ou Certutil.exe usando eSigner CKA (Cloud Key Adapter)

eSigner CKA (Adaptador de chave de nuvem) é um aplicativo Windows que usa a interface CNG (KSP Key Service Provider) para habilitar certutil.exe e signtool.exe para executar operações de assinatura de código por meio do API eSigner CSC.

Funcionando como um token USB virtualEle carrega certificados de assinatura de código com segurança no repositório de certificados do Windows sem a necessidade de hardware físico. Como um método de assinatura baseado em nuvem, o eSigner CKA elimina o custo, os desafios logísticos e os riscos de segurança dos tokens USB, ao mesmo tempo que oferece recursos de assinatura de nível empresarial sem a complexidade dos HSMs em rede. Isso o torna uma solução ideal para diversas necessidades. solução escalável, segura e com boa relação custo-benefício para fluxos de trabalho modernos de assinatura de código.

Este guia abrange Assinatura de código manual e automatizada no Windows usando o SignTool. com certificados de produção ou de teste. Ao contrário dos tokens físicos, o eSigner CKA suporta automação avançada, permitindo uma integração perfeita com ferramentas de CI/CD como GitHub Actions, GitLab CI, CircleCI e Travis CISe você estiver usando uma ferramenta de CI/CD, consulte este guia relacionado: Como integrar o eSigner CKA com ferramentas de CI/CD para assinatura de código automatizada.

Requisitos

  1. Um certificado de assinatura de código emitido pela SSLcom. 
  2. O certificado de assinatura de código deve estar atualmente registrado no eSigner. Consulte este guia: Inscreva-se no eSigner para assinatura remota de documento e código
  3. Instale o eSigner CKA no seu computador e configure o modo de assinatura (manual ou automatizado) e o tipo de assinatura (produção ou teste). Consulte este artigo para obter instruções de instalação: Como instalar o SSL.com eSigner Cloud Key Adapter (CKA).

Os usuários podem assinar o código com o recurso de assinatura de código de validação estendida do eSigner. Clique abaixo para mais informações.

SAIBA MAIS

Procedimento opcional: use a verificação de malware pré-assinada

Malware Scan é um serviço crucial da SSL.com que garante que o software esteja livre de malware antes de ser assinado com um certificado de assinatura de código. Ao integrar o Malware Scan, os desenvolvedores adicionam uma camada robusta de segurança, interrompendo automaticamente o processo de assinatura se o malware for detectado e alertando o desenvolvedor para tomar as ações necessárias.

A SSL.com reserva-se o direito de exigir a verificação de malware quando houver fortes indicadores de risco elevado à segurança, e os clientes podem não ter permissão para cancelar a assinatura até que as preocupações com a segurança sejam resolvidas.

instruções:

  1. Faça login na sua conta SSL.com. Clique na guia pedidos seguido pelo download link do seu certificado para exibir seus detalhes. Role para baixo até ASSINAR CREDENCIAIS seção e localize a parte que mostra suas credenciais de certificado eSigner. Certifique-se de que os botões de opção que dizem credencial de assinatura habilitada bloqueador de malware ativado são escolhidos.
  2. Instale o eSigner Cloud Key Adapter.
  3. Instale o eSigner CodeSignTool. Clique aqui. para baixar eSigner CodeSignTool.
  4. Digitalize o código no CodeSignTool usando o seguinte comando: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Use SignTool para assinar o código com eSigner CKA usando o seguinte comando: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

parâmetros:

  • -input_file_path=<PATH>: Caminho do objeto de código a ser assinado.
  • -username=<USERNAME>SSL.com Nome de usuário da conta
  • -password=<PASSWORD>SSL.com Senha da conta.
  • -program_name=<PROGRAM_NAME>: Nome do programa
  • -credential_id=<CREDENTIAL_ID>: ID da credencial para assinatura do certificado. Seu ID de credencial eSigner está localizado em seu SSL.com página de pedido de certificado.

Formular o comando para assinar o código

Componentes do Comando

Para assinatura de código manual e automatizada, o comando contém:

  1. A localização do SignTool (ferramenta de linha de comando que é responsável por assinar digitalmente um arquivo e verificar a assinatura), entre aspas duplas. Exemplo: “C:\Arquivos de Programas (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe”
    Observação: a localização do SignTool dependerá da versão do SDK baixada e da arquitetura usada.
  2. O /fd sha256 opção que especifica o algoritmo de hash
  3. O / tr http://ts.ssl.com opção que especifica o endereço do servidor de carimbo de data/hora
  4. /td sha256 opção que especifica o algoritmo de compilação de carimbo de data/hora
  5. O /sha1 opção que especifica a impressão digital que o SignTool usa para encontrar o certificado de assinatura de código apropriado no armazenamento de chaves
  6. O real impressão digital do certificado
  7. O caminho do arquivo que será assinado, entre aspas duplas: “SIGNABLE FILE PATH”

No geral, o comando deve ser semelhante ao seguinte: 

“C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” assinar /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 impressão digital do certificado “ CAMINHO DE ARQUIVO ASSINÁVEL"

Observação: Por padrão, SSL.com oferece suporte a registros de data e hora de chaves ECDSA.

Se você encontrar este erro: The timestamp certificate does not meet a minimum public key length requirement, você deve entrar em contato com o fornecedor do software para permitir registros de data e hora das chaves ECDSA.

Se não houver como seu fornecedor de software permitir o uso do endpoint normal, você poderá usar esse endpoint legado http://ts.ssl.com/legacy para obter um registro de data e hora de uma unidade de registro de data e hora RSA.

Localizando sua impressão digital de certificado

Mais tarde, ao instalar o eSigner CKA e adicionar seu certificado de assinatura de código EV ao Armazenamento de certificados de usuário, você poderá verificar a impressão digital do certificado de assinatura de código EV pressionando Tecla do Windows + R e então digite certmgr.msc para acessar o armazenamento de certificados de usuário. Quando a janela do gerenciador de certificados aparecer, clique no botão Pessoal pasta no painel esquerdo e, em seguida, selecione o Profissionais subpasta à direita para localizar seu certificado de assinatura de código EV.

Clique duas vezes no certificado. Selecione os detalhes tab e então role para baixo para revelar a Thumbprint. Copie a Thumbprint e inclua-a em seu comando quando estiver assinando o código.

Assinatura de código manual

Instale o eSigner CKA

Acesse o SignTool via linha de comando

Para relembrar, o comando para assinatura de código se parece com o seguinte: 

“C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” assinar /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 impressão digital do certificado “ CAMINHO DE ARQUIVO ASSINÁVEL"

Ao escrever o comando e pressionar Entrar, você verá a mensagem Concluída a adição de loja adicional. Uma janela será exibida solicitando que você coloque o nome de usuário e a senha da sua conta SSL.com.

Digite a senha de uso único (OTP) 

Uma senha de uso único (OTP) para seu certificado de assinatura de código EV registrado no eSigner será enviada ao seu aplicativo Authenticator. Após a entrada bem-sucedida, o prompt de comando indicará que seu arquivo foi assinado com sucesso.

Sucesso! Seu código agora está assinado. 

Verifique a assinatura digital no arquivo

Após a assinatura de código bem-sucedida, agora você pode verificar os detalhes da assinatura digital no arquivo. Clique com o botão direito do mouse no arquivo assinado, clique em Propriedades, seguido pelo Assinaturas digitais Aba. Aqui você verá o nome do Signatário, o algoritmo de resumo usado e o carimbo de data/hora da assinatura. Clique no Detalhes botão para obter mais informações sobre o código assinado.

Você poderá ler as informações que indicam Esta assinatura digital está OK. Prossiga para clicar no Ver Certificado botão.

Depois de clicar no Ver Certificado botão, você lerá informações indicando que o Certificado Digital emitido para o arquivo assinado garante que ele veio da editora e o protege de alterações após a publicação.

Assinatura de código automatizada

Acesse o SignTool através do comando

Para relembrar, o comando para assinatura de código se parece com o seguinte: 

C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 impressão digital do certificado “SIGNABLE CAMINHO DE ARQUIVO"

Abra Prompt de comando e coloque o comando. Após pressionar enter, você verá o aviso dizendo Concluída a adição de loja adicional.

Após alguns segundos, você verá o aviso Assinado com sucesso. Isso indica que seu arquivo foi assinado de forma automatizada, sem a necessidade adicional de OTPs. 

Verifique a presença da assinatura digital em seu arquivo

Abra o local da pasta do seu arquivo assinado. Clique com o botão direito do mouse e clique em Propriedades. Clique na aba Assinaturas digitais e aqui você verá que o algoritmo de hash seguro usado tem 256 bits. Clique no espaço imediato que mostra o nome do signatário, o algoritmo de resumo e o carimbo de data/hora. Depois de realçado, clique no botão Detalhes botão.

Uma janela pop-up mostrará informando que a assinatura digital no arquivo é válida, bem como indicando a hora específica em que foi assinado. Clique no Ver Certificado botão para ver mais informações sobre o certificado digital EV Code Signing que foi emitido. 

Você verá informações sobre o certificado de assinatura de código EV informando que ele valida você como o criador do executável e protege seu arquivo contra adulterações. 

Guias de assinatura de código relacionados usando eSigner CKA

  • Assinatura de arquivos do Hardware Lab Kit (HLK) – Use o eSigner CKA com Ferramenta de assinatura HLKSigntool Testar e preparar drivers de modo kernel para submissão à Microsoft. A integração com a plataforma HLK da Microsoft requer o HLKSigntool.
  • Assinatura de macros VBA – Aprenda como assinar macros do Microsoft Visual Basic for Applications (VBA), que automatizam tarefas em aplicativos do Office sem exigir conhecimento de programação.
  • Assinar arquivos .app - Sinal .aplicativo Arquivos para definir e referenciar com segurança a identidade de uma solução completa de aplicativos da Microsoft.
  • Assinatura de arquivos .vsix - Sinal .vsix Pacotes de instalação para extensões e complementos do Visual Studio, garantindo a integridade e autenticidade dos componentes do IDE.

Precisa de mais informações sobre assinatura baseada em nuvem? 

  1. eSigner: assinatura de código como serviço
  2. Automação de assinatura de código em nuvem com serviços de CI/CD

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

SSL.com

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.

Visão geral de privacidade
SSL.com

Este site usa cookies para que possamos oferecer a melhor experiência possível ao usuário. As informações sobre cookies são armazenadas no seu navegador e desempenham funções como reconhecê-lo quando você retornar ao nosso site e ajudar nossa equipe a entender quais seções do site você acha mais interessantes e úteis.

Para mais informações, leia nossa Declaração de privacidade e cookies.

Cookies de terceiros

Este site usa Google Analytics & Contador de estatísticas para coletar informações anônimas, como o número de visitantes do site e as páginas mais populares.

Manter esses cookies habilitados nos ajuda a melhorar nosso site.

Mostrar detalhes