你好,我是一名开发人员,正在考虑为将通过公司网络分发的内部 .NET Winforms 应用程序引入 ClickOnce 部署。
现在我想在完全信任模型下部署此应用程序,但为了实现这一点,我需要使用证书对软件进行签名。我可以使用不包含发布者等信息的“测试”证书来执行此操作,但这意味着用户工作站上将发生额外的步骤,他们必须确认软件没有问题。
所以我想知道的是。有没有办法让我的 IT 基础设施人员为我创建一个来自域证书颁发机构的“内部”证书,还是我必须去付费从 VeriSign 之类的机构购买证书?
谢谢
答案1
是的,您可以创建一个内部证书,然后设置一个 MS 组策略,从而域中的每台计算机都会自动“信任”使用该证书签名的任何代码。
组策略项是:
Computer Configuration -> Windows Settings -> Security Settings -> Public Key Policies
在我们的案例中,我们创建了一个内部 CA,并将该 CA 颁发的所有证书都设为可信证书。即,它位于“受信任的根证书颁发机构”部分。
答案2
您的 IT 员工应该能够为您创建证书。正如您所说,它不会完全被信任,并且会提示用户信任该证书。出于测试目的,这是一个完全可行的选择。如果您有单独的安全团队,这可能属于他们的责任。
答案3
如果他们已经拥有 PKI,我无法想象他们还没有创建受信任的根基础设施。通常,您会在默认域策略的受信任根证书颁发机构部分中部署根 CA 的证书。