我创建了两个自签名证书:
1.根证书:MyRootCA
自签名
1.代码签名证书:MyCodeSign
签名人MyRootCA
现在,我将MyRootCA
添加到Excel信任中心的 Trusted Publishers 中,并使用MyCodeSign
(未添加到信任中心)签署我的VBA代码。
现在我相信,因为我信任签署MyCodeSign
的MyRootCA
,Excel也应该信任所有MyCodeSign
签名的代码(信任链)。但事实并非如此只有当我将MyCodeSign
添加到信任中心时,我的代码才是可信的。
有人知道我哪里想错了吗?或者,如果子签名的代码的父证书是受信任的,Excel就不信任它吗?
下面你可以看到A
是MyRootCA
,B
是A
发布的MyCodeSign
:
现在我认为,当我在信任中心信任A
时,所有使用B
签名的代码也应该被信任。但是Excel仍然要求信任/启用宏。
所以也许有人可以证实这个问题(所以我知道这不是我的错)或反驳它?
**我正在使用最新版本的Office 2016 x64 Edition。**如果这很重要。
- (抱歉德国截图)*
2条答案
按热度按时间qojgxg4l1#
所以很明显Excel让我抓狂了
返回默认值 (可能是在更新或其他过程中发生的。):
使用此选项时,即使经过数字签名的VBA代码也会收到安全警告,并要求您激活宏。
当然,对于“* 禁用除数字签名宏之外的所有宏 *”,信任链是有效的,我不需要信任每一个证书。信任根CA就足够了。
然而,我错过了两种选择的混合,比如:
“* 禁用所有宏并发出通知,数字签名宏除外 *”
完全符合我的愿望。
wswtfjt72#
看起来你必须信任发布者,即使你有一个有效的证书:
https://www.groovypost.com/howto/howto/office-2010-outlook-self-signed-digital-certificate/
看看这三个选项卡:
可信CA|值得信赖的出版商|不受信任的发布者