最终用户已经要求我向其中一个组件添加“强命名”,因为他们希望从强名称程序集中引用它。
我已经有了一个authenticode证书,所以我想知道 - 让我的组件可以被他们强大的命名组件使用,我只需用我的authenticode密钥对组件进行签名就足够了吗?
或者我 对“强名称签名”程序集(使用Al.exe)将其视为“强名称”?
我找不到任何明确的“强名称vrs authenticode”文档。
答案 0 :(得分:3)
无论是否应用authenticode签名,您都没有“使用”强命名。这样做是一种选择,它通常与应用authenticode签名的选择完全正交。如果您可以提供有关强名称签名目标的更多信息,那么就是否通过authenticode签名解决这些问题会更容易给您一个明确的答案......
在添加问题后更新......
authenticode签名不会导致程序集被认为是强名称。为了使强名称程序集能够引用程序集,您必须应用强名称签名(无论您的程序集是否恰好具有authenticode签名)。
答案 1 :(得分:2)
Strongnaming和Authenticode用于不同目的。 Strongnaming主要用于防止组装欺骗(替换)和将几个组件“绑定”在一起,以便所有组件都使用彼此的预定义版本。 Authenticode用于验证 PE模块的作者(Win32 EXE,DLL或.NET程序集等)。因此,您可以并行使用其中任何一个或两个。
注意:在某些情况下,Authenticode签名验证可能需要很长时间(几秒甚至几十秒),并且根据您的应用程序架构,这可能是不合适的。