</manifest> 解释一下: name 为SL类库程序集的完整名称 version 指版本号(必须与AssemblyInfo.cs中的版本号一致) publickeytoken 这个东东可以通过sn.exe SN Token(当然也可以改成你喜欢的名字) 命令输入 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\sn.exe (即sn.exe的完整路径) 参数输入 -T $(TargetPath) 同时勾选"使用输出窗口" 完事之后,vs.net工具菜单下,应该会出一个菜单项 Get SN Token ?
创建强类型步骤: 使用Strong Name实用程序(SN.exe)来获取一个密钥。(这个程序与.NET Framework SDK和MS VS配套提供的。)Eg. SN –k MyCompany.snk,SN.exe的所有命令行都区分大小写; 由于公钥数字非常大,难以使用,人们设计了公钥标记(public key token),公钥标记是公钥的64位哈希值。
如何创建强命名程序集( Strong Name Assembly ) 创建一个强命名程序集首先需要获得一个用强命名实用工具 ( Strong Name Utility ,即 SN.exe 下面简要介绍一下 SN.exe 的一些用法。 要产生一个公钥 / 私钥对: a)SN –k MyCompany.Keys 该命名告诉 SN.exe 创建一个名为 MyCompany.keys 的文件。
我们可以通过强名称(SN.exe)命令行工具直接将公钥从密钥文件中提取出来。 具体来说我们需要两个步骤:通过SN.exe结合-p开关从将包含公钥/私钥的密钥文件中提取公钥,并导入到指定的密钥文件中;然后执行SN.exe并结合使用-tp开关,将公钥文件中的公钥显示出来。
这种方式就是直接使用.NET Framework为我们提供的强名称工具(SN.exe: Strong Name Tool)。 关于SN.exe相关参数设定可以参考MSDN在线文档(http://msdn.microsoft.com/en-us/library/k5b5tt23(VS.80).aspx),在这里就不再赘言介绍了。
命令提示 string cmd =@"C:&cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC&vcvarsall.bat"; 示例3:使用sn.exe
站长做这个示例签名用这个版本花了2个晚上没成功,换成2.2.2就可以,下面的图也重新录了,可能该版本有其他依赖的缘故,只是猜测: 创建一个新的随机密钥对0Harmony.snk 使用Everything查找一个sn.exe 程序,随便使用一个,比如:"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe",在高版本目录下生成一个密钥对文件 0Harmony.snk,命令如下: "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe 0Harmony.snk" /optimize 验证签名信息 "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe
install -y libgdiplus 然后windows下执行如下命令: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>sn.exe
首先我通过SN.exe生成Public key/Private key pair并保存到一个文件中(比如D:\MyKey.keys),然后进行如下的编译设置 ?
首先我通过SN.exe生成Public key/Private key pair并保存到一个文件中(比如D:\MyKey.keys),然后进行如下的编译设置 ?
微软提供了强签名工具,所以可以无需使用 SmartAssembly 的: Sn.exe (Strong Name Tool) - Microsoft Docs How to: Sign
这就需要我们使用Sn.exe 来设置密钥、签名和签名验证。强名称保证了程序是开发人员开发的并且没有被改动。 在进行上面的设置之后,管理员可以根据用户的各种需求来设置不同的代码集和权限集。
我们可以通过sn.exe或VS对项目右键属性在签名选项卡中采取RSA算法对程序集进行数字签名(加密:公钥加密,私钥解密。
我们可以通过sn.exe或VS对项目右键属性在签名选项卡中采取RSA算法对程序集进行数字签名(加密:公钥加密,私钥解密。