Artigo: 302340 - Última revisão: quinta-feira, 29 de Março de 2007 - Revisão: 3.3

Como criar uma assemblagem com um nome seguro no .NET Framework SDK

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

As assemblagens podem ser atribuídas uma assinatura criptográfica denominada um nome seguro, que fornece a exclusividade de nome para a assemblagem e impede que alguém assumam o nome da assemblagem (fraude do nome). Se estiver a implementar uma assemblagem que irá ser partilhada entre várias aplicações no mesmo computador, terá de ter um nome seguro. Este documento descreve como criar uma assemblagem com um nome seguro.

Pré-requisitos

Este artigo pressupõe que instalou e estiver familiarizado com o Visual Studio. NET.

Criar uma assemblagem com um nome seguro

  1. Utilize a ferramenta nome seguro (Sn.exe) que é fornecido com o .NET Framework Software Development Kit (SDK) para gerar um par de chaves criptográficas.

    O seguinte comando utiliza a ferramenta de nome seguro para gerar um novo par de chaves e armazenar num ficheiro denominado TestKey.snk:
    sn -k Testkey.snk
    						
  2. Adicione o atributo personalizado adequado à sua origem para o compilador de emitir a assemblagem com um nome seguro. O atributo utiliza depende se o par de chaves é utilizado para a assinatura está contido num ficheiro ou de um contentor chave dentro de serviços criptográficos fornecedor CSP, Cryptographic Service (Provider). Para as chaves armazenadas num ficheiro, utilize o atributo System.Reflection.AssemblyKeyFileAttribute . Para as chaves são armazenadas no CSP, utilize o atributo System.Reflection.AssemblyKeyNameAttribute .

    O código seguinte utiliza AssemblyKeyFileAttribute para especificar o nome do ficheiro que contém o par de chaves.

    Nota : no Microsoft Visual Basic, os atributos de nível de assemblagem tem de aparecer como as instruções no ficheiro de Código do Visual Basic .NET
    Imports System
    Imports System.Reflection
    
    <assembly:AssemblyKeyFileAttribute("TestKey.snk")>
    					
    C# código
    using System;
    using System.Reflection;
    
    [assembly:AssemblyKeyFileAttribute("TestKey.snk")]
    					

Referências

Para mais informações sobre a ferramenta de nome seguro (Sn.exe), consulte o seguinte Web site Ferramentas do Microsoft .NET Framework:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfstrongnameutilitysnexe.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfstrongnameutilitysnexe.asp)
Para mais informações sobre o .NET Framework SDK, consulte o seguinte Web site da Microsoft:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netstart/html/sdk_netstart.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netstart/html/sdk_netstart.asp)
Para mais informações sobre atributos globais, consulte Referência de C# para programadores de.


A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Palavras-chave: 
kbmt kbhowtomaster KB302340 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 302340  (http://support.microsoft.com/kb/302340/en-us/ )