听起来您正在寻找两种不同类型的证书:
1 - SSL 证书 - 用于验证您的网站/应用程序服务器。
2 - 代码签名证书 - 用于您提供的 exe 的完整性/身份验证。
通常,它们是两个不同的证书,具有两个不同的证书配置文件。至少,您需要一个具有两种不同密钥用法或扩展密钥用法的证书。
一些没有特定顺序的想法:
检查您的目标浏览器,它们每个都应该有一组预配置的根证书——这些是最广泛认可的公共证书来源。我可能会同时检查 Firefox 和 IE。我知道的大牌证书供应商有 - Versign、GeoTrust、RSA、Thawte、Entrust。但也有 GoDaddy 和许多其他人。提供的浏览器中作为受信任的根证书提供的任何内容都将允许您连接到您的用户而无需额外的 greif。
我建议用谷歌搜索“代码签名证书”和“SSL 证书”。
您如何配置您的站点将决定您的网站是否经过验证或您的身份验证服务器是否经过验证。如果证书存储在应用服务器上,那么您的用户将一直获得 SSL 加密到服务器。但是许多站点将 SSL 证书放在更靠前的位置——比如放在防火墙上,然后在其后面放置一组应用服务器。只要网络经过仔细配置,我看不出其中存在安全漏洞。对于外部用户来说,这两种配置看起来是一样的——他们会锁定他们的浏览器和一个证书,告诉他们 www.foo.com 正在提供它的凭据。
我看到 SSL 证书非常优惠: - GoDaddy - 12.99 美元 - Register.com - 14.99 美元
但它们不一定是代码签名证书。例如,虽然 GoDaddy 的 SSL 证书是 12.99 美元,但他们的代码签名证书是 199.99 美元!这是许多证书供应商商业模式的一部分——用廉价的 SSL 证书引诱你,让你为代码签名付费。可以证明代码签名证书的责任相对较高。而且……他们必须以某种方式补贴廉价的 SSL 证书。
从理论上讲,应该可以制作一个同时进行代码签名和 SSL 的证书,但我不确定你是否想要这样。如果发生了什么事,能够隔离这两个功能会很好。此外,我很确定您必须致电证书供应商并询问他们是否这样做,如果他们不这样做,让他们这样做可能会抬高价格。
至于供应商,需要考虑的事项:
- 技术几乎都是一样的。这些天来,目标是至少 128 位密钥,我可能会将它提高到 256,但我很偏执。
- 除了浏览器可接受性之外,支付更多费用的唯一原因是名称识别。在偏执的安全专家中,我希望 RSA、Thawte、Verisign 和 GeoTrust 有很好的声誉。也可能是 EnTrust。这可能仅在您处理以安全为重点的产品时才重要。我认为您的普通用户不会那么清楚。
- 从安全极客的角度来看 - 您的安全性取决于您的根 CA(证书颁发机构)的安全性。对于真正偏执的人来说,要做的事情是深入了解公司如何托管其根和发行 CA 的背景材料,它们是如何进行物理安全的?网络安全?人员访问控制?另外 - 他们是否有公共 CRL(证书吊销列表),您如何吊销证书?他们是否提供 OCSP(在线证书状态协议)?他们如何检查证书请求者以确保他们将正确的证书提供给正确的人?...如果您提供的东西必须高度安全,那么所有这些东西真的很重要。医疗记录、财务管理应用程序、税务信息等应得到高度保护。大多数网络应用程序都不是
在最后一颗子弹上——如果你深入研究世界上的 Verisigns——非常昂贵的证书——你可能会看到它的价值。他们拥有庞大的基础设施,并且非常重视 CA 的安全性。我不太确定超级便宜的托管服务。也就是说,如果您的风险很低,那么与 12.99 美元相比,300 美元的 SSL 证书没有多大意义!