excel - 使用数字证书自动启用宏?

标签 excel digital-signature digital-certificate

那么,由受信任的签名机构颁发的数字证书在用于签署 Excel 文档时,是否允许文档自动运行宏?

就用户看到的内容而言,签名是自签名还是由证书颁发机构签名有区别吗?

与您在网页上使用威瑞信颁发的证书类似,机器通常会自动信任由该机构颁发的证书。我想知道 Excel 中的行为是否相似。

我基本上是在尝试解决分发依赖于宏才能正常运行的 Excel 表单的问题。

最佳答案

如果您从(例如 VeriSign)购买签名 key ,那么您可以使用它来签署您的宏代码。当用户打开包含您签名代码的文件时,会发生什么取决于他们设置的“宏安全级别”。让我们假设它处于最高级别,这将默默地阻止任何未签名的代码运行。

在这种情况下,他们将被告知他们的文件由(您的公司名称)签名并询问他们是否希望运行它。他们每次打开文件时都会被问到这个问题。但是,还有一个标题为“始终信任来自此发布者的宏”的复选框 - 如果他们勾选了该选项,那么此后您公司的任何签名代码都将在没有进一步提示的情况下运行。

注意:您从 VeriSign 购买的签名有有效期 - 通常在一两年后。除非您在签署代码之前采取一些额外步骤,否则 证书过期后代码将不再运行(!) .当您的用户突然发现一年后没有任何效果时,这可能会导致严重的震惊。

为确保即使在证书过期后代码仍能继续工作,您需要在注册表中添加一些值,以指定将用于对签名代码进行时间戳记的“时间戳服务器”。此时间戳稍后用于验证代码是否使用在签名时有效的证书进行签名,而不是现在有效的证书。

有关如何执行此操作的信息,请参阅 this link .

关于excel - 使用数字证书自动启用宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6769026/

相关文章:

java - 正在抑制应用程序 数字证书已被验证 您想运行该应用程序吗

web-applications - 对流程进行数字签名的策略?

python - 使用 openpyxl 查找隐藏的单元格

excel - Range.Address 在公式中使用时被截断(字符串太长)

excel - 将数组分配给 .RemoveDuplicates 列 :=

java - 使用 Java 将外部 PKCS1 字节数组和证书添加到 CMS 容器

java - 如何使用EdDSA/Ed448签名算法重新生成私钥?

excel - 从文本框VBA中删除前导零

python - 如何用python读取pkcs#7个人数字证书?

ios - SecCertificateCopySubjectSummary : How to get Certificate Information in human readable form?