Scenario relativo al nome sicuro

Nello scenario seguente viene illustrato il processo di firma di un assembly con un nome sicuro e la successiva creazione di riferimenti basati su tale nome.

  1. Un assembly A viene creato con un nome sicuro mediante uno dei metodi seguenti:

Utilizzo di un ambiente di sviluppo in cui è supportata la creazione di nomi sicuri, quale Visual Studio 2005

  1. L'hash del file contenente il manifesto dell'assembly viene firmato dall'ambiente o dallo strumento di sviluppo con la chiave privata dello sviluppatore. Tale firma digitale viene memorizzata nel file eseguibile portabile (PE, Portable Executable) contenente il manifesto dell'assembly A.

  2. L'assembly B è un consumer dell'assembly A. Nella sezione dei riferimenti del manifesto dell'assembly B è incluso un token che rappresenta la chiave pubblica dell'assembly A. Un token è una parte della chiave pubblica completa e viene utilizzato al posto della chiave stessa in modo da occupare meno spazio.

  3. Quando l'assembly viene inserito nella Global Assembly Cache, la firma con nome sicuro viene verificata da Common Language Runtime. Quando si effettua l'associazione tramite nome sicuro in fase di esecuzione, Common Language Runtime confronta la chiave archiviata nel manifesto dell'assembly B con la chiave utilizzata per generare il nome sicuro per l'assembly A. Se il controllo di protezione di .NET Framework ha esito positivo e l'associazione riesce, nell'utilizzare l'assembly B si può dare per certo che le informazioni contenute nell'assembly A non sono state alterate e provengono effettivamente dal relativo sviluppatore.

    Nota

    In questo scenario non vengono affrontate le problematiche relative all'attendibilità. Oltre a un nome sicuro, agli assembly è possibile assegnare firme Microsoft® Authenticode®, che includono un certificato che consente di stabilire l'attendibilità. È importante sottolineare che tale firma del codice non viene richiesta dai nomi sicuri. Non è infatti necessario che le chiavi utilizzate per generare la firma con nome sicuro corrispondano alle chiavi utilizzate per generare una firma Authenticode.

Vedere anche

Riferimenti

Strumento Nome sicuro (Sn.exe)
Assembly Linker (Al.exe)

Altre risorse

Creazione e utilizzo degli assembly con nome sicuro