强名介绍Strong Name
来源:互联网 发布:java flag 用法 编辑:程序博客网 时间:2024/05/02 02:26
错误:对程序集“XXX.dll”签名时加密失败 --“读取密钥文件“XXXX.snk”时出错 -- 系统找不到指定的文件。 ”
原因是没有密钥文件,可以使用这样的方法创建一个密钥文件: 1,找到签名工具sn.exe,默认的路径是:系统盘:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin;(如果没有的话通过搜索sn.exe来查找) 在命令行下输入sn -k XXXX.snk,将生成的XXXX.snk copy 到项目目录即可
2. 或者最直接的方法就是,不要签名了,找到XXX项目的AssemblyInfo.cs文件,注释掉下面一行: [assembly: AssemblyKeyFileAttribute("..XXX.snk")] 编译就可以通过了。
强名称为程序集签名 创建密钥对创建密钥对 要使用强名称为程序集签名,必须具有公钥/私钥对。sn -k sgKey.snk 如果您需要延迟对程序集签名并控制整个密钥对(密钥对不太可能在测试方案之外),可使用以下命令生成密钥对,然后从中将公钥提取到一个单独的文件中。首先,创建密钥对: sn -k keypair.snk 下一步,从密钥对中提取公钥,并将其复制到一个单独的文件中: sn -p keypair.snk public.snk 创建密钥对之后,必须将文件放在强名称签名工具可以找到的位置.下面简单的解释以下strong name:加密签名是计算机安全方面的名词,加密分为对称和非对称加密,这里用的是后者,strong name是进行程序集版本控制和名称保护的,对一个程序集进行签名后就会得到一个strong name。strong name由以下几部分组成程序集的标识(即它的简单文本名称),版本号和区域性信息(如果提供的话),以及公钥和数字签名。strong name可以确保一个程序集名称的唯一性。强名称是使用相应的私钥,通过程序集文件(包含程序集清单的文件,并因而也包含构成该程序集的所有文件的名称和散列)生成的。需要强调的是,是对程序集的加密和签名(包括名称,版本等信息)得到强名称,强名称是唯一的,所以程序集也是唯一的,程序集加密签名成strong name需要使用私钥,这个私钥由keyname和keyfile组成,其中KeyName 是指已经安装在计算机上的加密服务提供程序(CSP)中的密钥。KeyFile 是指包含密钥的文件(其实就是.snk文件)。KeyFile通过sn.exe生成。
- 强名介绍Strong Name
- 强名称的原理(strong name)
- 强名介绍2
- 强名介绍3
- 关于.Net的强名称(Strong Name)
- 如何创建强命名程序集(Strong Name Assembly
- strong name
- Strong Name
- C#程序集使用强名字(Strong Name)签名/强名称签名
- 强名称程序集(strong name assembly)——为程序集赋予强名称
- 将COM签发成具有强名称(Strong Name)的结果程序集(Assembly)
- 如何使一个你没有源代码的DLL文件变为强命名的(Strong Name)
- 如何使一个你没有源代码的DLL文件变为强命名的(Strong Name)
- 没有源代码的DLL文件变为强命名的(Strong Name)
- strong name in .NET
- 关于Strong Name
- 关于Strong Name
- 关于strong name
- An Overview of Managed/Unmanaged Code Interoperability
- 工作流与JBPM开发实例精解
- 【转】CListCtrl 使用技巧
- java technology
- STL学习小结【转帖】
- 强名介绍Strong Name
- 多线程多核的delete陷阱
- 启动一个进程并获得其主窗口句柄
- 我的视点
- Asp.net 2.0 为用户控件添加event
- 让你的软件界面更漂亮(六) -- 仿QQ主界面
- Installshield 2008 And 脚本 (五)
- Xml简要
- 【转】CListCtrl 使用技巧