excel 数字签名的VBA代码的信任链未按预期工作

webghufk  于 2023-05-08  发布在  其他
关注(0)|答案(2)|浏览(254)

我创建了两个自签名证书:
1.根证书:MyRootCA自签名
1.代码签名证书:MyCodeSign签名人MyRootCA
现在,我将MyRootCA添加到Excel信任中心的 Trusted Publishers 中,并使用MyCodeSign(未添加到信任中心)签署我的VBA代码。
现在我相信,因为我信任签署MyCodeSignMyRootCA,Excel也应该信任所有MyCodeSign签名的代码(信任链)。但事实并非如此只有当我将MyCodeSign添加到信任中心时,我的代码才是可信的。
有人知道我哪里想错了吗?或者,如果子签名的代码的父证书是受信任的,Excel就不信任它吗?
下面你可以看到AMyRootCABA发布的MyCodeSign

现在我认为,当我在信任中心信任A时,所有使用B签名的代码也应该被信任。但是Excel仍然要求信任/启用宏。
所以也许有人可以证实这个问题(所以我知道这不是我的错)或反驳它?

**我正在使用最新版本的Office 2016 x64 Edition。**如果这很重要。

  • (抱歉德国截图)*
qojgxg4l

qojgxg4l1#

所以很明显Excel让我抓狂了

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

返回默认值 (可能是在更新或其他过程中发生的。)

  • 用通知禁用所有宏

使用此选项时,即使经过数字签名的VBA代码也会收到安全警告,并要求您激活宏。
当然,对于“* 禁用除数字签名宏之外的所有宏 *”,信任链是有效的,我不需要信任每一个证书。信任根CA就足够了。

  • 优点:Excel支持宏,并且不再询问数字签名的宏。
  • 缺点:Excel禁用宏,并且不再询问未签名的宏。

然而,我错过了两种选择的混合,比如:
“* 禁用所有宏并发出通知,数字签名宏除外 *”
完全符合我的愿望。

wswtfjt7

wswtfjt72#

看起来你必须信任发布者,即使你有一个有效的证书:
https://www.groovypost.com/howto/howto/office-2010-outlook-self-signed-digital-certificate/
看看这三个选项卡:
可信CA|值得信赖的出版商|不受信任的发布者

相关问题