我正在我们公司网络上部署一个签名的 ClickOnce 应用程序。该应用程序是由构建服务器构建并部署到共享驱动器位置的桌面应用程序。它使用我们为组织购买的赛门铁克代码签名证书进行签名。每个开发人员都已将证书安装到他们的个人存储中,构建服务器也是如此。个人商店是 VS 唯一可用于签名的位置。
当我尝试在非开发机器上安装应用程序时,我收到“无法验证发布者”警告。即使根证书存在于计算机上的 CA 证书存储中,并且代码签名证书存在于受信任的发布者存储中,也会发生这种情况。两个证书都显示为“OK”,并在机器上具有可追溯的路径。
但是,如果我将代码签名证书安装到个人商店(与 dev pc 上的相同),警告就会消失。相反,我得到一个更友好的对话框,询问是否应该安装该应用程序。
该证书与“Symantec Enterprise Mobile CA for Microsoft”和“Symantec Enterprise Mobile Root for Microsoft”一起出现在个人文件夹中。
该应用使用 .NET 4.71 和 Visual Studio 2017 构建,目标计算机运行 Windows 10。
问题:
为什么我需要在目标电脑的个人存储中安装证书才能使警告消失?文档https://msdn.microsoft.com/en-us/library/ms996418.aspx说在“受信任的根证书颁发机构”中拥有根证书就足够了
为什么我无法通过在“受信任的发布者”商店中安装代码签名证书来实现静默安装?这样做会使警告再次出现。
如果两个中间证书和根证书也出现在 Personal 和 Trusted Publishers 文件夹中,是否有问题?它们与代码签名证书一起安装。