Compartilhar via


Ferramenta Strong Name (Sn.exe)

A ferramenta nome forte (sn.exe) ajuda a assinar assemblies com nomes fortes. Sn.exe fornece opções para gerenciamento de chaves, a geração de assinatura e a verificação da assinatura.

sn [-quiet][option [parameter(s)]]

Parâmetros

Opção

Descrição

-c [csp]

Define o provedor de serviços de criptografia (CSP) padrão a ser usado para assinatura de nome forte. Essa configuração se aplica a todo o computador. Se você não especificar um nome CSP, sn.exe elimina a configuração corrente.

-d container

Exclui o contêiner de chave especificado o nome forte CSP.

-D assembly1 assembly2

Verifica que os dois assemblies diferem apenas por assinatura. Isso geralmente é usado sistema autônomo uma verificação após um assembly assinado novamente com um emparelhar de chaves diferente.

-e saída de assembly

Extrai a chave pública de assembly e as armazena em saída.

-h

Exibe sintaxe de comando e opções para a ferramenta.

-i infile container

Instala o emparelhar de chaves de InFile no contêiner de chave especificado. O contêiner de chave reside no nome forte CSP.

-k [keysize] outfile

Gera um novo RSACryptoServiceProvider chave do dimensionar especificado e os grava no arquivo especificado. Tanto uma chave pública e privada é gravada no arquivo.

Se você não especificar um dimensionar de chave, uma chave de 1.024 bit é gerada por padrão, se você tiver o provedor de criptografia Avançado da Microsoft instalado; caso contrário, será gerada uma chave de 512 bit.

The algoritmo parâmetro suporta comprimentos de chave de bits de 384 16.384 bits em incrementos de 8 bits se você tiver o provedor de criptografia Avançado da Microsoft instalado. Ele suporta comprimentos de chave de 384 bits 512 bits em incrementos de 8 bits se você tiver o provedor de criptografia base da Microsoft instalado.

