首页 / C# / c# – 多次签署dll不同的证书?
c# – 多次签署dll不同的证书?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 多次签署dll不同的证书?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1744字,纯文字阅读大概需要3分钟。
内容图文
![c# – 多次签署dll不同的证书?](/upload/InfoBanner/zyjiaocheng/809/aa9e5d349c9e425ea999fd33277de346.jpg)
我收到了第三方dll.运行sn.exe – T name.dll我得到公共令牌密钥,所以这告诉我它已签名.
Microsoft(R).NET Framework强名称实用程序版本3.5.30729.1
版权所有(c)Microsoft Corporation.版权所有.
公钥令牌是xXXXxxxXXXX
问题1.
当我签署自己的DLL并右键单击选择属性时,我看到数字签名.在这个DLL上我没有看到这个标签.为什么?如果签名我应该看到它.
问题2.
我有自己的证书,我想用自己的证书签署这个dll有可能吗?以前的签名会发生什么.你能用多个键签一个dll(我猜不只是想确认).
问题3.
无论出于何种原因,我可以签署这个dll,即使它已经签署了?当我使用自己的证书签名时,当我点击属性时,我会看到它的数字签名选项卡.
不确定这里发生了什么?
解决方法:
这里有两组签名,“Strong Name signature”和“Authenticode signature”.
强名称签名是一个特定于.NET的功能,用于证明“我编译的程序集和我在运行时使用的程序集是由同一个人创建的,具有相同的版本号,并且未被第三方修改” .这是您通过sn.exe看到的签名,.NET应用程序只能有一个强名称签名
Authenticode签名是任何.cab,.cat,.ctl,.dll,.exe或.ocx文件的一项功能,用于证明“此文件来自此特定源并且未被修改”.这是您在“数字签名”选项卡上看到的签名,可执行文件可以具有多个Authenticode签名,但这种签名并不常见.
.NET没有任何“自动”读取Authenticode,它只检查文件的强名称,如果通过或失败,它将停止签名检查.
要具体回答你的问题:
>请参阅上面的说明,强名称签名不会显示在“数字签名”选项卡上.如果文件没有Authenticode签名,Windows将不会显示“数字签名”选项卡.
>如果强名称,则覆盖旧名称,如果在编译程序集后执行此操作,则会破坏程序,并且程序集设置为检查强名称签名,因为它将需要旧签名.这也可能会破坏使用相同第三方DLL的其他软件,因为它们期望来自供应商的原始签名.
如果您对Authenticode签名,则将您的签名附加到文件上的Authenticode签名列表中.除非您对Authenticode签名进行自定义代码检查,否则这不会影响.NET的运行时.
>您通过Authenticode对其进行签名,因此您只需将签名附加到Authenticode列表,而不是修改强名称签名.
内容总结
以上是互联网集市为您收集整理的c# – 多次签署dll不同的证书?全部内容,希望文章能够帮你解决c# – 多次签署dll不同的证书?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。