为了用强命名标识一个程序集,你必须拥有一对公钥和私钥。这一对公钥私钥加密密钥用作编译期间生成强命名的程序集(汇编程序).你可以使用强命名工具(Sn.exe)创建一个密钥对.密钥文件通常都具有一个.snk的文件扩展名。

为了用强命名标识一个程序集,你必须拥有一对公钥和私钥。这一对公钥私钥加密密钥用作编译期间生成强命名的程序集(汇编程序).你可以使用强命名工具(Sn.exe)创建一个密钥对.密钥文件通常都具有一个.snk的文件扩展名。

●创建一个密钥对

     在命令提示符下,键入以下命令:

Sn –k <file name>

在此命令中,<file name>是一个包含密钥对的输出文件的名字。

以下例子是创建一个名叫sgKey.snk的密钥对文件

sn –k sgKey.snk

如果你希望延迟标识程序集并且也希望控制整个密钥对(它不像外部测试情景,场景),你可以用一下命令生成一对密钥对,然后从此密钥对中提取公钥到一个单独的文件。

首先,创建密钥对:

sn –k keypair.snk

然后,从上面生成的密钥对文件(keypair.snk)中提取公钥,并拷贝到一个独立的文件中:

sn –p keypair.snk public.snk

一旦你创建了密钥对,你就必须将此文件放置在强命名标识工具能够找到它的位置。

当运用强命名标识一个程序集的时候,程序集连接器(Assembly Linker (Al.exe))会寻找与当前目录有关的密钥文件,并输出到当前目录。在使用命令行工具编译 的时候,也可以很容易的拷贝此密钥到包含代码模块的的当前目录下。

若正在使用在早期版本的项目属性中并不具有签名选项的vistual studio时候,推荐的密钥文件位置是如下制定文件属性的项目目录下。

[assembly:AssemblyKeyFileAttribute("keyfile.snk")]

 

Aes公私钥创建 公私钥对生成_程序集