首先我要指出的是,我们的 IT 部门中没有人对自签名认证非常熟悉。我们的网络规模相当庞大(一个森林,多个位置),现在我们正在推出内部代码签名;到目前为止,用户运行了不受信任的代码,或者我们甚至禁用了警告(!)。现在,内部网应用程序、脚本和站点将使用自签名认证进行签名。
我知道有两种明显的部署方法:直接通过组策略分发密钥,以及设置证书服务器。有人能解释一下这两种方法之间的权衡吗?组策略方法在变得难以处理之前需要多少证书?它们是否大到远程用户会遇到问题?组策略方法是否会在每次登录时分发重复项?有没有我不知道的更好的方法?
我可以找到很多有关认证及其各种创建方法的文档,但我无法找到能够总结分发方法之间的差异以及哪些标准使其中一种或另一种更优越的内容。
答案1
您处境艰难 - 拥有/咨询具有 PKI 经验的人通常会有所帮助,因为很容易把事情搞砸。话虽如此,有相当多的资源可供公众使用,而且自 Server 2000 时代以来,MS 已经改进了 ADCS。
要利用代码签名证书,您需要一个 CA 基础架构,它与证书/密钥分发是分开的。如果没有证书服务器(托管或您自己的),就没有密钥可以分发。我假设您正在比较托管服务与自行开发服务。
如果您的组织没有技能/专业知识来自己开发,我建议您考虑托管/管理解决方案。如果您计划对将分发给公众的代码进行签名,这一点尤其重要。像 Symantec(拥有 Verisign、Thawte 和 GeoTrust)、Entrust、Comodo、GoDaddy、DigiCert 和任何其他公共证书颁发机构 (CA) 这样的公司将提供代码签名证书,每年收取费用。好处是您只需要弄清楚将它放在哪里以及您需要多少个代码签名证书。成本会比自己开发高一点,但如果您打算分发公共代码,那么这是您的最佳选择。无论如何,我建议您查看 Verisign 的产品,因为它们与旧版密钥库具有最大的兼容性。较新的 CA 可能支持 99%现代的浏览器,但可能无法与旧版本或不同的密钥库(例如 JKS)兼容。
如果代码是供内部使用的,而托管 CA 的成本太高,那么您可以自行构建基础架构。这包括设置 CA(ADCS、基于 OpenSSL、RSA、Entrust)和构建分发渠道。组策略简化了 CA 证书的分发以及证书注册。Brian Komar 出版了几本关于 Microsoft 证书服务的书。Komar 对该主题进行了全面的介绍,因此我建议在开始设置您自己的 CA 基础架构之前先获取一本。
高血压
答案2
如果您只是需要代码签名信息,我可以与 Bruce 合作,他已经整理了有关该主题的一系列文章。http://ssl.entrust.net/blog/?p=908
如果您需要完整的 PKI 部署,可以选择本地和托管服务。我会说,在 Entrust 工作,我们很乐意尽我们所能提供帮助,但至少我想分享 Bruce 的代码签名博客,这可能有助于信息收集。
祝你好运