通过延迟签名加密
来源:互联网 发布:上海淘宝美工学徒 编辑:程序博客网 时间:2024/05/06 05:43
保护你的私有密匙是非常重要的,如果某个恶意的人取得了你的密匙,他生成的组件将和你签过名的组件一样。因此,应当把你的密匙设于高度的保密状态,公司里面可能就只有几个人知道。这样以来,又怎么给你的组件签名呢?如果就只有你一个人知道密匙,这样会很繁琐,因为你必须为公司中每个开发者开发出来的每个组件签名。
很幸运的是.NET为这个问题提供了一个很好的方法:延迟签名。通过延迟签名,你可以在只知道公共密匙的情况下创建和测试组件。只有在组件实际分发给用户时才将私有密钥匙包含到组件。下面是使用延迟签名过程的一些技巧总结:
1. 从公共/私有密钥匙对中提取公共密匙。为了提取公共密匙,也就是存储公共/私有密匙对,你可以使用强名工具,命令行如下:
sn.exe -p MyKeyFile.snk MyPublicKeyFile.snk
2. 将包含公共密匙的文件分发给公司所有的开发者,同时将包含公共/私有密钥匙对的文件安全存放。
3. 在组件信息文件中包含公共密匙的文件,并注明延迟签名。
[assembly: AssemblyDelaySign(true)]
[assembly: AssemblyKeyFile("..//..//MyPublicKeyFile.snk")]
如果你使用组件连接工具,而非Visual Studio .NET,你可以使用/delaysign命令行来表明延迟签名。
4.如果你把组件保存在全局程序集缓存(GAC)中,应关闭对组件的验证,因为GAC默认验证每个组件的强名。如果组件没有采用私有密钥匙来签名,这个验证将会失败。因此,出于开发和测试的目的你可以输入如下的命名行:
sn.exe -Vr MyFile.dll
5. 这样,你就可以在开发和测试的时候很自由的使用组件
6. 当部署一个延迟签名的组件的时候,你必须通过私有密匙来给它签名。
sn.exe -R MyFile.dll MyKeyFile.snk
7. 最后,你必须通知GAC重新开启对组件的验证。命名行如下:
sn.exe -Vu MyFile.dll
- 通过延迟签名加密
- 通过延迟签名加密
- 延迟签名
- 通过XML签名和加密更安全地交换数据
- 加密 签名
- 延迟签名技术步骤
- 强命名程序集,签名,延迟签名
- GPG加密与签名
- 摘要、签名、加密、证书
- 加密和签名证书
- GPG加密和签名
- android APK加密、签名
- gpg加密与签名
- openssl rsa加密签名
- apk的签名加密
- 加密和签名方案
- java加密与签名
- android加密:电子签名
- 编译ogre项目时,出现“error C3859: virtual memory range for PCH exceeded”
- cairngorm实例-读取本地xml
- 亲测成功 office 2007 安装问题 无法找到OfficeLR.cab/OfficeMUI.msi
- 该程序时在画信号的波形,里面的语句不是很明白。向高手请教
- Ogre与MFC结合时的内存泄漏问题
- 通过延迟签名加密
- 获取文件大小
- ogre mfc刷新时闪烁
- Ogre资源卸载
- 判断是否相对路径
- linux /proc/stat 文件介绍及应用
- Solmyr 的小品文系列之一:字符串放在哪里?
- MFC使用共享段实现单例进程
- 简单反汇编之冒泡排序