问题
I am wondering what files should be digitally signed? I'm not talking about strong naming assemblies, but about digitally signing files so that it is possible to determine if they have been tampered with.
I read the following post. The author states that all installer files should be signed as well as the main program executable - that sounds reasonable, but what about other files and applications?
I know that ClickOnce applications have their manifest signed, not sure about the installer itself, but as the manifest contains some file hashes, I guess that it's not necessary to sign anything else, or is it?
In a rich client - if I sign the main executable, but use a plugin mechanism, should I sign the plugins as well?
Web applications - should I sign the assemblies that make the web app?
How about mobile apps?
In general, I'm looking for best practices on which files/file types should be signed for various types of applications
回答1:
- you should perhaps sign all files that warrant protection from tampering, including installers.
- plugin system - yes, in my plug-in system i have my plug-in writers sign their plug-in with a key that i provide. you should check for the presence of the key prior to load.
- web applications - optional perhaps since you never have to worry about 3rd party installation. unless of course your web app loads plug-ins
- mobile apps - depends on mobile OS. iOS for example requires you to do so
来源:https://stackoverflow.com/questions/6520453/which-files-should-be-digitally-signed