Eu tive o mesmo cenário no meu trabalho e aqui estão nossas descobertas
A primeira coisa que você precisa fazer é obter o certificado e instalá-lo no seu computador; você pode comprar um de uma Autoridade de Certificação ou gerar um usando o makecert .
Aqui estão os prós e contras das 2 opções
Compre um certificado
- Prós
- O uso de um certificado emitido por uma CA (Autoridade de Certificação) garantirá que o Windows não avise o usuário final sobre um aplicativo de um "editor desconhecido" em qualquer Computador que use o certificado da CA (o SO normalmente vem com os certificados raiz de várias CAs )
- Contras:
- Há um custo envolvido na obtenção de um certificado de uma CA
Gere um certificado usando Makecert
- Prós:
- As etapas são fáceis e você pode compartilhar o certificado com os usuários finais
- Contras:
- Os usuários finais terão que instalar manualmente o certificado em suas máquinas e, dependendo de seus clientes, isso pode não ser uma opção
- Certificados gerados com makecert são normalmente usados para desenvolvimento e teste, não para produção
Assine o arquivo executável
Existem duas maneiras de assinar o arquivo que você deseja:
Usando um certificado instalado no computador
signtool.exe assina / a / s MY / sha1 sha1_thumbprint_value / t http://timestamp.verisign.com/scripts/timstamp.dll / v "C: \ filename.dll"
- Neste exemplo, estamos usando um certificado armazenado na pasta Pessoal com uma impressão digital SHA1 (esta impressão digital vem do certificado) para assinar o arquivo localizado em "C: \ filename.dll"
Usando um arquivo de certificado
signtool sign / tr http://timestamp.digicert.com / td sha256 / fd sha256 / f "c: \ caminho \ para \ mycert.pfx" / p pfxpassword "c: \ caminho \ para \ arquivo.exe"
- Neste exemplo, estamos usando o certificado "c: \ path \ to \ mycert.pfx" com a senha pfxpassword para assinar o arquivo "c: \ path \ to \ file.exe"
Teste sua assinatura
Método 1: usando o signtool
Vá para: Iniciar> Executar Digite CMD> clique em OK No prompt de comando, digite o diretório em que a ferramenta de assinatura existe Execute o seguinte:
signtool.exe verifica / pa / v "C: \ filename.dll"
Método 2: usando o Windows
Clique com o botão direito do mouse no arquivo assinado. Selecione Propriedades. Selecione a guia Assinaturas digitais. A assinatura será exibida na seção Lista de assinaturas.
Espero que isso possa ajudá-lo
Fontes: