Partilhar via


Como: Criar um público / emparelhar de chaves emparelharticular

Para assinar um conjunto com nome de alta segurança, você deve ter um par de chaves públicas/privadas.Esta par de chaves criptografadas públicas e particulares é usado durante a compilação para criar um conjunto de módulos (assembly) de nome de alta segurança.Você pode criar um par de chaves usando a Strong Name tool (Sn.exe).Arquivos de par de chaves geralmente têm extensão .snk.

Observação:

Em Visual Studio 2005, os translation from VPE for Csharp Visual Basic ambientes e Visual J# integrado desenvolvimento (IDEs) permitem que você gerar pares de chaves e assinar assemblies sem a necessidade de criar um emparelhar de chaves usando sn.exe. Esses IDEs possui um Assinatura guia no projeto Designer.The Visual C++ IDE allows you to specify the location of an existing key file in the Advanced property page in the Linker section of the Configuration Properties section of the Property Pages window.O uso de AssemblyKeyFileAttribute para identificar chaves pares se tornou obsoleto no Visual Studio 2005.

Para criar um par de chaves

  • No prompt de comando, digite o seguinte comando:

    sn –k < nome de arquivo >

    Neste comando, nome de arquivo é o nome de arquivo de saída que contém o par de chaves.

O exemplo a seguir cria um chamado um par de chaves denominado sgKey.snk.

sn -k sgKey.snk

Se você pretende assinar com atraso um conjunto de módulos (assembly) e você controla o par de chaves inteiro (o que é improvável de acontecer fora de testes), você pode usar os seguintes comandos para gerar um par de chaves e, em seguida, extrair a chave pública a partir dele em um arquivo separado.Primeiro, crie um par de chaves:

sn -k keypair.snk
  • Em seguida, extraia a chave pública do par de chaves e o copie para um arquivo separado:
sn -p keypair.snk public.snk
  • Depois de criar o par de chaves, você deve colocar o arquivo onde as ferramentas de assinatura de nome de alta segurança poderão encontrá-lo.

Ao assinar um assembly com um nome forte o Vinculador de Assembly (Al.exe) procura pelo arquivo de chave relativo ao diretório atual e ao diretório de saída.Ao usar compiladores de linha de comando, você pode simplesmente copiar a chave para a pasta atual, que contém seus módulos de código.

Se você está usando uma versão anterior do Visual Studio que não possui uma guia Signing nas propriedades do projeto, a localização recomendade do arquivo de chave é o diretório do projeto os atributos de arquivo especificados da seguinte maneira:

<Assembly: AssemblyKeyFileAttribute("..\..\key.snk")>
[assembly: AssemblyKeyFileAttribute(@"..\..\key.snk")]

Consulte também

Outros recursos

Criando e usando Assemblies de Nome Forte