程序集强名称(Strong Name)延迟签名与签名

一、原理

二、延迟签名与签名操作

假设正在开发一个类库 YourLibrary.dll

1)生成公钥/私钥对
  sn -k Your.snk
2)提取出公钥并存放在public.snk中。public.snk的目的是为了便于分发;在Your.snk中的私钥是无法提取出来的
  sn -p Your.snk public.snk
3)对程序集进行延迟签名
  csc /keyfile:public.snk /delaysign /t:library YourLibrary.cs
4)让CLR信任程序集的内容,不执行签名验证
  sn -Vr YourLibrary.dll
这个命令会在注册表中添加相应项,所以对同一程序集只需执行一次。至此  YourLibrary.dll就可以安装到GAC中
5)在开发过程,开发人员可以引用此程序集,就好像强命名程序集一样
6)在最终部署前,一定要用私钥进行签名。否则,其他人可以用公钥做一个相同签名的程序集,替换掉这个程序集。
  sn -R YourLibrary.dll Your.snk
7)打开验证,在4)中的注册表项会被相应移除
  sn -Vu YourLibrary.dll

 

转载于:https://www.cnblogs.com/protorock/archive/2012/12/14/2818227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值