首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字签名的VBA代码中的信任链不像预期的那样工作

数字签名的VBA代码中的信任链不像预期的那样工作
EN

Stack Overflow用户
提问于 2018-03-06 15:29:01
回答 2查看 1.3K关注 0票数 3

我创建了两个自签名证书:

  1. 根证书:MyRootCA自签名
  2. 代码签名证书:由MyCodeSign签名的MyRootCA

现在,我将MyRootCA添加到Excel信任中心中的受信任发布服务器中,并使用MyCodeSign (没有添加到信任中心)对我的VBA代码进行签名。

现在我相信,因为我信任签署了MyRootCAMyCodeSign,所以Excel也应该信任所有的MyCodeSign-signed代码(信任链)。但事实并非如此,只有当我将MyCodeSign添加到信任中心时,我的代码才是可信的。

有人知道我哪里想错了吗?如果父证书受信任,Excel只是不信任子签名代码吗?

下面你可以看到AMyRootCABA发布的MyCodeSign

现在我认为,当我信任信任中心的A时,使用B签署的所有代码也应该被信任。但是Excel仍然要求信任/启用宏。

所以也许有人能证实这个问题(所以我知道这不是我的错)或者反驳它?

我正在开发最新版本的Office2016 x64版。如果这有关系的话,

(对德国的截图表示抱歉)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-08 09:37:15

所以很明显,Excel让我抓狂,并将选项从

  • 禁用除数字签名宏之外的所有宏

回到默认状态(可能是在更新过程中发生的)。

  • 禁用所有具有通知的宏 使用此选项,即使是数字签名的VBA代码也会收到安全警告,并要求您激活宏。

当然,对于“禁用除数字签名宏之外的所有宏”,信任链是有效的,我不需要信任每个证书。正如我所期望的那样,信任根CA就足够了。

  • 好处: Excel支持宏,不再对数字签名的宏进行询问。
  • Con : Excel禁用宏,不再询问未签名的宏.

然而,我错过了这两种选择的组合,例如:

“禁用除数字签名宏之外的所有具有通知的宏

完全符合我的愿望。

票数 3
EN

Stack Overflow用户

发布于 2018-03-06 18:39:38

看起来,即使您有一个有效的证书,也必须信任发行者:

https://www.groovypost.com/howto/howto/office-2010-outlook-self-signed-digital-certificate/

看看这三个选项卡:

可信CA @可信发布服务器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49134435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档