我有一个使用各种第三方库(例如 JSON.NET)构建的应用程序。
我想确保构成我的应用程序的所有 DLL 都经过数字签名,包括第三方的。鉴于这些不是作者签名的,我可以/应该自己简单地签署第三方吗?
最佳答案
只是试图(不成功)在互联网上找到相同问题的答案。
结果,我检查了 Google 和 Adobe 如何交付他们的产品,发现他们文件夹中的每个二进制文件都经过签名,包括第三方的。
几个例子:
1. Google Chrome 包含 pepflashplayer.dll,它的版权归 Adobe 所有,但由“Google Inc.”进行数字签名。
2. Adobe Reader 包含icudt40.dll,版权归IBM所有,但由“Adobe Systems”进行数字签名
因此,我认为最好的做法是对构成您的应用程序的所有二进制文件进行签名,包括第三方的。这是有道理的,因为它可以帮助您避免或至少轻松检测到发生在客户机器上的篡改。
关于release - 我应该对 JSON.NET 等第三方 DLL 进行数字签名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123801/