Condividi tramite


Gestione delle firme di assembly e manifesti

La firma con nome sicuro fornisce un'identità univoca globale a un componente software.I nomi sicuri vengono utilizzati per garantire che l'assembly non può essere raggiratoe da altri e garantire che le dipendenze di componenti e le istruzioni di configurazione al componente e alla versione corretti.

Un nome sicuro è costituito dall'identità dell'assembly, corrispondente al nome semplice in formato testo, al numero di versione e alle informazioni sulle impostazioni cultura, nonché da un token di chiave pubblica e da una firma digitale.

Per informazioni sulla firma degli assembly nei progetti Visual Basic e c#, vedere Creazione e utilizzo degli assembly con nome sicuro.

Per informazioni sulla firma degli assembly nei progetti Visual C++, vedere Assembly con nome sicuro (firma degli assembly) (C++/CLI).

Tipi e firma di risorsa

È possibile firmare assembly .NET e i manifesti dell'applicazione.tra cui:

  • file eseguibili (EXE)

  • manifesti dell'applicazione (.manifest.exe)

  • manifesti di distribuzione (application)

  • assembly del componente condiviso (dll)

È necessario firmare i seguenti tipi di risorse:

  1. assembly, se si desidera distribuire nella Global Assembly Cache (GAC).

  2. Applicazione ClickOnce e manifesti di distribuzione.Visual Studio consente la firma per impostazione predefinita per le applicazioni.

  3. Assembly di interoperabilità primari, che vengono utilizzati per l'interoperabilità COM.L'utilità TLBIMP impone l'attivazione dei nomi sicuri durante la creazione di un assembly di interoperabilità primario da una libreria dei tipi COM.

In genere non è necessario firmare i file eseguibili.Una parte denominata i nomi non può fare riferimento a un componente con nome sicuro non distribuiti con l'applicazione.Visual Studio non firma gli eseguibili dell'applicazione, ma firma il manifesto dell'applicazione, che indica il file eseguibile con nome non sicuro.Evitare in genere i componenti della firma che sono privati dell'applicazione, poiché firmare può rendere più difficile la gestione delle dipendenze.

Come firmare un assembly in Visual Studio

Firmare un'applicazione o un componente utilizzando la scheda Firma delle proprietà del progetto facendo clic con il pulsante destro del mouse sul nodo di progetto in Esplora soluzioni e scegliere Proprietà, o digitare le proprietà del progetto nella finestra Avvio veloce, o premere ALT+INVIO nella finestra Esplora soluzioni ).Selezionare la scheda Firma, quindi selezionare la casella di controllo Firma assembly .

Specificare un file di chiave.Se si sceglie di creare un nuovo file di chiave, si noti che i nuovi file di chiave vengono sempre creati in formato pfx.È necessario un nome e una password per il nuovo file.

Nota di avvisoAttenzione

Per impedire che il file di chiave venga utilizzato da utenti non autorizzati, si consiglia di proteggerlo sempre con una password.È inoltre possibile specificare le chiavi utilizzando i provider o archivi certificati.

È inoltre possibile indicare una chiave che è già stato creato.Per ulteriori informazioni sulla creazione delle chiavi, vedere Procedura: creare una coppia di chiavi pubblica/privata.

Se si può accedere solo a una chiave pubblica, è possibile utilizzare la firma ritardata per rinviare l'assegnazione di una chiave.Si abilita la firma ritardata selezionando la casella di controllo Solo firma ritardata.Un progetto con firma ritardata non funzionerà correttamente e non è possibile eseguire il debug.Tuttavia, è possibile ignorare la verifica durante lo sviluppo tramite Sn.exe (strumento Nome sicuro) con l'opzione -Vr.

Per informazioni sulla firma dei manifesti, vedere Procedura: firmare manifesti dell'applicazione e di distribuzione.

Vedere anche

Concetti

Assembly con nomi sicuri

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