程序集强命名全解析

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
程序集进行强命名有以下好处:
  1. 强命名后程序集可以被多个引用者共享。这个大家应该很清楚。
  2. 可以防止程序集被篡改。(这点还不是很明朗要继续加油,有明白的告诉我一下)
  3. 3是。。。我不知道了,有谁知道了帮我加下。:)

强命名过程:

  1. 获取私钥 sn -k privateKey.snk,一定要小心保管,丢了一切安全性都不存在了,其它人可以通过它发布由你签名的程序集。
  2. 获取公钥 sn -p privateKey.snk publicKey.snk,在延迟签名时派上用场。
  3. 生成强名程序集 

      1) csc /keyfile:privateKey.snk /t:dll ClassLibrary1.cs

      2) 在AssemblyInfo.cs中添加 [assembly: AssemblyKeyFileAttribute("privateKey.snk")]

延迟签名过程:

  1. 进行延迟签名,为了保证私钥的安全,在开发时只使用公钥进行延迟签名

      1) csc /keyfile:publicKey.snk /delaysign+ /t:dll ClassLibrary1.cs

      2) 在AssemblyInfo.cs中添加 [assembly: AssemblyKeyFileAttribute("publicKey.snk")]

  2. 要发布时对该程序集重新进行强命名 sn -R ClassLibrary.dll privateKey.snk。

  以上的命令行可以针对自己的需要修改,另外为保证私钥的安全,微软提供了一个保管私钥的容器,此时命令参数有变化,相关信息自行查找。


 
SSH介绍与神器Tabby 本文介绍了什么是SSH、SSH的原理和使用。适合新手阅读。 阅读详情

相关推荐

c# GAC(程序集缓存)深度解析

本文介绍了.NET框架中的程序集缓存(GAC)的核心概念与实践。GAC作为机器范围内的代码缓存,支持多应用程序共享程序集并解决DLL Hell问题。文章详细解析了GAC的物理结构、强命名机制,并提供了程序集安装/移除的多种操作方法(如GACUtil工具和PowerShell)。通过比较GAC与本地部署、NuGet的差异,阐明了各自适用场景。最后探讨了GAC在并行程序集加载等高级应用中的使用方式,为.NET开发中的程序集管理提供了面指导。

记录学习的过程 1088

用Tabby服务器远程SSH登录

这是我自己实践的总结。本文介绍的如何在Windows下使用Tabb终端连接远程服务器,包括Tabby的安装,本地秘钥对的生成,远程服务器的配置和SSH登录设置等都很详细。还提供了Tabby的下载连接。

xeqja的博客 5464

【解决吧】Unity中强命名程序集版本冲突:如何绕过Assembly ‘XXX.DLL’加载错误

本文深入解析Unity中因强命名程序集版本不匹配导致的‘XXX.DLL’加载错误。核心原因是默认开启的AssemblyVersion Validation机制要求版本精确匹配。文章提供了通过关闭Player Settings中的AssemblyVersion Validation选项来快速解决问题的步骤,并分析了其潜在风险,同时探讨了统一依赖版本、程序集重定向等更优的长期解决方案。

a3b4c5的博客 654

给第三方dll加上强命名的方法

在VS.NET 的命名行窗口下,输入如下的代码。# 1 ,生成一个KeyFile sn -k keyPair.snk# 2, 得到程序集的MSIL ildasm SomeAssembly.dll /out:SomeAssembly.il# 3 ,为了避免冲突,把原来的DLL 文件改名 ren SomeAssembly.dll SomeAssembly.dll.orig# 4 , 使用导出的MSIL

風☆小贤‘s 烂笔头 1891

CLR via C#:共享程序集强命名程序集

基础知识:如下所示: 1.程序集可以采取私有或局两种部署方式。其中私有部署指的是部署到应用程序根目录或者子目录,而局部署指的是部署到一些公认位置。 2.CLR支持弱命名和强命名两种程序集。区别如下所示: 1>.两种程序集的结构完相同,唯一区别就是强命名程序集使用发布者的秘钥进行签名。 2>.弱命名程序集只能使用私有部署方式,而强命名程序集可以使用私有和局两种部署方式。 3&gt...

zjz 580

强命名程序集及其身份标识的深入解析

本文深入探讨了如何为.NET程序集赋予强名称,包括使用sn.exe工具生成密钥对、配置项目文件进行签名、理解程序集身份的四个组成部分(简单名称、版本、文化、公钥标记),以及如何通过完限定名引用程序集。文章还介绍了AssemblyName类的使用、Authenticode签名的重要性与过程,以及代码签名证书的获取和安装。

