Condividi tramite


Procedura: firmare assembly per siti Web precompilati

Aggiornamento: novembre 2007

È possibile aggiungere una firma digitale agli assembly creati dallo strumento di compilazione di ASP.NET (Aspnet_compiler.exe) per aumentare la protezione dell'applicazione Web. Se si firma un assembly con un nome sicuro sarà più difficile che persone non autorizzate riescano a introdurre codice dannoso nell'applicazione. Per ulteriori informazioni sui vantaggi derivanti dall'utilizzo di assembly firmati, vedere Assembly con nomi sicuri.

Quando si firma un assembly con l'opzione -keyfile o -keycontainer, è inoltre necessario specificare che all'assembly deve essere applicato l'attributo AllowPartiallyTrustedCallersAttribute utilizzando l'opzione -aptca. Se non si specifica l'opzione -aptca, il processo ASP.NET non potrà chiamare l'assembly e Aspnet_compiler.exe genererà un'eccezione.

Nella procedura illustrata in questo argomento vengono utilizzati una coppia di chiavi con nome sicuro e le opzioni e i parametri di Aspnet_compiler.exe. Per ulteriori informazioni su questo strumento, vedere Strumento per la compilazione di ASP.NET (Aspnet_compiler.exe). Per ulteriori informazioni sulle chiavi con nome sicuro, vedere Creazione e utilizzo degli assembly con nome sicuro.

Per ulteriori informazioni sulla precompilazione, vedere Precompilazione di siti Web ASP.NET.

Per firmare assembly per un sito Web precompilato

  1. Creare una coppia di chiavi o un contenitore di chiavi con nome sicuro. Per ulteriori informazioni sulla creazione di una chiave con nome sicuro, vedere Procedura: creare una coppia di chiavi pubblica/privata.

  2. Aprire una finestra di comando e selezionare la cartella contenente .NET Framework.

    .NET Framework è installato nel percorso seguente:

    %windir%\Microsoft.NET\Framework\version
    
  3. Eseguire il comando aspnet_compiler digitando quanto segue a un prompt dei comandi:

    aspnet_compiler -v virtualPathtargetPath -keyfile keyFile.snk -aptca
    

    Il parametro virtualPath indica il percorso virtuale IIS (Internet Information Services) del sito Web. Il parametro targetPath indica un percorso fisico della directory del sito Web compilato e keyFile.snk indica il nome del file di chiave.

    Se si utilizza un contenitore di chiavi, a un prompt dei comandi digitare quanto segue:

    aspnet_compiler -v virtualPathtargetPath -keycontainer keyContainer.snk -atpca
    

    Se il sito Web non è un'applicazione IIS e non ha quindi alcuna voce nella metabase IIS, digitare quanto segue a un prompt dei comandi:

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

    In questo caso, il parametro physicalOrRelativePath fa riferimento al percorso completo della directory in cui si trovano i file del sito Web o a un percorso relativo della directory corrente. Nel parametro physicalOrRelativePath è consentito l'utilizzo dell'operatore punto (.). L'opzione -v specifica una radice utilizzata dal compilatore per risolvere i riferimenti alla radice dell'applicazione, ad esempio con l'operatore tilde (~. Quando si specifica il valore / per l'opzione -v, il compilatore risolverà i percorsi utilizzando come radice il percorso fisico.

    Se si utilizza un contenitore di chiavi, a un prompt dei comandi digitare quanto segue:

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

    Il parametro targetPath è il percorso fisico della directory di destinazione.

Vedere anche

Attività

Procedura: precompilare siti Web ASP.NET

Altre risorse

Precompilazione di siti Web ASP.NET