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

Este guia mostra como instalar o eSigner CKA e usá-lo para assinatura de código automatizada e manual no SignTool. 

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 a API compatível com eSigner Cloud Signature Consortium (CSC) para operações de assinatura de código empresarial. Ele age como um token USB virtual e carrega os certificados de assinatura de código no armazenamento de certificados.

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.

NOTA 

Este material instrucional requer o seguinte: 

  1. Certificado de assinatura de código EV emitido. 
  2. Certificado de assinatura de código EV deve estar atualmente inscrito no eSigner. Se este não for o caso, consulte este artigo guia
  3. Um aplicativo autenticador instalado no seu celular, como o aplicativo autenticador do Google.

 

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

Formule a linha de comando

Componentes da linha de comando

Para assinatura de código manual e automatizada, você precisará digitar na linha de comando em seu editor de texto, como Prompt de comando. A linha de comando contém:

  1. A localização do SignTool (ferramenta de linha de comando responsável por assinar digitalmente um arquivo e verificar a assinatura), entre aspas duplas: “C:\Arquivos de Programas (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe”
  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. A impressão digital do certificado real
  7. O caminho do arquivo que será assinado, entre aspas duplas: “SIGNABLE FILE PATH”

Em geral, a linha de comando deve se parecer 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"

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 guia e, em seguida, role para baixo para revelar a impressão digital. Copie a impressão digital e inclua-a na linha de comando ao assinar o código.

Assinatura de código manual

Instale o eSigner CKA

Ao escolher o modo de instalação, selecione Assinatura de código manual e, em seguida, clique no botão OK.

Faça login no programa eSigner CKA

Após a instalação do eSigner CKA, abra o programa e faça o login usando o nome de usuário e a senha da sua conta SSL.com.

Após o login bem-sucedido, você poderá ver o nome da entidade para a qual o certificado de assinatura do código EV foi emitido, o número de série, a data de validade e o EVCS (Assinatura do Código de Validação Estendida).

Escreva a linha de comando no editor de texto

Para relembrar, a linha de 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 a linha de comando em seu editor de texto 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.

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.

Ao clicar Detalhes, você poderá ler as informações informando 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

Instale o eSigner CKA

Ao escolher o modo de instalação, selecione Assinatura de código automatizada e, em seguida, clique no botão OK.

Salve o arquivo de chave mestra

Uma nota aparecerá explicando a importância de proteger o Arquivo da Chave Mestra. Leia-o e clique no botão OK.

Uma janela será exibida permitindo que você escolha onde salvar o arquivo de chave mestra.

Digite o nome de usuário e a senha da sua conta SSL.com

Insira o nome de usuário e a senha da sua conta SSL.com.

Digite seu eSigner Senha única baseada em tempo (TOTP)

Em seguida, coloque sua senha de uso único com base no tempo (TOTP). Você pode encontrar seu TOTP incluído nos detalhes do pedido do certificado de assinatura de código EV em sua conta SSL.com. Digite o PIN de 4 dígitos que você definiu anteriormente quando registrou seu pedido no eSigner e clique no botão Mostrar código QR botão para revelar o TOTP.

Seu TOTP será mostrado em uma caixa rotulada codigo secreto. Copie o TOTP, cole-o no Segredo TOTP campo da janela eSigner CKA e, em seguida, clique no OK botão para salvá-lo. 

Depois de inserir as credenciais da sua conta SSL.com e o TOTP, você poderá visualizar os detalhes do seu certificado de assinatura de código EV. Caso você decida atualizar seu TOTP, cole o novo TOTP no campo alocado e clique em Economize.

Escreva a linha de comando no editor de texto

Para relembrar, a linha de 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 a coloque a linha de comando. Depois de 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. 

Como testar o eSigner CKA com sua conta sandbox

Instale o eSigner CKA

Escolha se deseja instalá-lo em manual or Automated modo

****Tome nota que se você escolheu um modo, você tem que reinstalar o programa antes de poder testá-lo no outro modo.*****

Abra o subdiretório Roaming de Appdata

 Para testar o eSigner CKA usando sua conta de sandbox SSL.com, você deve modificar as configurações do aplicativo no subdiretório Roaming da pasta AppData. Entrar %Dados do aplicativo% na barra de pesquisa do Windows para levá-lo diretamente ao subdiretório de roaming de AppData.

Abrir eSigner Arquivo de dados com seu editor de texto

Abra o eSignerCKA pasta, localize o arquivo esignerapp.data, clique com o botão direito do mouse e escolha a opção de editar o arquivo usando seu editor de texto, neste caso Notepad + +

Ao abrir o editor de texto, você verá os conjuntos de valores abaixo.

Você pode separar os conjuntos de valores em linhas sucessivas para que sejam mais fáceis de editar. 

Assinatura de teste de modo manual

Para testar a assinatura no modo Manual, os seguintes valores devem estar presentes:

  1. O ID do cliente deve ser: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Adicionar -Experimente na api_url
    Antes: “api_url”:”https://cs.ssl.com/csc/v0/
    Depois: “api_url”:”https://cs-tentar.ssl.com/csc/v0/"
  3. Substituir entrar de oauth-sandbox no auth_url
    Antes: “auth_url”:”https://entrar.ssl.com/oauth2/token”
    Depois: “auth_url”:”https://oauth-sandbox.ssl.com/oauth2/token”
  4. “modo_cred”: 0
  5. “chave_mestre”: null

Assinatura de teste de modo automatizado

Para testar a assinatura no modo Automatizado, os seguintes valores devem estar presentes:

  1. O ID do cliente deve ser: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Adicionar -Experimente na api_url
    Antes: “api_url”:”https://cs.ssl.com/csc/v0/
    Depois: “api_url”:”https://cs-tentar.ssl.com/csc/v0/"
  3. Substituir entrar de oauth-sandbox no auth_url
    Antes: “auth_url”:”https://entrar.ssl.com/oauth2/token”
    Depois: “auth_url”:”https://oauth-sandbox.ssl.com/oauth2/token”
  4. “modo_cred”: 1
  5. Substituir nulo em master_key com o caminho exato do arquivo do seu chave mestra arquivo.
    Ao instalar o eSigner CKA no modo automatizado para fins de teste, você deve fornecer as credenciais de login da sua conta de sandbox. O motivo é que, na assinatura automática de código, as credenciais de login são criptografadas usando a chave mestra. Se você inserir credenciais de login de produção na instalação e depois alterar os valores no arquivo esignerapp.data seguindo um formato de teste automatizado, não poderá realizar testes porque o nome de usuário e a senha fornecidos não estão presentes no ambiente de teste de sandbox.

Faça login no eSigner CKA usando as credenciais da sua conta de sandbox SSL.com

Após alterar os valores em esignerapp.data, agora você pode testar seu certificado de assinatura de código EV em seu sandbox seguindo as mesmas etapas descritas anteriormente para um certificado ativo.

Como assinar um arquivo Hardware Lab Kit (HLK) usando eSigner CKA e HLKSigntool

Hardware Lab Kit é uma ferramenta para testar e preparar um driver de modo kernel para envio à Microsoft. Atualmente o eSigner CKA também requer que o HLKSigntool seja instalado para ser usado no software HLK da Microsoft 

O eSigner CKA deve primeiro ser instalado e configurado (usuário conectado e conjunto de segredos TOTP) antes de executar o HLKSignTool.exe. 

Passo 1. Instalar e configurar o eSigner CKA

Passo 2. Use HLKSignTool com a linha de comando abaixo

Linha de comando
HLKSignTool.exe certificado_serial “caminho_para_arquivo”

Exemplo:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

Como assinar macros VBA usando eSigner CKA

Baixe e instale usando este link Pacotes de interface de assunto do Microsoft Office para assinatura digital de projetos VBA usando este link: https://www.microsoft.com/en-us/download/details.aspx?id=56617

Observação: Alguns usuários podem encontrar uma falha na assinatura porque o VBA oferece um hash SHA1 do código para enviar ao eSigner, mas o eSigner requer SHA256 ou superior. Para resolver isso. Microsoft recomenda o seguinte:

Você pode adicionar um DWORD valor-chave do registro V1HashAprimorado para escolher outro algoritmo hash, em HKCU\SOFTWARE\Microsoft\VBA\Segurança com regras de algoritmo de valor (1 para SHA1, 2 para SHA256, 3 para SHA384, 4 para SHA512).

Depois de instalado, execute as seguintes etapas:

  1. Abra um prompt de comando do administrador e digite o seguinte, o caminho será onde você acabou de instalar os arquivos:

    regsvr32.exe

    regsvr32.exe

    Para obter mais informações sobre como registrar controles OLE, visite Site da Microsoft.

    Se for bem-sucedido, você verá uma mensagem: “DIIRegister Server in teve sucesso.”

  2. Instale o seguinte: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Instale o eSigner CKA
  4. Execute o comando SignTool para assinar macros: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Como assinar arquivos .app usando eSigner CKA

  1. Baixar Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Nota: Se você tentar assinar um .aplicativo arquivo usando eSigner CKA sem primeiro instalar o Microsoft Aplicativo Dynamics 365 Business Central, você receberá este erro SignTool: Este formato de arquivo não pode ser assinado porque não é reconhecido.
  2. Abra o Dynamics.365.BC.55195.US.DVD.zip e extraia o conteúdo para o local de sua preferência.
  3. Abra setup.exe for Microsoft Dynamics 365 Business Central e clique no botão Próxima> botão.
  4. Leia os Termos de Licença de Software Microsoft e clique no botão eu aceito > botão.
  5. Escolha Opções de instalação avançadas
  6. Clique Escolha uma opção de instalação.
  7. Escolha o servidor opção de instalação.
  8. Clique na Aplicar botão.
  9. Aguarde a conclusão da instalação. Após a instalação bem-sucedida, clique no botão Fechar botão.
  10. Assine seu arquivo .app no ​​SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Como assinar arquivos vsix usando eSigner CKA

  1. Baixe o SDK do Dotnet Core: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Instale OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Use este comando de sinal:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Como usar a verificação de malware no eSigner CKA

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 e a  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 Sign Tool 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.

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.