-m [y|n

Especifica se recipientes de chave são específicas do computador, ou específicas do usuário. Se você especificar y, recipientes de chave são específicos do computador. Se você especificar n, recipientes de chave são específicos do usuário.

Se nem y n for especificado, esta opção exibe a configuração corrente.

-o infile [outfile]

Extrai a chave pública do InFile e as armazena em um arquivo .csv. Uma vírgula separa cada byte da chave pública. Esse formato é útil para hard-coding referências a teclas sistema autônomo matrizes inicializados no código-fonte. Se você não especificar um saída, esta opção coloca a saída na área de transferência.

ObservaçãoObservação:
Essa opção não verifica a entrada é apenas uma chave pública.Se a infile contém um emparelhar de chaves com uma chave particular, a chave particular também é extraída.

-p infile outfile

Extrai a chave pública do emparelhar de chaves InFile e as armazena em saída. Esta chave pública pode ser usado para assinatura atrasada um assembly usando o /delaysign+ and /keyfile o opçõesVinculador de assembly (Al.exe). Quando um assembly é assinado atraso, somente a chave pública é definida no momento da compilar e espaço reservado no arquivo para a assinatura a ser adicionado mais tarde, quando a chave particular é conhecida.

-pc container outfile

Extrai a chave pública do emparelhar de chaves contêiner e as armazena em saída.

-Pb [y|n

Especifica se a política de desvio de nome forte é aplicada. Se você especificar y, nomes de alta segurança para os assemblies de confiança total não são validados quando carregado em uma confiança total AppDomain. Se você especificar n, nomes fortes são validados estão corretos, mas não para um nome forte específico. The StrongNameIdentityPermission não tem nenhum efeito nos assemblies totalmente confiáveis. Você deve realizar sua própria verificação uma correspondência de nome forte.

Se nenhuma das y nem n for especificado, essa opção exibe a configuração corrente. O padrão é y.

ObservaçãoObservação:
Em 64 - bit de computadores, você deve conjunto esse parâmetro em dois a 32 - bit e o 64 - bit de instâncias de sn.exe.

-q[uiet]

Especifica o modo silencioso; suprime a exibição das mensagens de êxito.

-R[aassembly infile

Um assembly anteriormente assinado ou assinado atraso com re-Signs o chave emparelhar em InFile.

If -RA é usado, os hashes são recalculados para todos os arquivos no conjunto de módulos (assembly).

-Rc[aassembly container

Um assembly anteriormente assinado ou assinado atraso com re-Signs o chave emparelhar em contêiner.

If -Rca é usado, os hashes são recalculados para todos os arquivos no conjunto de módulos (assembly).

-Rh assembly

Recomputa os hashes para todos os arquivos no conjunto de módulos (assembly).

-t[p] infile

Exibe o token de chave pública armazenada no InFile. O Sumário de InFile deve ser uma chave pública gerada anteriormente a partir de um arquivo emparelhar de chaves usando -p. Não use o -t [p opção emparelhara extrair o token diretamente de um chave arquivo emparelhar.

Sn.exe calcula o token usando uma função de hash da chave pública. Para salvar espaço, o common linguagem tempo de execução armazena símbolos de chave pública no manifesto sistema autônomo parte de uma referência a outro assembly quando ele registra uma dependência a um assembly tem um nome forte. The -tp opção exibe a chave pública juntamente com o token.

Observe que essa opção não verifica a assinatura de assembly e não deve ser usada para tomar decisões de confiança. Essa opção exibe somente público bruto chave token dados.

-T[p] assembly

Exibe o token de chave pública para assembly. The assembly deve ser o nome de um arquivo que contém um manifesto do assembly.

Sn.exe calcula o token usando uma função de hash da chave pública. Para economizar espaço, o tempo de execução armazena símbolos de chave pública no manifesto sistema autônomo parte de uma referência a outro assembly quando ele registra uma dependência a um assembly tem um nome forte. The -TP opção exibe a chave pública juntamente com o token.

Observe que essa opção não verifica a assinatura de assembly e não deve ser usada para tomar decisões de confiança. Essa opção exibe somente público bruto chave token dados.

-TSassembly infile

Sinais de teste assinado ou assinado parcialmente assembly com o emparelhar de chaves em infile.

-TSc assembly container

Sinais de teste assinado ou assinado parcialmente assembly com o emparelhar de chaves no contêiner de chave container.

-v assembly

Verifica o nome forte assembly, where assembly é o nome de um arquivo que contém um manifesto do assembly.

-vf assembly de

Verifica o nome forte assembly. Ao contrário de -v option, -vf força verificação mesmo que ele desabilitado usando o -VR opção.

-Vl

Lista as configurações corrente de verificação de nome forte neste computador.

-Vr assembly [userlist] [infile]

Registra assembly para ignorar verificação. Opcionalmente, você pode especificar uma lista separada por vírgulas de nomes de usuário. Se você especificar InFile, verificação permanece habilitado, mas a chave pública no InFile é usado em operações de verificação. Assembly podem ser especificados no formulário *, strongname para registrar todos os assemblies com nome forte especificado. Strongname deve ser especificado sistema autônomo a seqüência de dígitos hexadecimais, que representa o formulário tokenized da chave pública. Consulte o -t and -T opções para exibir o token de chave pública.

Observação de cuidadoCuidado:
Use esta opção somente durante o desenvolvimento.Adicionar um assembly à lista Ignorar verificação cria uma segurança vulnerabilidade.Um assembly mal-intencionado poderia usar o nome de assembly totalmente especificado (nome de assembly, versão, cultura e símbolo de chave pública) do conjunto adicionado à lista de ignorar verificação para forjar sua identidade.Isso permitiria que o conjunto mal-intencionado também ignorasse a verificação.

-VU assembly de

Cancela o registroassembly para ignorar verificação. As mesmas regras para o assembly de nomeação que se aplicam para -VR aplicar to -VU.

-VX

Remove todas as entradas de ignorar a verificação.

-?

Exibe sintaxe de comando e opções para a ferramenta.

ObservaçãoObservação:

Todas sistema autônomo opções de sn.exe diferenciam diferenciar maiúsculas de minúsculas e devem ser digitadas exatamente sistema autônomo mostrado para ser reconhecido pela ferramenta.

Comentários

The -R and –Rc opções são úteis com assemblies que foram assinados de atraso. Nesse cenário, somente a chave pública foi definida no momento da compilar e assinatura será executada mais tarde, quando a chave particular é conhecida.

Exemplos

O comando a seguir cria um novo emparelhar de chaves aleatório e armazena em keyPair.snk.

sn -k keyPair.snk

O comando a seguir armazena a chave em keyPair.snk no contêiner MyContainer o nome forte do CSP.

sn -i keyPair.snk MyContainer

O comando a seguir extrai a chave pública de keyPair.snk e o armazena no publicKey.snk.

sn -p keyPair.snk publicKey.snk

O comando a seguir exibe a chave pública e o token de chave pública contida no publicKey.snk.

sn -tp publicKey.snk

O comando a seguir verifica o assembly MyAsm.dll.

sn -v MyAsm.dll

O comando a seguir exclui MyContainer o CSP padrão.

sn -d MyContainer

Consulte também

Conceitos

Assemblies de Nomes Fortes

Referência

Ferramentas.NET Framework

Vinculador do conjunto (AL.exe) 

Prompt de comando SDK