内部代码签名:密钥分发或证书服务器?

我首先应该注意的是,我们没有人熟知自签名authentication。 我们有一个适度蔓延的networking(一个森林,许多地点),现在我们正在推出内部代码签名; 到目前为止,用户运行不受信任的代码,或者我们甚至禁用(!)警告。 现在,Intranet应用程序,脚本和站点将通过自我authentication进行签名。

我知道我们可以采用两种明显的方式:直接通过组策略分配密钥,并设置证书服务器。 有人可以解释这两种方法之间的权衡? 组策略方法之前有多less证书是笨拙的? 他们足够大,远程用户会有问题吗? 组策略方法是否在每次login时分发重复数据? 有没有更好的方法,我不知道?

我可以find很多关于authentication的文档和创build它们的各种方法,但是我一直没有find总结分配方法和哪个标准使得其中一个更优越的区别的东西。

你处在一个棘手的问题 – 与PKI经验的人进行协商通常是很有帮助的,因为这很容易把这件事搞砸了。 有了这些说明,有相当多的资源可供公众消费,并且自2000年以来,MS已经改进了ADCS。

要利用代码签名证书,您需要一个CA基础结构,它与证书/密钥分发不同。 没有证书服务器(托pipe或您自己的),没有密钥分发。 我假设你正在比较托pipe服务与自己的滚动。

如果您的组织不具备自己的技能/专业知识,我build议您查看托pipe/托pipe解决scheme。 如果您打算签署分发给公众的代码,这一点尤其重要。 赛门铁克(拥有Verisign,Thawte和GeoTrust),Entrust,Comodo,GoDaddy,DigiCert以及任何其他公共authentication机构(CA)等公司都将提供年费代码签名证书。 好处是你只需要弄清楚它放在哪里以及你需要多less代码签名证书。 成本将比自己的更高一点,但如果你打算分发公共代码,那么这是你最好的select。 如果有的话,我build议您查看Verisign的产品,因为它们与传统密钥库具有最大的兼容性。 较新的CA可能支持99%的现代浏览器,但可能不适用于旧版本或不同的密钥库 – 例如JKS。

如果代码是供内部使用的,而且受pipe理CA的代价太高,那么您可以推出自己的基础架构。 这包括设置CA(基于ADCS,OpenSSL,RSA,Entrust)和构build分销渠道。 组策略简化了CA证书的分发和证书的注册。 Brian Komar发表了一些关于微软证书服务的书籍。 Komar提供有关此主题的全面报道,因此我build议有人在开始设置自己的CA基础架构之前先获得一份副本。

HTH

如果你只是需要代码签名信息,我和布鲁斯一起工作,他正在编写一个关于这个主题的系列文章。 http://ssl.entrust.net/blog/?p=908

如果您需要完整的PKI部署,则可以select内部部署和托pipe服务。 我会说为Entrust工作,我们会很乐意尽我们所能,但至less我想分享Bruce的代码签名博客,这可能有助于信息收集。

祝你好运