2009-10-22 6 views
16

Nelle impostazioni del progetto di Visual Studio è possibile scegliere un file chiave con nome sicuro per la firma dell'assieme. Quando ne crei uno nuovo puoi scegliere di proteggerlo con una password. Quando dovresti farlo? E quando non dovresti?Quando è necessario proteggere un file chiave con nome sicuro con una password?

Penso che per esempio potrebbe non essere così intelligente proteggerlo con una password se il progetto è un progetto open source ospitato su Codeplex o simile. O dovrebbe ancora essere protetto? Le persone non saranno in grado di scaricare l'origine e compilarla se il file chiave è protetto? Oppure, come funziona esattamente?

risposta

12

In generale, è necessario proteggerlo con una password se non si ha fiducia nelle persone che vi hanno accesso. Chiunque abbia accesso al file chiave può creare un assembly con il tuo nome sicuro (diversamente dal Authenticode, non impersona te, ma può caricare gli assembly anziché il tuo)

Per quanto riguarda lo scenario open source che hai descritto , le persone possono sempre compilare il codice - semplicemente creano un nuovo file chiave, ma gli assiemi che creano non vengono caricati dagli assiemi che tentano di caricare i propri assiemi.

+2

Ooh. Quindi, se ho due assiemi che sono firmati con chiavi forti. Se poi aggiungo un riferimento da uno all'altro, funzionerà solo con quello che è stato firmato con il tasto giusto? – Svish

+2

Se si fa riferimento a un assembly con nome sicuro, non può essere sostituito in fase di esecuzione con un assembly firmato con una chiave diversa (non completamente corretto, ma lasciamo le cose più avanzate per ora) –

+0

E per * in fase di esecuzione * intendi quando l'applicazione viene eseguita, non mentre è in esecuzione, giusto? (Giusto per essere sicuro di non fraintendere: p) – Svish

Problemi correlati