sha*_*oth 8 .net strongname digital-signature
我们有一组用VC++开发的COM组件.将此类组件的引用添加到.NET项目时,Visual Studio将生成一个互操作程序集.我们现在有一套这样的组件.
在运行我们的每日构建时,我们使用数字签名签署所有生成的二进制文件.Interop程序集未签名,因为我们认为我们不是作者 - 任何人都可以使用Visual Studio并生成相同的程序集.
我们也应该签署互操作程序集吗?我们是否应该使用强名称(sn.exe实用程序)对其进行签名?这样做的原因是什么?
一段时间以来,这一直是一个棘手的平衡.问题来自于您需要使用代码分发Interop程序集,并且您可能正在签署自己的程序集.如果您对程序集进行签名,则它所引用的所有程序集也必须进行签名 - 包括Interop程序集.所以你必须签名.
如果您要分发一个独立的应用程序,那么就没有风险,您应该继续签署程序集以使您的生活更轻松.
如果您正在分发组件库,那么事情可能会有点棘手,因为使用您的库的其他开发人员可能会生成自己的互操作程序集,但使用自己的密钥对其进行签名.这会导致各种命名和依赖性问题.
根据Interop程序集的复杂程度 - 您可以将代理代码生成到单独的.CS/.VB文件中,并将其直接编译到程序集中.那么您就不必担心强名称问题了.
| 归档时间: |
|
| 查看次数: |
3660 次 |
| 最近记录: |