news 2026/6/15 22:10:23

39、程序开发中的延迟签名与异常处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
39、程序开发中的延迟签名与异常处理

程序开发中的延迟签名与异常处理

1. 延迟签名

在程序开发中,公司需要谨慎保管其公钥/私钥对中的私钥。若不可信人员获取私钥,他们可能会伪装成公司发布代码。因此,公司不会随意开放包含公钥/私钥对的文件访问权限。在大型公司里,程序集的最终强命名通常在开发流程的最后阶段,由有权访问密钥对的特殊团队完成。

然而,这在开发和测试过程中会引发一些问题:
- 公钥是程序集标识的四个组成部分之一,在提供公钥之前,无法设置程序集的标识。
- 弱命名的程序集不能部署到全局程序集缓存(GAC)。但开发人员和测试人员需要能够以发布时的方式编译和测试代码,包括其在GAC中的标识和位置。

为解决这些问题,出现了一种修改后的强命名方式,即延迟签名(也称为部分签名)。这种方式既能克服上述问题,又不会公开私钥。在延迟签名中,编译器仅使用公钥/私钥对中的公钥,将公钥放入清单以完善程序集的标识,同时使用一块0来为数字签名预留空间。

创建延迟签名程序集需完成以下两步:
1. 创建仅包含公钥的密钥文件副本,而非公钥/私钥对。
2. 在源代码的程序集作用域中添加一个名为DelaySignAttribute的额外属性,并将其值设置为true

若尝试将延迟签名的程序集部署到GAC,CLR不会允许,因为它不是强命名的。要在特定机器上部署,需从Visual Studio命令提示符发出以下命令,以禁用该机器上GAC对该程序集的签名验证,并允许将其安装到GAC中:

sn –vr MyAssembly.
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 22:33:06

44、C编程中的资源管理与COM交互技术

C#编程中的资源管理与COM交互技术 在C#编程中,资源管理和与COM(Component Object Model)的交互是两个重要的方面。下面将详细介绍标准的资源释放模式、构造函数与析构函数的比较,以及C# 4.0中与COM交互的特性。 标准资源释放模式 在C#里,析构函数的调用机制和C++不同。C…

作者头像 李华
网站建设 2026/6/15 17:15:32

MaaYuan游戏助手:3分钟解放双手,让游戏回归乐趣本质

MaaYuan游戏助手:3分钟解放双手,让游戏回归乐趣本质 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan 你是否也曾为重复的游戏日常任务感到疲惫?每天机械性地点击相同按钮…

作者头像 李华
网站建设 2026/6/15 15:47:23

Dify专属客户经理服务开通条件

Dify专属客户经理服务的开通逻辑:从技术能力到商业信任的跃迁 在企业纷纷拥抱AI的今天,一个现实问题摆在面前:如何让非算法背景的业务团队也能高效构建真正可用的大模型应用?很多公司试过直接调用大模型API,结果却发现…

作者头像 李华
网站建设 2026/6/14 21:55:00

3分钟玩转Qobuz音乐下载神器:小白也能轻松上手

还在为如何从Qobuz平台下载高品质音乐而烦恼吗?QobuzDownloaderX-MOD这款开源工具绝对是你的理想选择!作为一款专业的Qobuz下载工具,它能让你像专业人士一样轻松获取心仪的音乐资源。 【免费下载链接】QobuzDownloaderX-MOD Downloads stream…

作者头像 李华
网站建设 2026/6/15 15:35:19

SVGcode终极指南:快速将图片转换为矢量SVG的秘诀

SVGcode终极指南:快速将图片转换为矢量SVG的秘诀 【免费下载链接】SVGcode Convert color bitmap images to color SVG vector images. 项目地址: https://gitcode.com/gh_mirrors/sv/SVGcode 还在为图片放大后模糊不清而烦恼吗?想要让你的图标在…

作者头像 李华
网站建设 2026/6/15 13:13:16

Python高效PDF处理实战:PyPDF2轻松掌握文档操作

Python高效PDF处理实战:PyPDF2轻松掌握文档操作 【免费下载链接】pypdf 项目地址: https://gitcode.com/gh_mirrors/pypd/pypdf 在当今数字化办公环境中,PDF文档处理已成为程序员的必备技能。PyPDF2作为Python生态中最强大的PDF处理库&#xff0…

作者头像 李华