如何控制Excel VBA代码数字签名时显示的证书列表?

时间:2017-10-27 20:32:53

标签: excel vba excel-vba certificate digital-certificate

要点:

我的目标是使用政府颁发的(硬件/物理)证书对我的Excel VBA宏进行数字签名。我知道如何从VBA代码窗口完成任务,但我想要的证书没有呈现。我知道证书可用于Windows和Excel。如何确定Excel用于确定要为代码进行数字签名的证书的逻辑?

详细信息:

(1)我想按如下方式对我的代码进行数字签名:开发人员菜单 - >查看代码按钮 - > (打开VBA代码窗口) - >工具菜单 - >数字签名菜单项 - >选择按钮 - > (显示可用证书列表)。不幸的是,我只看到基于软件的证书,而不是基于硬件的证书,我需要用它来签署这个宏。

(2)我知道Windows和我的浏览器可以使用硬件证书,因为我可以使用IE11,Chrome和Firefox登录各种网站。我也知道证书可供Office使用,因为我可以用它来对工作簿本身进行数字签名(从主Excel窗口,插入选项卡 - >签名行按钮 - > Microsoft Office签名行...选项 - &gt ;(打开“签名设置”对话框) - >“确定”按钮 - >(双击放置在工作簿中的签名字段 - >更改...按钮 - >;(显示证书列表,包括一个我想要的。)

(3)我在计算机上拥有管理权限。我已经在certmgr.msc中检查过该证书可用于Windows(它在证书中列出 - 当前用户 - >个人 - >证书),它没有过期,并且它有一个有效的信任链到我的信任存储区中的证书颁发机构(CA)(如证书 - 当前用户 - >受信任的根证书颁发机构 - >证书中所列)。

(4)我已经用Google搜索了这个问题,但只能获得标准"这就是您对代码进行数字签名的方式"页面,如果没有列出您想要的证书,则不会找到如何处理的参考。我甚至打电话给微软支持,但由于它与VBA有关,他们无法帮助我(即使我的公司有公司许可证和应用程序问题的支持合同)。

非常感谢任何帮助!

0 个答案:

没有答案