Compartilhar via


Assinar pacotes VSIX

Os assemblies de extensão não precisam ser assinados antes de serem executados no Visual Studio, mas é uma boa prática fazer isso.

Se você quiser proteger sua extensão e garantir que ela não tenha sido adulterada, você pode adicionar uma assinatura digital a um pacote VSIX. Quando um VSIX é assinado, o instalador do VSIX exibirá uma mensagem indicando que ele está assinado, além de mais informações sobre a assinatura em si. Se o conteúdo do VSIX tiver sido modificado e o VSIX não tiver sido assinado novamente, o instalador do VSIX mostrará que a assinatura não é válida. A instalação não é interrompida, mas o usuário é avisado.

Importante

A partir do Visual Studio 2015, os pacotes VSIX assinados usando qualquer coisa diferente da criptografia SHA256 serão identificados como tendo uma assinatura inválida. A instalação do VSIX não está bloqueada, mas o usuário será avisado.

Assinando um VSIX com VSIXSignTool

Há uma ferramenta de assinatura de criptografia SHA256 disponível no VisualStudioExtensibility em nuget.org no VsixSignTool.

Para usar o VSIXSignTool

  1. Adicione seu VSIX a um projeto.

  2. Clique com o botão direito do mouse no nó do projeto no Gerenciador de Soluções, selecionando Adicionar | Gerenciar pacotes NuGet. Para obter mais informações sobre o NuGet e a adição de pacotes NuGet, consulte a documentação do NuGet e os tópicos da interface do usuário do Gerenciador de Pacotes.

  3. Procure VSIXSignTool em VisualStudioExtensibility e instale o pacote NuGet.

  4. Agora você pode executar o VSIXSignTool a partir do local de pacotes locais do projeto. Consulte a ajuda da linha de comando da ferramenta para seu cenário de assinatura (VSIXSignTool.exe /?).

    Por exemplo, para assinar com um arquivo de certificado protegido por senha:

    VSIXSignTool.exe sinal /f <certfile /p <senha><VSIXfile>>