DigiCert EV代码签名证书无法签署Excel VBA宏问题求助
无法使用存储在Thales SafeNet HSM中的DigiCert EV代码签名证书签署Excel VBA宏
使用DigiCert EV代码签名证书(Extended Validation)签署Excel文件时,通过Excel起始页的「保护并签署Excel文件」功能可正常完成操作,但尝试用同一证书签署Excel中的VBA宏时失败。
操作流程:打开VBA编辑器->工具->数字签名->选择DigiCert证书->确定->关闭VBA并保存
执行到保存环节时弹出错误:
数字证书存在问题。无法签署VBA项目。签名将被取消。
环境信息
- EV密钥存储在Thales SafeNet 5110 HSM Token中,无法导出
- 操作系统:Windows 10 Enterprise 22H2
- Excel版本:2019
已咨询DigiCert技术支持,对方建议导出带密钥的证书(该方案仅适用于OV证书,不适用于禁止导出密钥的EV证书),未解决问题。
已尝试的操作
- 使用DigiCert的
CertUtil.exe和Windows证书管理器导出证书,分别导入至「我的证书」存储区及让Windows自动选择存储区 - 安装DigiCert中间证书
DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1为可信CA - 添加时间戳服务器,执行以下注册表命令:
reg add "HKCU\Software\Microsoft\VBA\Security" /v "TimeStampURL" /f /d "http://timestamp.digicert.com" reg add "HKCU\Software\Microsoft\VBA\Security" /v "TimeStampRetryCount" /f /t REG_DWORD /d 2 reg add "HKCU\Software\Microsoft\VBA\Security" /v "TimeStampRetryDelay" /f /t REG_DWORD /d 1
复现步骤
- 插入HSM Token
- 通过
certmgr.msc检查「我的证书」存储区中证书对应的密钥是否可用 - 打开Excel文件
- 打开VBA编辑器
- 打开现有模块/新建模块
- 选择「工具->数字签名」
- 选择DigiCert证书
- 保存文件
当前现象与期望结果
- 当前现象:保存时弹出错误提示「数字证书存在问题。无法签署VBA项目。签名将被取消。」
- 期望结果:成功使用该证书签署并保存VBA宏
内容的提问来源于stack exchange,提问作者Lossos
相关产品推荐
相关产品推荐

