Condividi tramite


Assembly con nome sicuro (firma degli assembly)

Aggiornamento: novembre 2007

In questo argomento viene descritto come firmare gli assembly, operazione spesso definita come assegnazione di un nome sicuro agli assembly.

Note

Quando si utilizza Visual C++, ricorrere alle opzioni del linker per la firma dell'assembly in modo da evitare i problemi correlati agli attributi CLR:

I motivi per cui non è consigliabile utilizzare gli attributi includono la visibilità del nome di chiave nei metadati dell'assembly, fattore che rappresenta un potenziale rischio per la protezione, soprattutto se tale nome contiene informazioni riservate. Inoltre, se per assegnare all'assembly un nome sicuro si ricorre agli attributi di CLR, il processo di generazione utilizzato dall'ambiente di sviluppo Visual C++ invaliderà la chiave con cui è stato firmato l'assembly ed eseguirà uno strumento di post-elaborazione quale mt.exe.

Se la generazione viene effettuata dalla riga di comando, l'assembly viene firmato utilizzando le opzioni del linker e si esegue uno strumento di post-elaborazione (ad esempio, mt.exe), sarà necessario firmare nuovamente l'assembly tramite sn.exe. In alternativa, è possibile generare e ritardare la firma dell'assembly e quindi completare il processo di firma dopo aver eseguito gli strumenti di post-elaborazione.

Se durante la generazione nell'ambiente di sviluppo vengono utilizzati gli attributi per la firma, sarà possibile firmare l'assembly chiamando sn.exe (Strumento Nome sicuro (Sn.exe)) in modo esplicito in un evento di post-generazione. Per ulteriori informazioni, vedere Specifica di eventi di compilazione. L'utilizzo degli attributi e di un evento di post-generazione, anziché delle opzioni del linker, può ridurre i tempi di generazione.

La firma dell'assembly è supportata dalle seguenti opzioni del linker:

Per ulteriori informazioni sugli assembly con nome sicuro, vedere Creazione e utilizzo degli assembly con nome sicuro.

Vedere anche

Altre risorse

.Guida per programmatori .NET