weixin_35752645的博客 560

CLR-共享程序集强命名程序集

共享程序集强命名程序集 2017年08月12日 23:36:52生活常识阅读数 187 CLR支持两种类型的程序集:弱命名程序集(weakly named assembly)和强命名程序集(strongly named assembly)。二者的区别:强命名程序集使用发布者的公钥/私钥进行了签名。这一堆密钥允许对程序集进行唯一性的标识、保护和版本控制。   程序集可采用两种方式部署:私...

cxu123321的博客 209

CLR笔记:3.共享程序集强命名程序集

 3.1 两种程序集,两种部署  CLR有两种程序集,弱命名程序集强命名程序集,二者基本一样,区别:强命名程序集时用发布者的公钥/私钥对 进行了签名,唯一性的标识了程序集的发布者。弱命名程序集只能私有部署,强命名程序集可以使用局部署,也可以私有部署。  3.2 为程序集指派强名称  一个强命名程序集包括4部分重要属性,标志唯一:一个无扩展名的程序集,一个版本号,一个语言文化标志,

xzjxylophone的专栏 538

第三章 共享程序集强命名程序集

1. 概述   本章的重点是如何创建可由多个应用程序访问的程序集。 2. 名词解释   ① 公钥标记:从公钥派生的一个小的哈希值。 3. 主要内容   3.1 两种程序集,两种部署     CLR支持两种程序集:弱命名程序集强命名程序集。     一个程序集可以采取两种方式来部署:私有 或 局。     弱命名程序集只能私有部署,强命名程序集两种部署皆可。   3.2...

weixin_30289831的博客 144

[Clr via C#读书笔记]Cp3共享程序集强命名

Cp3共享程序集强命名程序集 私有方式部署+局方式部署;弱命名程序集+强命名程序集 强命名程序集使用发布者的公钥私钥进行签名,唯一标识发布者。 共享dll部复制到System32中 强命名程序集标识特征:文件名,版本号,语言文化,公钥标志。 使用SN.exe工具生成密钥对并查看,在VS中也可以进行这个操作。 程序集缓存GAC,GACUtil.exe 尽量避免局安装,使用私有...

diawuzi7244的博客 169

【深入理解CLR 四】共享程序集强命名程序集

上一篇博客我主要介绍了类型如何生成托管模块、托管模块如何链接成程序集等生成、打包、部署及管理等知识传送门https://blog.csdn.net/sinat_33087001/article/details/80347193,本篇博客介绍两种程序集强命名程序集和弱命名程序集,阅读本篇博客前,我先抛出3个问题,如果你想了解问题的解决,那么这篇博客就对你胃口啦: 1. CLR如何验证程序集的安...

MaoLin Tian's Blog 1506

深入了解.NET中的强命名与序列化技术

本文还有配套的精品资源,点击获取 简介:在.NET框架中,强命名用于为程序集提供唯一标识以防止篡改,涉及生成密钥对、编译时签名以及运行时验证。而序列化则是将对象状态转换为可存储或传输格式的过程,包括.NET内置序列化和第三方库等方法。强命名和序列化技术对于保证.NET应用的完整性和对象状态的正确传输至关重要,本课程将详细探讨这些概念及其应用。 1. .NET强命名...

weixin_34413326的博客 1436

C#与CLR学习笔记(2)—— 程序集的部署、查找与强名称

本文是《CLR via C#》一书第2章和第3章的要点总结。 上篇内容:《CLR via C#》读书笔记(1)—— 程序集的结构与CLR的启动 目录 程序集的生成与部署 程序集的生成 响应文件 语言文化 应用程序的管理配置与文件探测 程序集文件探测顺序 强命名程序集 强名称 公钥与私钥 创建强名称程序集 签名的过程 CLR对强命名程序集的检查 程序集的生成与部署 程...

一土宁的博客 480

共享程序集强命名程序集(1):部署和分配

两种程序集,两种部署 CLR支持两种程序集:弱命名和强命名(非官方叫法)。 弱命名程序集强命名程序集结构完相同。二者的区别在于,强命名程序集使用发布者的公钥/私钥进行了签名。这一对密钥允许程序集进行唯一标识、保护和版本控制,并允许程序集部署到用户机器的各个地方,甚至可以部署到Internet上。由于程序集被唯一地标识,所以当应用程序绑定到强命名程序集时,CLR可以应用一些已知安的策略...

weixin_33962621的博客 119
上一篇: 将Activex,打包成CAB文件放在网页上供人下载
下一篇: CSS 基础知识
tabbycat
博客等级 码龄19年 15粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值