Forte nome firma ha diversi scopi (anche se non per la protezione effettiva contro la manomissione con il programma, come è errore comune) - nel tuo caso l'utilizzo di una chiave forte per identificare in modo univoco (e verifica) una versione specifica di un assembly specifico, richiesto dal GAC. L'altro utilizzo, che impedisce lo spoofing da parte di altri assembly, non sembra necessario in questo caso (correggimi se sbaglio). Per questo motivo, credo che sia perfettamente accettabile lasciare la chiave aperta (non protetta da password) e includere il file nel controllo del codice sorgente. Per quanto posso vedere, non fermerai nulla che non vuoi con la password che protegge la chiave. (Tuttavia, se potessi fornire maggiori dettagli sul contesto di sicurezza, potrei dover rivedere tale visualizzazione.)
Inoltre, vedere this MSDN article per una discussione approfondita su come utilizzare correttamente la firma dei nomi forti in generale.
Potresti approfondire questo malinteso sulla protezione contro la manomissione di un assemblaggio? Questo non mi sembra corretto (vedi http://stackoverflow.com/questions/369248/can-strong-naming-an-assembly-be-used-to-verify-the-assembly-author/369477#369477), ma forse mi manca qualcosa? Tuttavia, con un solo nome forte, ovviamente non è possibile verificare l'autorità (che avrebbe bisogno di un meccanismo di certificato come Authenticode). –
@divo: cosa non è corretto, esattamente? Il problema con la firma di una chiave forte è che non è possibile verificare l'origine della chiave pubblica, in modo che possa essere rigenerata da un altro autore e comunque essere d'accordo con l'asseritamente (che può essere manomesso). Se pensi che la risposta collegata non sia d'accordo con la mia (sono fiducioso che non lo sia), allora prova a rileggerla attentamente (insieme alla risposta di Mehrdad, che è anche buona). Ci sono alcune sottigliezze che non sono affatto facili da capire. – Noldorin