news 2026/5/3 23:50:51

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/5/3 3:25:17

DatalinkX异构数据同步平台深度解析与实践指南

DatalinkX异构数据同步平台深度解析与实践指南 【免费下载链接】datalinkx 基于flink的异构数据源同步🤩🤩 项目地址: https://gitcode.com/gh_mirrors/da/datalinkx 引言:数据同步的挑战与机遇 在当今数据驱动的时代,企业…

作者头像 李华
网站建设 2026/5/1 17:24:10

Path of Building:流放之路终极构建规划完整教程

Path of Building:流放之路终极构建规划完整教程 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building(PoB)是《流放之路》…

作者头像 李华
网站建设 2026/5/3 19:01:05

GreaterWMS终极指南:10大核心功能解锁智能仓储新体验

GreaterWMS终极指南:10大核心功能解锁智能仓储新体验 【免费下载链接】GreaterWMS This Inventory management system is the currently Ford Asia Pacific after-sales logistics warehousing supply chain process . After I leave Ford , I start this project .…

作者头像 李华
网站建设 2026/5/3 1:34:53

TexTools Blender插件完全指南:从零开始掌握专业纹理处理

TexTools Blender插件完全指南:从零开始掌握专业纹理处理 【免费下载链接】TexTools-Blender TexTools is a UV and Texture tool set for 3dsMax created several years ago. This open repository will port in time several of the UV tools to Blender in pytho…

作者头像 李华
网站建设 2026/5/3 15:31:23

揭秘UWB室内定位系统:打造厘米级精度的智能导航方案

揭秘UWB室内定位系统:打造厘米级精度的智能导航方案 【免费下载链接】UWB-Indoor-Localization_Arduino Open source Indoor localization using Arduino and ESP32_UWB tags anchors 项目地址: https://gitcode.com/gh_mirrors/uw/UWB-Indoor-Localization_Ardu…

作者头像 李华
网站建设 2026/4/22 7:23:14

5大核心功能解析:开源压缩工具如何重塑文件管理体验

5大核心功能解析:开源压缩工具如何重塑文件管理体验 【免费下载链接】7z 7-Zip Official Chinese Simplified Repository (Homepage and 7z Extra package) 项目地址: https://gitcode.com/gh_mirrors/7z1/7z 在数字时代,文件压缩已成为提升工作效…

作者头像 李华