给共享程序集延迟签名

        为了安全,公司一般只有少数人能访问到私钥。但是在开发和测试程序集时,访问这些受到严密保护的私钥可能有些费事儿。有鉴于此,.NET Framework提供了对延迟签名(delayed signing)的支持,这个技术有时也称为部分签名(partial signing)。延迟签名允许你只用公司的公钥来生成一个程序

集,暂时不用私钥。等在发布之前,在用私钥进行签名

 

1,如果使用(提取密钥文件的公钥)公钥的话,必须要延迟签名,否则无法编译
2,使用延迟签名,不能直接安装到GAC,必须关闭该程序集的验证功能
3,在发布之前,使用私钥重新签名
4,打开此程序集的验证功能

步骤:

1,创建一个类库项目

        给共享程序集延迟签名

 

2,使用强命使用工具(sn)创建一个公钥/私钥对(使用vs自带的命令工具)

        sn -k mykey.snk

 

3,提取公钥(mykeypub.snk给开发人员用)

        sn -p mykey.snk mykeypub.snk

 

4,关闭签名的验证功能

        sn -Vr Timber.DelaySign.dll

 

5,现在可以把程序集安装到GAC了

        gacutil -i Timber.DelaySign.dll

 

6,当程序集设计好之后,准备部署的时候,需要重新签名(用私钥签名)

        sn -R Timber.DelaySign.dll mykey.snk

 

7,别忘了打开开启验证

        sn -Vu Timber.DelaySign.dll