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
- Um certificado de assinatura de código emitido pela SSLcom.
- 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
- 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).
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:
- 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 bloqueador de malware ativado são escolhidos.
- Instale o eSigner Cloud Key Adapter.
- Instale o eSigner CodeSignTool. Clique aqui para baixar eSigner CodeSignTool.
- Digitalize o código no CodeSignTool usando o seguinte comando:
scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
- 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:
- 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. - A /fd sha256 opção que especifica o algoritmo de hash
- A / tr http://ts.ssl.com opção que especifica o endereço do servidor de carimbo de data/hora
- /td sha256 opção que especifica o algoritmo de compilação de carimbo de data/hora
- 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
- O real impressão digital do certificado
- 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".
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
- Como assinar um arquivo Hardware Lab Kit (HLK) usando eSigner CKA e HLKSigntool. O Hardware Lab Kit (HLK) é utilizado para testar e preparar drivers de modo kernel para envio à Microsoft. Para integração com a plataforma HLK da Microsoft, o eSigner CKA também exige a instalação do HLKSigntool.
- Como assinar macros VBA usando eSigner CKA. O Microsoft Visual Basic for Applications (VBA) permite que pessoas sem experiência em programação gravem, criem e modifiquem macros que automatizam tarefas repetitivas em aplicativos do Office.
- Como assinar arquivos .app usando eSigner CKA. O arquivo Microsoft_Application.app contém de forma abrangente todas as extensões que constituem uma solução, oferecendo um método eficiente para definir e referenciar a identidade dessa solução.
- Como assinar arquivos vsix usando eSigner CKA. A
.vsix
arquivo é um pacote instalador para extensões e complementos do Visual Studio, o ambiente de desenvolvimento integrado (IDE) da Microsoft.