Compartilhar via


Gerenciando Assinatura de Assembly e Manifesto

Assinatura de nome forte fornece uma identidade exclusiva do componente de software a globalmente.Nomes fortes são usados para garantir que o assembly não podem ser falsificadas por outra pessoa, e para garantir que as dependências componente e instruções de configuração componente e versão de componente corretos.

Um nome forte consiste da identidade do assembly (nome de texto simples, número de versão, e informações culturais), mais um símbolo de chave pública e uma assinatura digital.

Para obter informações sobre como assinar assemblies em projetos Visual Basic e C#, consulte Criando e usando assemblies de nomes fortes.

Para obter informações sobre assinatura de conjuntos de módulos (assemblies) em Visual C++ projetos, consulte Assemblies de nome forte (assinatura de assembly) (C++/CLI).

Tipos e assinatura de recurso

Você pode assinar assemblies .NET e manifestos de aplicativo.Eles incluem o seguinte:

  • executáveis (.exe)

  • o manifestos de aplicativo (.exe.manifest)

  • a manifestos de implantação (.application)

  • assemblies de componentes compartilhados (.dll)

Você deve assinar os seguintes tipos de recursos:

  1. assemblies, se você deseja distribuí-los na cachê global de assemblies (GAC).

  2. ClickOnceManifestos de Implantação (.application)O Visual Studio permite assinar por padrão para esses aplicativos.

  3. Assemblies de interoperabilidade primária, que são usados para interoperabilidade COM.O utilitário TLBIMP impõe nomes fortes ao criar uma assembly de interoperabilidade primária a partir um biblioteca de tipos COM.

Em geral você não deve assinar executáveis.Um componente de nome forte não pode fazer referência a um componente não-forte- nomeado que é implantado com o aplicativo.Visual Studio não executáveis assinatura do aplicativo, mas assinatura ao manifesto do aplicativo, que aponta para o arquivo weak-nomeada.Geralmente você deve evitar assinar os componentes que são exclusivos do seu aplicativo, como assinar pode fazer o mais difícil gerenciar dependências.

Como assinar um assembly no Visual Studio

Você assina um aplicativo ou componente usando o guia de Assinando da janela propriedades do projeto (clique com o botão direito do mouse no nó de projeto em Gerenciador de Soluções e em Propriedadesselecione, ou digite propriedades do projeto na janela de Início Rápido , ou em pressione ENTER de ALT+ dentro da janela de Gerenciador de Soluções ).Selecione a guia de Assinando , então selecione a caixa de seleção Assinar o assembly .

Especifique um arquivo de chaves.Se você escolher para criar um novo arquivo de chave, observe que os novos arquivos de chave sempre são criados no formato .pfx.Você precisa de um nome e uma senha para o novo arquivo.

Observação de cuidadoCuidado

Você sempre deve proteger o arquivo de chave com uma senha para impedir que alguém o use.Você também pode proteger suas chaves usando provedores ou armazenamentos de certificados.

Você também pode apontar a uma chave que você já tiver criado.Para obter mais informações sobre como criar chaves, consulte Como criar um par de chaves pública/privada.

Se você tiver acesso somente a uma chave pública, você pode usar o atraso de assinatura para diferir da chave.Você ativa o atraso de assinatura marcando a caixa de seleção Somente sinal de atraso .Um projeto atraso - assinado não será executado, e você não pode depurada.No entanto, você pode ignorar a verificação durante o desenvolvimento usando Sn.exe (Ferramenta de Nome Forte) com a opção de -Vr .

Para obter informações sobre assinatura de manifestos, consulte Como assinar manifestos de aplicativo e implantação.

Consulte também

Conceitos

Assemblies de nomes fortes

Assemblies de nome forte (assinatura de assembly) (C++/CLI)