`
胡火云
  • 浏览: 44485 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

PetShop4.0当中的PetShop.snk是什么文件?它有什么作用?

 
阅读更多
snk文件在.net里面被用作存放密钥或密钥对的存储文件,生成密钥对snk文件可以用.net中的sn.exe命令,如“sn -k keyPair.snk”。

snk本身只是用来存放非对称密钥的,但在各个需要用到加密、签名的地方都可以使用:
1)用snk文件生成强命名程序集,这样一个assembly才可以被赋予full-trust属性,也可以被添加到GAC中。在VS.NET中生成strong-named assembly,只需要在AssemblyInfo.cs里面添加一下代码并编译即可:
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("..\\..\\keyPair.snk")]
[assembly: AssemblyKeyName("")]

强命名程序集的缘由: 目前Windows中出现的DLL Hell问题(两个不同的公司可能开发处具有相同名称的程序集,如果将相同名称的程序集放置到同一个目录下,则会出现程序集覆盖现象,最后安装的程序集会覆盖前面的程序集,从而可能导致应用序不能正常运行)。由此看来,仅靠名称来区分程序集是不足够的。CLR采取了强命名程序集的方式来唯一的表示程序集。强命名程序集包含四个标识:名称,版本号,语言文化标识和一个共有/私有密钥对。两种程序集/两种部署方式:.Net支持两种程序集:弱命名程序集和强命名程序集(注:.Net框架中没有弱命名程序集,只是为了和强命名程序集相对应而已)。弱命名程序集和强命名程序集在结构上是相同的。他们都采用PE文件格式,包含PE表头,CLR表头,元数据和清单表。区别在于:强命名程序集拥有一个发布者的公钥/私钥签名对,他们用于唯一的标识程序集的发布者。通过公钥/私钥对,我们可以对程序集进行唯一的标识,安全策略和版本策略。
分享到:
评论

相关推荐

    PetShopV4.0源代码下载

    "PetShop.snk"是强名称密钥文件,用于给编译后的程序集签名,保证其在运行时的安全性和可信赖性。"源码必读.txt"可能是对源代码的简要介绍或注意事项,提醒开发者在阅读和使用源代码时需要注意的事项。 项目中的...

    Microsoft .NET Pet Shop 4.0.rar

    BLL CacheDependencyFactory CurrentInstall DALFactory DatabaseScripts DBUtility IBllStrategy ICacheDependency IDAL IMessaging IProfileDAL Membership ...PetShop.sln PetShop.snk PetShop.suo

    petshop MVC项目实例

    5. **PetShop.snk**:这是一个公钥/私钥对的文件,用于为程序集签名。签名确保代码未被篡改,并可启用强命名,防止命名冲突。 6. **PetShop.suo**:这是一个Visual Studio解决方案用户选项文件,存储了关于项目设置...

    petshop mvc的例子

    5. PetShop.snk:这可能是一个强名称密钥文件,用于为.NET程序集签名,确保其完整性和可信赖性。 6. PetShop.suo:这是Visual Studio的用户选项文件,存储了用户特定的设置,如断点位置、窗口布局等。 7. ...

    petshop mvc petshop mvc 源代码

    【描述】中的重复关键词"petshopmvc"暗示这是一个关于PetShop应用的MVC版本,它可能包含了一系列与开发、部署和配置相关的文件。 【标签】"petshop mvc"进一步确认了这是关于PetShop应用的MVC实现。PetShop是一个...

    PetShop for .NET3.5

    4. **PetShop.snk**:这是一个强名称密钥文件,用于为编译后的程序集签名,确保其在运行时的安全性和可信任性。在.NET中,强命名的程序集可以防止重命名或篡改,保护了软件的完整性。 5. **Build.bat**、**...

    .NET Pet Shop 4.0 多层架构

    PetShop.snk则是项目的签名文件,用于确保程序集的完整性和防止篡改。 四、学习与实践 通过研究.NET Pet Shop 4.0,开发者可以掌握如何组织和实现多层架构,理解各层之间的通信方式,以及如何利用asp.net、c#等技术...

    非常经典MVC petshop

    5. **PetShop.snk**:这是强名称密钥文件,用于为.NET组件签署,确保其来源可靠性和版本控制。 6. **PetShop.suo**:这是Visual Studio的解决方案用户选项文件,保存了用户特定的设置,如断点、窗口布局等。 7. **...

    .NET Pet Shop 4.0项目源码

    .NET Pet Shop 4.0是一个经典的开源项目,它为开发者提供了深入理解.NET框架和Web应用程序开发的宝贵资源。这个项目旨在展示如何使用.NET Framework 4.0进行企业级应用开发,涵盖了数据库交互、业务逻辑处理、用户...

    C# asp.net宠物商店管理系统(带完整数据库)

    【PetShop.snk】文件是用于为项目签名的密钥文件,它确保了程序集的完整性和可信任性,特别是当部署到服务器时,可以启用强命名,防止代码被篡改。 【源码必读.txt】可能是开发者提供的阅读指南,包含了一些关于...

    在线超市网站

    3. **PetShop.snk**: 这是签名文件,用于对.NET程序集进行数字签名,确保代码完整性和作者身份。在发布在线超市网站时,这可以增加软件的安全性,防止代码被篡改。 4. **51aspx源码必读.txt**: 这可能是关于51aspx...

    微软 宠物商店PetShopV4

    10. **安全与签名**:`PetShop.snk`是强命名密钥文件,用于为编译的程序集签名,确保代码的完整性和防止篡改。 通过深入研究PetShopV4,开发者不仅可以了解.NET框架的核心技术,还能学习到如何组织和设计大规模Web...

Global site tag (gtag.js) - Google Analytics