2013-06-05 24 views
5

Abbiamo bisogno di firmare un file dll con SHA1 & SHA2 (per ottenere prima di Win XP SP3 firmare cert con SHA1 e post Win XP SP3 con la massima sicurezza di SHA2). Ho trovato un articolo che dice di fare qualcosa di simile al seguente, ma non riesco a farlo funzionare (mostra 2 certs in Win 8). Per un esempio di cosa intendo con una dll con doppia firma, guarda il certificato di System.Data.dll nel .NET Framework 4.0 in Windows 8 e vedrai un certificato SHA1 & SHA2 nella finestra delle proprietà.Come firmare una dll con un certificato?

Signtool sign /fd sha256 /ph /as /sha1 XX...XX $(TargetPath) 

http://msdn.microsoft.com/en-us/library/windows/hardware/hh967734(v=vs.11).aspx

Qualcuno sa come fare questo? Grazie! -jp

risposta

7

L'ho capito. Di seguito è come lo fai. Spero che questo aiuti qualcun altro fuori:

signtool sign /fd sha1 /f sha1cert.pfx /p password file.dll 
signtool sign /as /fd sha256 /f sha2cert.pfx /p password file.dll 

* devono utilizzare almeno un prompt dei comandi VS2012 sviluppatore per SHA2 firma

2

Punto chiave sta usando il/come interruttore sul gradino segno secondario a "accodare firma" . Se non lo includi, sovrascriverà solo la prima firma.