ASP.NET学习社区

首页 » ASP.NET下载区 » ASP.NET源码 » PetShop 学习 » PetShop.snk 是什么
asp.net - 2008-5-28 7:38:00
创建密钥对要使用强名称为程序集签名,必须具有公钥/私钥对。这一对加密公钥和加密私钥用于在编译过程中创建强名称程序集。您可以使用强名称工具    (Sn.exe)    来创建密钥对。密钥对文件通常具有    .snk    扩展名。 
   
  创建密钥对   
   
  在命令提示处,键入下列命令:   
  sn    -k    <文件名>   
   
  在此命令中,“文件名”是包含密钥对的输出文件的名称。   
   
  下面的示例创建名为    sgKey.snk    的密钥对。 
   
  sn    -k    sgKey.snk 
   
  如果您需要延迟对程序集签名并控制整个密钥对(密钥对不太可能在测试方案之外),可使用以下命令生成密钥对,然后从中将公钥提取到一个单独的文件中。首先,创建密钥对: 
   
  sn    -k    keypair.snk 
   
  下一步,从密钥对中提取公钥,并将其复制到一个单独的文件中: 
   
  sn    -p    keypair.snk    public.snk 
   
    创建密钥对之后,必须将文件放在强名称签名工具可以找到的位置。当使用强名称对程序集进行签名时,程序集链接器    (Al.exe)    查找与当前目录和输出目录相关的密钥文件。当使用命令行编译器时,只需将密钥复制到包含代码模块的当前目录即可。 
   
    如果要使用    IDE(例如    Visual    Studio    .NET)为程序集签署强名称,则必须知道    IDE    查找密钥文件的位置。例如,Visual    Basic    .NET    在包含    Visual    Studio    解决方案的目录下查找密钥文件,而    C#    编译器则在包含二进制文件的目录下查找密钥文件。将密钥文件放在适当的项目目录中并设置文件属性,如下所示: 
   
  [Visual    Basic] 
  <Assembly:    AssemblyKeyFileAttribute("key.snk")> 
   
  [C#] 
  [assembly:    AssemblyKeyFileAttribute(@"..\..\key.snk")]
zfl0833 - 2008-7-2 20:37:00
snk 
你的类库 在强签名后 就会自动生成 snk 的密匙文件。
1
查看完整版本: PetShop.snk 是什么