从受信任的签名机构发出的数字证书,当用于签署Excel文档时,是否允许文档自动运行宏?
签名是自签名还是由证书颁发机构根据用户看到的内容签名是否有所不同?
类似于在网页上使用verisign颁发的证书时,计算机通常会自动信任该机构颁发的证书。我想知道Excel中的行为是否相似。
我基本上试图解决分发Excel表单的问题,这些表单依赖于宏来正常运行。
答案 0 :(得分:3)
如果您从(例如VeriSign)购买签名密钥,则可以使用它来签署您的宏代码。当用户打开包含签名代码的文件时,会发生什么取决于他们设置的“宏安全级别”。我们假设它处于最高级别,这将无声地阻止任何未签名的代码运行。
在这种情况下,他们会被告知他们的文件是由(您的公司名称)签名并询问他们是否希望运行它。他们每次打开文件时都会被问到这个问题。但是,还有一个标题为“始终信任来自此发布者的宏”的复选框 - 如果他们打勾,那么您公司的任何签名代码将在没有进一步提示的情况下运行。
注意:您从VeriSign购买的签名有一个到期日 - 通常在一两年后。除非您在签署代码之前采取一些额外步骤,否则证书到期后代码将不再运行(!)。当您的用户突然发现一年后无法正常工作时,这可能会导致令人讨厌的冲击。
要确保代码在证书过期后仍继续工作,您需要在注册表中添加一些值,这些值指定将用于为签名代码添加时间戳的“时间戳服务器”。此时间戳稍后用于验证代码是否使用签名时有效的证书进行签名,而不是现在有效的证书。
有关如何执行此操作的信息,请参阅this link。