Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
SignTool é uma ferramenta de linha de comando usada para assinar digitalmente um pacote de aplicativo ou pacote com um certificado. O certificado pode ser criado pelo usuário (para fins de teste) ou emitido por uma empresa (para distribuição). A assinatura de um pacote de aplicativo fornece ao usuário a verificação de que os dados do aplicativo não foram modificados depois que ele foi assinado, ao mesmo tempo em que confirma a identidade do usuário ou da empresa que o assinou. O SignTool pode assinar pacotes de aplicações criptografados ou não criptografados.
Importante
Se você usou o Visual Studio para desenvolver seu aplicativo, é recomendável usar o assistente do Visual Studio para criar e assinar seu pacote de aplicativo. Para obter mais informações, consulte Empacotar um aplicativo UWP com o Visual Studio e Empacotar um aplicativo da área de trabalho a partir do código-fonte usando o Visual Studio.
Para obter mais informações sobre assinatura de código e certificados em geral, consulte Introdução à assinatura de código.
Pré-requisitos
Um aplicativo empacotado
Para saber mais sobre como criar manualmente um pacote de aplicativo, consulte Criar um pacote de aplicativo com a ferramenta MakeAppx.exe.Um certificado de assinatura válido
Para obter mais informações sobre como criar ou importar um certificado de assinatura válido, consulte Criar ou importar um certificado para assinatura de pacote.SignTool.exe
Com base no caminho de instalação do SDK, é aqui que o SignTool está no seu PC com Windows 10:- x86: C:\Programas (x86)\Windows Kits\10\bin\<versão do SDK>\x86\SignTool.exe
- x64: C:\Programas (x86)\Windows Kits\10\bin\<SDK versão>\x64\SignTool.exe
Usando o SignTool
O SignTool pode ser usado para assinar arquivos, verificar assinaturas ou carimbos de data/hora, remover assinaturas e muito mais. Para assinar um pacote de aplicativo, vamos nos concentrar no comando sign . Para obter informações completas sobre o SignTool, consulte a página de referência do SignTool .
Determinar o algoritmo de hash
Ao usar o SignTool para assinar o seu pacote ou bundle de aplicativo, o algoritmo de hash usado no SignTool deve ser o mesmo algoritmo que usou para empacotar o seu aplicativo. Por exemplo, se você usou MakeAppx.exe para criar seu pacote de aplicativo com as configurações padrão, deverá especificar SHA256 ao usar o SignTool , pois esse é o algoritmo padrão usado por MakeAppx.exe.
Para descobrir qual algoritmo de hash foi usado durante o empacotamento do aplicativo, extraia o conteúdo do pacote do aplicativo e inspecione o arquivo AppxBlockMap.xml. Para saber como descompactar/extrair um pacote de aplicativo, consulte Extrair arquivos de um pacote ou pacote. O método hash está no elemento BlockMap e tem este formato:
<BlockMap xmlns="http://schemas.microsoft.com/appx/2010/blockmap"
HashMethod="http://www.w3.org/2001/04/xmlenc#sha256">
Esta tabela mostra cada valor HashMethod e seu algoritmo de hash correspondente:
| Valor do Método Hash | Algoritmo de hash |
|---|---|
| http://www.w3.org/2001/04/xmlenc#sha256 | SHA256 |
| http://www.w3.org/2001/04/xmldsig-more#sha384 | SHA384 |
| http://www.w3.org/2001/04/xmlenc#sha512 | SHA512 |
Observação
Como o algoritmo padrão do SignTool é SHA1 (não disponível no MakeAppx.exe), você sempre deve especificar um algoritmo de hash ao usar o SignTool.
Assinar o pacote da aplicação
Depois de ter todos os pré-requisitos e determinar qual algoritmo de hash foi usado para empacotar seu aplicativo, você estará pronto para assiná-lo.
A sintaxe de linha de comando geral para assinatura de pacote SignTool é:
SignTool sign [options] <filename(s)>
O certificado usado para assinar seu aplicativo deve ser um arquivo .pfx ou estar instalado em um repositório de certificados.
Para assinar o pacote do aplicativo com um certificado de um arquivo .pfx, use a seguinte sintaxe:
SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.appx
SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.msix
Observe que a opção permite que o /aSignTool escolha o melhor certificado automaticamente.
Se o certificado não for um arquivo .pfx, use a seguinte sintaxe:
SignTool sign /fd <Hash Algorithm> /n <Name of Certificate> <File Path>.appx
SignTool sign /fd <Hash Algorithm> /n <Name of Certificate> <File Path>.msix
Como alternativa, você pode especificar o hash SHA1 do certificado desejado em vez de <Nome do certificado> usando esta sintaxe:
SignTool sign /fd <Hash Algorithm> /sha1 <SHA1 hash> <File Path>.appx
SignTool sign /fd <Hash Algorithm> /sha1 <SHA1 hash> <File Path>.msix
Para obter mais exemplos, consulte Usando o SignTool para assinar um arquivo
Observe que alguns certificados não usam uma senha. Se o certificado não tiver uma senha, omita "/p <Your Password>" dos comandos de exemplo.
Depois que o pacote do aplicativo for assinado com um certificado válido, você estará pronto para carregar o pacote para a Loja. Para obter mais orientações sobre como carregar e enviar aplicativos para a Loja, consulte Envios de aplicativos.