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

Conteúdo Relacionado

Quer continuar aprendendo?

Assine a newsletter de SSL.com, mantenha-se informado e seguro.

eSigner CKA (Adaptador de chave de nuvem) é um aplicativo baseado em Windows que usa a interface CNG (KSP Key Service Provider) para permitir que ferramentas como certutil.exe e signtool.exe usem a API eSigner CSC para operações de assinatura. Ele age como um token USB virtual e carrega os certificados de assinatura de código para o armazenamento de certificados. Esse recurso ajuda a tornar seu certificado eSigner mais flexível com opções para automatizar assinaturas em processos de CI/CD que não existem com um token USB físico.

Este guia mostra como executar assinatura de código manual e automatizada no Windows SignTool usando um certificado de produção ou certificado de teste. 

Observação: o eSigner CKA permite opções flexíveis para automatizar assinaturas em processos de CI/CD que não existem com um token USB físico. Para obter orientação sobre como usar o eSigner CKA para assinatura de código automatizada em ferramentas de CI/CD, incluindo CircleCI, GitHub Actions, Gitlab CI e Travis CI, visite esta página: 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.

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. A /fd sha256 opção que especifica o algoritmo de hash
  3. A / 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. A /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"

Nota: 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

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.

Adoraríamos receber seu feedback

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