强名称工具 (Sn.exe) 来创建密钥对

要使用强名称为程序集签名,必须具有公钥/私钥对。这一对加密公钥和加密私钥用于在编译过程中创建强名称程序集。您可以使用 强名称工具 (Sn.exe) 来创建密钥对。密钥对文件通常具有 .snk 扩展名。

创建密钥对

  • 在命令提示处,键入下列命令:

    sn –k <file name>

    在此命令中,“文件名”是包含密钥对的输出文件的名称。

下面的示例创建名为 sgKey.snk 的密钥对。

 CopyCode image复制代码
sn -k sgKey.snk

如果您需要延迟对程序集签名并控制整个密钥对(密钥对不太可能在测试方案之外),可使用以下命令生成密钥对,然后从中将公钥提取到一个单独的文件中。首先,创建密钥对:

 CopyCode image复制代码
sn -k keypair.snk
  • 下一步,从密钥对中提取公钥,并将其复制到一个单独的文件中:

 CopyCode image复制代码
sn -p keypair.snk public.snk
  • 创建密钥对之后,必须将文件放在强名称签名工具可以找到的位置。

当使用强名称对程序集进行签名时, 程序集链接器 (Al.exe) 查找与当前目录和输出目录相关的密钥文件。当使用命令行编译器时,只需将密钥复制到包含代码模块的当前目录即可。

如果要使用 IDE(例如 Visual Studio 2005)为程序集签署强名称,则必须知道 IDE 查找密钥文件的位置。例如,Visual Basic 2005 在包含 Visual Studio 解决方案的目录下查找密钥文件,而 C# 编译器则在包含二进制文件的目录下查找密钥文件。将密钥文件放在适当的项目目录中并设置文件属性,如下所示:

Visual Basic CopyCode image复制代码
<Assembly: AssemblyKeyFileAttribute("key.snk")>
C# CopyCode image复制代码
[assembly: AssemblyKeyFileAttribute(@"../../key.snk")]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值