SN是.NET中提供生成密钥的工具,在对程序集进行强签名的时候,需要用到一个公钥对,用这个工具,可以生成一个密钥文件,同时可以查看文件里面的公钥,并且可以使用这个工具来对程序集进行强签名。延迟签名的时候也需要使用这个工具。这个工具一般是在C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin这个路径下。启动这个工具,界面如下:
启动后,主界面上就是使用的帮助,你可以查看每个命名所代表的含义。下面介绍几个常见的命令。
1.生成一个密钥文件 sn.exe –k <filename>
此时生成的密钥文件mykeys.keys里面既包含公钥也包含私钥。
2.从密钥文件里面导出一个只包含公钥的文件 sn.exe –p mykeys.keys mypublickeys.keys
3.查看公钥文件里面的公钥 sn.exe –tp <filename>
4.禁止系统检查程序集的完整性 sn.exe -Vr <assemblyName>。启动系统检查程序集的完整性sn.exe -Vu <assemblyName>。 (延迟签名的时候用)
5.用私钥文件对程序集进行延迟签名 sn.exe –R <assemblyName> <privatekeyfile>
有两点需要注意的:一是sn.exe的命令是分大小写的,大小写不同代表的含义也不同。二是sn.exe没有提供命令去查看私钥。另外sn.exe的一些常用功能,可以在vs编译器里面通过界面的方式来实现。
原文地址:http://www.xuebuyuan.com/203716.html