Ho un assembly che non ha un nome sicuro. Non ho codice sorgente per questo.Come firmare un file DLL di Assembly .NET con un nome sicuro?
ora bisogno di essere firmato. C'è un modo per fare questo?
Ho un assembly che non ha un nome sicuro. Non ho codice sorgente per questo.Come firmare un file DLL di Assembly .NET con un nome sicuro?
ora bisogno di essere firmato. C'è un modo per fare questo?
Utilizzare l'utilità Strumento nome sicuro (sn.exe).
Se l'assembly originale è contrassegnato per la firma ritardata, è possibile utilizzare lo strumento sn.exe.
Se l'assembly originale non è così marcato, è possibile disassemblarlo con ildasm.exe, quindi riassemblarlo con ilasm.exe e specificare l'argomento/key. Riferimenti: [1][2].
Esempio:
> ildasm /all /out=MYASSEMBLY.il MYASSEMBLY.dll
> ilasm /dll /key=key.snk MYASSEMBLY.il
http://msdn.microsoft.com/en-us/library/xc31ft41(VS.71).aspx MSDN ha dichiarato utilizzando: al /out:MyAssembly.dll MyModule.netmodule/keyfile: sgKey. sorteggio. Ma non ci sono riuscito – guaike
Che ne dici di mantenere il file pdb in sincronizzazione? –
Se l'assembly fa riferimento a un'altra DLL che si sta firmando, viene visualizzato un messaggio di errore che indica che non è in grado di trovare la versione senza firma. C'è un modo per aggiornare le firme DLL di riferimento nel file? – Brain2000
You can sign the assembly with the help of VS command prompt.
Just type the path in VS cmd prompt where your project is physically present.
In VS cmd
<your project path>sn -k <name of your project>.snk
Then go to your project in Solution Explorer -> properties -> Signing -> check checkbox
-> Browse to the key which is created using VS cmd.
OP: _ "Non ho codice sorgente per questo." _ – MickyD
Un modo semplice per firmare il montaggio 3rd party sta usando la versione GUI
di Assembly Strong Name Signer
, disponibile qui: http://brutaldev.com/post/2013/10/18/NET-Assembly-Strong-Name-Signer.
il codice sorgente di E 'disponibile su Github. Utilizza Mono.Cecil
per il lavoro sporco. Disponibile anche come strumento command line
.
Ho trovato il suggerimento ildasm
->ilasm
andata e ritorno suggerito in diversi luoghi ingombranti e meglio evitabili.
Non so come Assembly Strong Name Signer
gestisce le dipendenze multi-assembly. In caso contrario, il problema e la sua soluzione sono descritti qui (pubblicato nel 2008): http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/
molto facile da usare, grazie! – tinamou
Dai uno sguardo al mio StrongNameResigner. Si può firmare o di dimissioni di un assieme e tutte le assemblee che dipendono da esso, mentre anche l'aggiornamento tutti i riferimenti utilizzando un comando del genere:
StrongNameResigner.exe -a "c:\temp" -k "key.snk" Foo.Bar
sn.exe non può fare questo, becacuse sn.exe solo in grado di dare le dimissioni con Assemblaggio nome storng – guaike
Penso che sn.exe funzioni se l'assembly originale è contrassegnato per essere firmato in seguito. sì? – Cheeso
a Cheeso: Sì, hai ragione, ho trovato un modo: http: //ryanfarley.com/blog/archive/2010/04/23/sign-a-.net-assembly-with-a-strong-name- senza-recompiling.aspx – guaike