使用SignTool签名带VBA宏的Excel文件时遇内部错误求助
关于Office宏文件签名失败的问题求助
- 已通过
regsrv.exe安装所需DLL,在两个环境测试均可正常签名VBS文件,但签名带VBA宏的Excel文件时出现未知内部错误,无相关错误信息 - 尝试过使用/不使用
offsign.bat两种方式,执行命令如下:
.\offsign.bat "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\" "sign /debug /f C:\Temp\officesign\dateien\codesignedcert.pfx /p password /fd SHA256 C:\Temp\officesign\dateien\SelfSignedTest.xlsm"
- 收到的错误信息:
The following additional certificates will be attached: Done Adding
Additional Store SignTool Error: An unexpected internal error has
occurred. Error information: "Error: SignerSign() failed."
(-2147220493/0x800403f3)=================================== Job Summary ==================================== Error! Failed when executing the first sign command. You should fix the problem and re-run OffSign.
排查建议
- 检查证书兼容性:确认代码签名证书支持Office宏签名,部分普通代码签名证书(尤其是自签名证书)可能不兼容VBA宏签名的格式或权限要求
- 验证文件完整性:新建一个仅含简单测试宏的空白Excel文件尝试签名,排除原文件损坏或宏代码异常的可能
- 调整命令参数:
- 移除
/debug参数后重试,调试模式可能引发额外兼容性问题 - 添加
/tr参数指定时间戳服务器(如http://timestamp.digicert.com),部分环境下缺少时间戳会导致签名失败
- 移除
- 匹配环境位数:确认Windows SDK版本(x86/x64)与Office版本一致,若使用64位Office,需切换到对应x64路径的SDK工具
- 提升权限执行:以管理员身份运行命令提示符执行签名操作,避免权限不足导致的内部错误
- 查看系统日志:打开事件查看器,在「Windows日志>应用程序」中查找签名失败时的详细报错记录,获取更具体的失败原因
内容的提问来源于stack exchange,提问作者SettusBlake
相关产品推荐
相关产品推荐

