标签: strongname

我如何为shdocvw.dll创建一个强大的命名interop dll

我在c#中有一个浏览器助手对象项目(显然)引用了shdocvw.dll.我想我想为shdocvw.dll创建一个强名称的interop dll.我该怎么做 - 我在aximp.exe和tlimp上看到了很多建议,但我不清楚它们是如何组合在一起的.

c# internet-explorer strongname interop bho

5
推荐指数
1
解决办法
2761
查看次数

我是否需要从.snk文件发布公钥?

从sn.exe实用程序和这个问题的描述中,我看到公共密钥的副本被添加到使用强名称签名的每个程序集中.这足以验证程序集二进制文件是否未被更改.

但是,如何验证给定的程序集是否真的使用某个给定的密钥对签署并由给定的公司编译?任何人都可以生成他自己的密钥对,生成一些程序集并用他的密钥对签名.我是否需要发布公钥,以便那些想要验证程序集来源的人可以比较公钥?如果是这样,最好的方法是什么?

.net strongname assemblies

5
推荐指数
1
解决办法
2587
查看次数

使用相同的密钥签署多个程序集:明智/不明智?

可以对多个相关项目/程序集使用相同的强名称密钥.

我很想知道使用这种方法是否有任何缺点.特别是,它会导致缺乏安全性吗?

我正在考虑的一个方面是使用朋友组件.

.net security strongname assemblies friend

5
推荐指数
1
解决办法
1535
查看次数

篡改强大的命名程序集有多难?

假设我有一个强大的.NET程序集.只有我可以访问私钥.然后我将程序集分发给某个客户端系统.

客户修改程序集有多难?即:他们需要做些什么才能修改我的装配?

.net c# strongname

5
推荐指数
1
解决办法
600
查看次数

.NET运行时如何找到非强名称的"程序集"?

我们有不同版本的非强名称程序集,并且在app.exe.config中没有绑定重定向/探测路径.例如,MyDll(1.0.0.0_null_neutral)和MyDll(2.0.0.0_null_neutral).相对于app.exe,这些程序集存储在LAC\MyDll_1.0.0.0_null_neutral和LAC\MyDll_2.0.0.0_null_neutral中.

我的理解是,因为MyDll程序集没有强名称,所以.NET运行时不区分不同版本的MyDll.因此,如果MyDll 1.0.0.0已经加载到内存中并且执行了针对MyDll 2.0.0.0构建的一些代码,则.NET运行时将不会加载MyDll 2.0.0.0.

但是,当我使用VS2008附加到进程并查看模块窗口时,我注意到MyDll 1.0.0.0和MyDll 2.0.0.0都是从LAC文件夹加载的.

在某处我的理解似乎存在差距.有人可以指出来吗?

编辑:感谢您的答复到目前为止.是的,我跳过那一点.可执行文件侦听AssemblyResolve事件,并通过查看LAC来处理它.

我很确定我之前看过一些MSDN文档,除非程序集具有强名称,否则会忽略所述版本.我会看看我是否可以把它挖出来.

.net strongname assembly-resolution

5
推荐指数
1
解决办法
893
查看次数

我可以将程序集转换为强名称程序集而无需重新编译吗?

我找到了Microsoft知识库文章:

但看起来他们希望我在创建密钥对后重新编译.有没有办法只需将程序集转换为强大的命名程序集而无需重新编译?

.net strongname assemblies

5
推荐指数
1
解决办法
1115
查看次数

关于强名称验证跳过的奇怪问题

我的ASP.NET应用程序使用的是没有强名称的程序集.当我在IE中运行它时,它显示错误说:

无法加载文件或装配'xxxxx'.或其中一个依赖项.强名称signatuer无法验证.程序集可能已被篡改,或者是延迟签名但未使用正确的私钥完全签名.(HRESULT异常:0x80131045)"

sn.exe -Vr xxxx用来注册该程序集以跳过强名称验证,但它仍显示该错误.什么可能导致这个问题,我可以做些什么来解决它?

.net asp.net strongname assemblies

5
推荐指数
1
解决办法
1608
查看次数

如何使用StrongNameKeyPair与密码保护密钥文件(pfx)?

我试图使用密码保护密钥文件(pfx)以编程方式签署程序集.但是,当我尝试使用StrongNameKeyPair时,我得到以下异常.

无法获取StrongNameKeyPair的公钥.在System.Reflection.StrongNameKeyPair.ComputePublicKey()处于System.Reflection.StrongNameKeyPair.get_PublicKey()

.net strongname code-signing pkcs#12 assembly-signing

5
推荐指数
1
解决办法
775
查看次数

如何提取使用强名称工具(sn.exe)创建的私钥?

Sn.exe提供了用于密钥管理,签名生成和签名验证的选项。

为了创建公钥和私钥对,使用以下命令-

sn -k keyPair.snk
Run Code Online (Sandbox Code Playgroud)

可以使用-提取公共密钥

sn -p keyPair.snk publicKey.snk
Run Code Online (Sandbox Code Playgroud)

我想查看生成的一对对应的私钥

我怎样才能做到这一点 ?

.net strongname key

5
推荐指数
1
解决办法
1901
查看次数

我应该强烈命名所有组件吗?

因此,强烈命名.Net程序集的好处有很多问题,例如为什么使用强名称程序集?

好处听起来很棒,为什么我不强烈地命名我制作的每个项目?

NOT强烈命名程序集的优点是什么?在创建新项目时,我应该默认执行哪些操作?

.net c# strongname

5
推荐指数
1
解决办法
469
查看次数