Windows 平台数字签名支持模块的依赖分析与故障定位参考
addsignature.dll 属于 Windows 动态链接库体系,其命名中的“AddSignature”直接指向数字签名业务。它通常随电子签章软件、PDF 或 Office 签名插件、代码签名工具、加密中间件以及部分安全客户端一同安装,由宿主进程通过 LoadLibrary 与 GetProcAddress 动态加载并调用其导出函数。
枚举 Windows 证书存储区(MY、Root、CA),读取 X.509 证书链与扩展项,访问私钥容器句柄,并向调用方返回证书主题、有效期、密钥用途等元数据。
提供 SHA-1、SHA-256、SM3 等摘要算法接口,并封装 RSA、ECDSA、SM2 等非对称算法,通过私钥完成待签名数据的加密运算,输出原始签名值。
按规范生成 PKCS#7/CMS、PAdES、XML-DSig 等标准签名结构,将签名值、签名者证书链、签名属性与原文摘要组装进目标文件,保证结构可被第三方校验工具解析。
对接 TSA 服务发起 RFC 3161 时间戳请求,嵌入时间戳令牌;部分实现还支持归档时间戳与吊销信息嵌入,用于满足长期有效性验证需求。
重新计算原文摘要并与签名值比对,校验证书链、有效期及吊销状态(CRL/OCSP),返回结构化验证结果码,供上层判定签名是否被篡改或过期。
调起证书选择对话框、PIN 码输入窗口,并通过 CAPI、CSP、PKCS#11 接口与智能卡、UKey、加密机等硬件载体通信,完成私钥运算的可信调用。
安装包不完整或被安全软件隔离、升级时新旧版本未同步替换、模块未注册(regsvr32)或注册表信息残缺、32 位与 64 位模块混用、安装目录未纳入 PATH 环境变量,均可能导致该 DLL 无法被正确定位与加载。定位时应优先比对文件版本号、数字签名状态与宿主进程的位数,再检查依赖的运行时库是否存在。