SignTool. exe (ferramenta de assinatura)
Sinal é uma ferramenta de linha de comando que digitalmente assina os arquivos, verifica as assinaturas em arquivos e arquivos de carimbos de hora.
Ferramenta de assinatura é instalada automaticamente com o Visual Studio. Para iniciar a ferramenta, use o Prompt de comando Visual Studio. Ferramenta de assinatura possui a seguinte sintaxe geral:
signtool [command] [options] [file_name | ...]
Parâmetros
Argumento |
Descrição |
---|---|
command |
Um dos quatro comandos (catdb, sign, Timestamp, ou Verify) que especifica uma operação a ser executada em um arquivo. Para obter uma descrição de cada comando, consulte a próxima tabela. |
options |
Uma opção que modifica um comando. Com o global /q e /v de opções, cada comando oferece suporte a um conjunto exclusivo de opções. |
file_name |
O caminho para um arquivo para assinar. |
Os seguintes comandos são suportados pela ferramenta de sinal. Cada comando é usado com um conjunto distinto de opções, que são listados em suas respectivas seções.
Comando |
Descrição |
---|---|
catdb |
Adiciona um arquivo de catálogo para ou remove do banco de dados do catálogo. Bancos de dados de catálogo são usados para pesquisa automática de arquivos de catálogo e são identificados por um GUID. Para obter uma lista das opções de suporte a catdb de comando, consulte catdb Command Options. |
sign |
Assina digitalmente os arquivos. Assinaturas digitais proteger arquivos contra violação e permitem que os usuários verificar o signatário com base em um certificado de assinatura. Para obter uma lista das opções de suporte a sign de comando, consulte sign Command Options. |
Timestamp |
Arquivos de carimbos de hora. Para obter uma lista das opções de suporte a TimeStamp de comando, consulte TimeStamp Command Options. |
Verify |
Verifica a assinatura digital de arquivos determinando se o certificado de assinatura foi emitido por uma autoridade confiável, se o certificado de assinatura foi revogado e, opcionalmente, se o certificado de assinatura é válido para uma diretiva específica. Para obter uma lista das opções de suporte a Verify de comando, consulte Verify Command Options. |
As opções a seguir se aplicam a todos os comandos da ferramenta de assinatura.
Opção global |
Descrição |
---|---|
/q |
Nenhuma saída em execução com êxito e de saída mínima para execução com falha. |
/v |
Saída detalhada para execução com êxito, falha de execução e mensagens de aviso. |
catdb opções de comando
A tabela a seguir lista as opções que podem ser usadas com o catdb comando.
Opção de Catdb |
Descrição |
---|---|
/d |
Especifica que o banco de dados padrão do catálogo é atualizado. Se nem o /d nem /g opção é usada, a ferramenta de assinatura atualiza o sistema componente e o driver de banco de dados. |
/g GUID |
Especifica que o banco de dados do catálogo é identificado pelo identificador globalmente exclusivo GUID é atualizado. |
/r |
Remove os catálogos especificados do banco de dados de catálogo. Se essa opção não for especificada, a ferramenta de assinatura adiciona catálogos especificados no banco de dados do catálogo. |
/u |
Especifica que um nome exclusivo é gerado automaticamente para os arquivos de catálogo adicionado. Se necessário, os arquivos de catálogo são renomeados para evitar conflitos de nome com arquivos de catálogo existentes. Se essa opção não for especificada, a ferramenta de assinatura substitui qualquer catálogo existente que tenha o mesmo nome que o catálogo que está sendo adicionado. |
Opções de comando de assinar
A tabela a seguir lista as opções que podem ser usadas com o sign comando.
Opção de comando do sinal |
Descrição |
---|---|
/a |
Seleciona automaticamente o melhor que o certificado de assinatura. Ferramenta de assinatura encontrará todos os certificados válidos que satisfaçam a todas as condições especificadas e selecione aquele que é válido para um tempo maior. Se essa opção não estiver presente, ferramenta de assinatura espera encontrar apenas um certificado de assinatura válido. |
/ac arquivo |
Adiciona um certificado adicional de arquivo para o bloco de assinatura. |
/c Nome_modelo_cert |
Especifica o nome do modelo de certificado (uma extensão da Microsoft) para o certificado de assinatura. |
/csp CSPName |
Especifica o provedor de serviços de criptografia (CSP) que contém o recipiente de chave particular. |
/d Desc |
Especifica uma descrição do conteúdo assinado. |
/du URL |
Especifica um localizador de recursos uniforme (URL) descrição do conteúdo assinado expandida. |
/f SignCertFile |
Especifica o certificado de assinatura em um arquivo. Se o arquivo está no formato de Personal Information Exchange (PFX) e protegido por senha, use o /p opção para especificar a senha. Se o arquivo não contém chaves particulares, use o /csp e /k Opções para especificar o CSP e o nome do contêiner de chave particular. |
/fd |
Especifica o algoritmo de digest de arquivo a ser usado para criar assinaturas de arquivos. O padrão é SHA1. |
/i IssuerName |
Especifica o nome do emissor do certificado de assinatura. Esse valor pode ser uma subseqüência de caracteres do nome do emissor inteira. |
/kc PrivKeyContainerName |
Especifica o nome do contêiner de chave particular. |
/n SubjectName |
Especifica o nome do assunto de certificado de assinatura. Esse valor pode ser uma subseqüência de caracteres do nome da entidade inteira. |
/nph |
Se suportado, suprime os hashes de página para arquivos executáveis. O padrão é determinado pela variável de ambiente SIGNTOOL_PAGE_HASHES e pela versão Wintrust. dll. |
/p Senha |
Especifica a senha para usar ao abrir um arquivo PFX. (Use o /f opção para especificar um arquivo PFX.) |
/ph |
Se suportado, gera hashes de página para arquivos executáveis. |
/r RootSubjectName |
Especifica o nome do assunto do certificado raiz que o certificado de assinatura deve cadeia para. Este valor pode ser uma subseqüência de caracteres do nome inteiro do assunto do certificado raiz. |
/s StoreName |
Especifica o armazenamento para abrir ao procurar o certificado. Se essa opção não for especificada, o My abrir o armazenamento. |
/sha1 Hash |
Especifica o hash SHA1 do certificado de assinatura. |
/sm |
Especifica que um armazenamento de máquina, em vez de um armazenamento de usuário é usado. |
/t URL |
Especifica a URL do servidor de carimbo de data / hora. Se essa opção (ou /tr) é não estiver presente, o arquivo assinado não será com carimbo de hora. Um aviso é gerado se datação falhar. Esta opção não pode ser usada com o /tr opção. |
/td ALG |
Usado com o /tr opção de solicitar um algoritmo de digest usado pelo servidor de carimbo do RFC 3161 do tempo. |
/tr URL |
Especifica a URL do servidor de carimbo de hora de RFC 3161. Se essa opção (ou /t) é não estiver presente, o arquivo assinado não será com carimbo de hora. Um aviso é gerado se datação falhar. Esta opção não pode ser usada com o /t opção. |
/u Uso |
Especifica o uso avançado de chave (EKU) que deve estar presente no certificado de assinatura. O valor de uso pode ser especificado por OID ou seqüência de caracteres. O uso do padrão é a "Assinatura de código" (1.3.6.1.5.5.7.3.3). |
/uw |
Especifica o uso de "Verificação de componente de sistema do Windows" (1.3.6.1.4.1.311.10.3.6). |
Opções de comando de carimbo de hora
A tabela a seguir lista as opções que podem ser usadas com o TimeStamp comando.
Opção de carimbo de hora |
Descrição |
---|---|
/t URL |
Especifica a URL do servidor de carimbo de data / hora. O arquivo sendo com carimbo de hora deve ter anteriormente foi assinado. Tanto o /t ou /tr opção é necessária. |
/td ALG |
Solicita um algoritmo de digest usado pelo servidor de carimbo de hora RFC 3161. /tdé usado com o /tr opção. |
/tr URL |
Especifica a URL do servidor de carimbo de hora de RFC 3161. O arquivo sendo com carimbo de hora deve ter anteriormente foi assinado. Tanto o /tr ou /t opção é necessária. |
Verifique as opções de comando
Verifique se a opção |
Descrição |
---|---|
/a |
Especifica que todos os métodos que podem ser usados para verificar o arquivo. Primeiro, os bancos de dados de catálogo são pesquisados para determinar se o arquivo está assinado em um catálogo. Se o arquivo não estiver assinado em qualquer catálogo, a ferramenta de assinatura tenta verificar a assinatura incorporada do arquivo. Essa opção é recomendada quando verificando os arquivos que podem ou não ser assinado em um catálogo. Arquivos do Windows ou drivers são exemplos desses arquivos. |
/ad |
Localiza o catálogo usando o banco de dados padrão do catálogo. |
/as |
Localiza o catálogo usando o banco de dados do catálogo de componente (driver) do sistema. |
/ag CatDBGUID |
Localiza o catálogo do banco de dados do catálogo é identificado pelo CatDBGUID. |
/c CatFile |
Especifica o arquivo de catálogo pelo nome. |
/d |
Especifica que a ferramenta de assinatura deve imprimir a descrição e a URL de descrição. |
/kp |
Especifica que a verificação deve ser realizada com a diretiva de assinatura de driver de modo de kernel. |
/o Versão |
Verifica o arquivo pela versão do sistema operacional. Versão tem a seguinte forma: PlatformID:VerMajor.VerMinor.BuildNumber |
/pa |
Especifica que a diretiva de verificação de Authenticode padrão deve ser usada. Se o /pa opção não for especificada, a ferramenta de sinal usa a diretiva de verificação de Driver do Windows. Esta opção não pode ser usada com o catdb Opções. |
/pg PolicyGUID |
Especifica uma diretiva de verificação por GUID. O PolicyGUID corresponde do ActionID da diretiva de verificação. Esta opção não pode ser usada com o catdb Opções. |
/ph |
Especifica que a ferramenta de assinatura deve imprimir e verifique se os valores de hash de página. |
/r RootSubjectName |
Especifica o nome do assunto do certificado raiz que o certificado de assinatura deve cadeia para. Esse valor pode ser uma subseqüência de caracteres do nome inteiro do assunto do certificado raiz. |
/tw |
Especifica que deve ser gerado um aviso se a assinatura não é com carimbo de hora. |
Valor de retorno
Sinal ferramenta retorna um dos seguintes códigos de saída quando ele termina.
Código de saída |
Descrição |
---|---|
0 |
Execução com êxito. |
1 |
Falha na execução. |
2 |
Execução concluída com avisos. |
Exemplos
O comando a seguir adiciona o arquivo de catálogo MyCatalogFileName.cat no banco de dados de componente e o driver de sistema. O /v opção gera um nome exclusivo, se necessário, para evitar a substituição de um arquivo de catálogo existente chamado MyCatalogFileName.cat.
signtool catdb /v /u MyCatalogFileName.cat
O comando a seguir assina automaticamente um arquivo usando o certificado de melhor.
signtool sign /a MyFile.exe
O comando a seguir assina digitalmente um arquivo usando um certificado armazenado em um arquivo PFX protegido por senha.
signtool sign /f MyCert.pfx /p MyPassword MyFile.exe
O comando a seguir digitalmente sinais e carimbos de hora um arquivo. O certificado usado para assinar o arquivo é armazenado em um arquivo PFX.
signtool sign /f MyCert.pfx /t http://timestamp.verisgn/com/scripts.timstamp.dll MyFile.exe
O comando a seguir assina um arquivo usando um certificado localizado no My store, que tem um nome de assunto de My Company Certificate.
signtool sign /n "My Company Certificate" MyFile.exe
O comando a seguir assina um controle de ActiveX e fornece informações que são exibidas pelo Internet Explorer quando o usuário é solicitado a instalar o controle.
Signtool sign /f MyCert.pfx /d: "MyControl" /du http://www.example.com/MyControl/info.html MyControl.exe
Os seguinte comando-carimbos de hora um arquivo que já tenha sido assinado digitalmente.
signtool timestamp /t http://timestamp.verisgn/com/scripts.timstamp.dll MyFile.exe
O comando a seguir verifica se um arquivo foi assinado.
signtool verify MyFile.exe
O comando a seguir verifica um arquivo de sistema que pode ser assinado em um catálogo.
signtool verify /a SystemFile.dll
O comando a seguir verifica um arquivo de sistema que está assinado em um catálogo denominado MyCatalog.cat.
signtool verify /c MyCatalog.cat SystemFile.dll
Consulte também
Referência
Prompt de comando Visual Studio
Outros recursos
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Maio de 2010 |
Reorganizado; atualizado de comandos e opções. |
Comentários do cliente. |