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

Ferramentas.NET Framework

Histórico de alterações

Date

History

Motivo

Maio de 2010

Reorganizado; atualizado de comandos e opções.

Comentários do cliente.