将 <publisher> 添加到 Excel 加载项项目

Adding a <publisher> to an Excel add-in project

我最近不得不接管一个 Excel 插件项目,我遇到的一个问题是客户无法使用该插件,因为他们的信任中心只允许由以下人员签名的 COM 加载项值得信赖的出版商。 (而且他们无法禁用它)

我是新手,不太了解这个签名问题,所以我自己签署了代码。

但是加载项的发布者设置为 None。这是它的显示方式。

我相信那不是我需要做的,对吧?由于自签名不会被客户信任中心信任。

我看到了这个 post 但我不确定发生了什么。

这是否意味着没有可能的解决方法,还是我理解错了?

我想知道但我需要一些帮助的一件事是,如果加载项需要由受信任的发布者签名。如果客户端正在生成 .pfx 并且我用它来签署外接程序?

A​​FAIK,没有 "tricks" 你可以从 DEV 端做。这是一项安全功能。您需要使用有效证书签署您的加载项才能删除 "unknown publisher"。您可以通过 select 在 Visual Studio 的项目设置中的 "Sign" 选项卡上获取该证书来做到这一点。

如果您是 public company/developer 并且对您的用户没有任何假设,那么您可以从 public 代码签名之一获取代码签名证书证书提供者。主要的列在这里:https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-a-code-signing-certificate 它不是免费的,您需要向证书颁发机构证明您的身份(例如,向他们提供您的 passport/company 注册 details/etc)。

如果您正在为特定组织开发加载项并且您可以与其管理员协商,或者您的用户在他们的计算机上拥有管理员权限并且被允许破坏安全性,那么您可以创建一个自签名证书,用它签署你的代码(select 它在 "Signature" 选项卡上),然后要求你的用户(或用户的管理员)将这个自签名证书添加到 "trusted root" 用于他们的 organization/on 他们的电脑。

请注意,自签名证书通常仅在创建证书的 PC 上有效,并用于测试或开发目的。在您的情况下,这意味着您的自签名证书在您的 PC 上有效,但在客户的 PC 上无效。如果您希望您在您的 PC 上创建的证书也可以在客户的 PC 上使用,那么您必须要求客户将您的证书添加为 "trusted root",即以与其中一个相同的方式对待您的签名"worldwide trusted certification authorities" 来自上面的列表。

不过,通常的做法是从证书颁发机构购买证书。