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
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.
Aprire una finestra di comando e selezionare la cartella contenente .NET Framework.
.NET Framework è installato nel percorso seguente:
%windir%\Microsoft.NET\Framework\version
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