Condividi tramite


Assembly con nome sicuro (firma degli assembly) (C++/CLI)

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 sicurezza, 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 compilazione 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 compilazione viene eseguita dalla riga di comando, utilizzare le opzioni del linker per firmare l'assembly, quindi eseguire uno strumento di post-elaborazione (ad esempio mt.exe) e infine sarà necessario firmare nuovamente l'assembly con sn.exe. In alternativa, è possibile compilare l'assembly e ritardarne la firma, quindi, dopo l'esecuzione degli strumenti di post-elaborazione, completare la firma.

Se si utilizzano gli attributi della firma quando la compilazione viene eseguita nell'ambiente di sviluppo, è possibile firmare correttamente l'assembly chiamando sn.exe (Sn.exe (strumento Nome sicuro)) in un evento di post-compilazione. Per ulteriori informazioni, vedere Specifica di eventi di compilazione. L'utilizzo di attributi e di un evento di post-compilazione, anziché delle opzioni di un linker, può ridurre i tempi di compilazione.

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