Compartilhar via


Como: Assinar assemblies para sites da Web pré-compilados

Você pode assinar digitalmente os assemblies produzidos pela ferramenta de compilação do ASP.NET (Aspnet_compiler.exe) para ajudar a melhorar a segurança do seu aplicativo da Web.Assinar um assembly com um nome de alta segurança, torna mais difícil para invasores introduzirem códigos mal-intencionados em seu aplicativo.Para obter mais informações sobre os benefícios de usar conjuntos de módulos (assemblies) assinados, consulte Assemblies de Nomes Fortes.

Sempre que você assinar um conjunto de módulos (assembly) com as opções -keyfile ou -keycontainer, você deve também especificar que o atributo AllowPartiallyTrustedCallersAttribute seja aplicado ao conjunto de módulos (assembly) usando a opção -aptca.Se você não especificar a opção -aptca, o conjunto de módulos (assembly) não pode ser chamado pelo processo do ASP.NET, e Aspnet_compiler.exe lança uma exceção.

O procedimento neste tópico usa um emparelhar de chaves fortes e as opções e parâmetros de Aspnet_compiler.exe.For more information about this tool, see ASP.NET Compilation Tool (Aspnet_compiler.exe).Para obter mais informações sobre chaves de nome de alta segurança, consulte Criando e usando Assemblies de Nome Forte.

Para mais informações sobre pré-compilação, consulte Precompilação de Site da Web ASP.NET.

Para assinar assemblies para um site da Web pré-compilado

  1. Crie um par de chaves com nome forte ou contêiner de chave.Para obter mais informações sobre como criar uma chave de nome de alta segurança, consulte Como: Criar um par de chaves Público/particular.

  2. Abra uma janela de comando e navegue para a pasta que contém o .NET Framework.

    O .NET Framework é instalado na localidade a seguir.

    %windir%\Microsoft.NET\Framework\version
    
  3. Execute o comando aspnet_compiler digitando o seguinte em um prompt de comando.

    aspnet_compiler -v virtualPathtargetPath -keyfile keyFile.snk -aptca
    

    O parâmetro virtualPath indica o caminho virtual de Serviços de Informações da Internet (IIS) do seu site da Web; o parâmetro targetPath indica um caminho físico para o diretório para o site compilado; e keyFile.snk indica o nome do arquivo de chave.

    Se você estiver usando um contêiner de chave, digite o seguinte no prompt de comando.

    aspnet_compiler -v virtualPathtargetPath -keycontainer keyContainer.snk -atpca
    

    Se o seu site não é um aplicativo IIS e, portanto, não tem nenhuma entrada na metabase IIS, digite o seguinte no prompt de comando.

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -keyfile keyFile.snk -aptca
    

    Neste caso, o parâmetro physicalOrRelativePath se refere ao caminho totalmente qualificado do diretório no qual os arquivos do site da Web estão localizados, ou um caminho relativo para o diretório atual.O operador de período (.) é permitido no parâmetro physicalOrRelativePath.A opção -v especifica uma raiz que o compilador usará para resolver referências da raiz do aplicativo (por exemplo, com o operador til (~)).Ao especificar o valor da / para a opção -v, o compilador resolverá os caminhos usando o caminho físico como a raiz.

    Se você estiver usando um contêiner de chave, digite o seguinte no prompt de comando.

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -keycontainer keyContainer.snk -aptca
    

    O parâmetro targetPath é um caminho físico para o diretório de destino.

Consulte também

Tarefas

Como: Precompile ASP.NET Web Sites

Outros recursos

Precompilação de Site da Web ASP.NET