2011-05-09 111 views
2

首先,感谢所有那些试图帮助未知人员的耐心技术人员。其次,我有一个wcf服务,应该由我们公司已知的几个客户(10)使用。此wcf服务具有x509证书“CN = ABCD”。现在它希望从客户那里获得一个证书来使用这项服务。因此,这里有设计问题X509证书实施最佳实践

  1. 我应该创建一个证书 “CN = ABCD”,然后在其上 进出口权单击以PFX文件和 它们分发到客户端?
  2. 有人说要验证代码和 有人说在配置中验证哪个 更好?
  3. 我应该怎么知道哪个客户是 打电话的证书有相同的名称 如果我的公司 分配它?
  4. .cer file和.pfx文件有什么不同?
  5. 将证书传递给 客户端时,我会同时提供.cer 和.pfx文件吗?
  6. 如果客户端过期,我应该如何撤销其中一个 ?
  7. 我的公司已经有一个证书 像* .fdfd.org。我可以使用这个作为 我的X509Certificate而不是 生成一个?

很多问题!
但由于很多挫折,我希望得到开发人员的意见,因为我无法获得正确的信息。

回答

1
  • NO必须有单独的证书服务,你应该为每个客户端一个证书。一旦你分享了你的服务的私钥,你的安全就没了。
  • 您可以客户端证书的公钥安装到机\信任的人(客户端与任何受信任的证书将有机会获得为您服务),也可以使用自定义证书验证(仅消息安全 - 根据您的previous question你可能使用消息安全性)仅确认这10个证书。
  • 这只有在您为每个客户创建单独的证书时才有可能。也可以将证书与支持的用户名和密码结合起来,但它需要非常先进的WCF配置,并仍然在多个客户端之间共享单个证书是一个不好的决定。
  • 证书只是一些信息的容器 - 用于非对称加密的密钥。 .cer仅包含可以自由分发的公钥 - 您可能必须在客户端之间分发服务证书的.cer文件。 .pfx包含公钥和私钥,必须尽可能保证安全。一旦.pfx文件被破坏,证书不再受到保护,必须更换。因此,您必须保留您的服务的.pfx(安装在证书凭证存储区中),并且每个客户端都必须保留其.pfx。
  • 如果您为客户端创建证书,则至少会向其传递.pfx。很显然,一旦您通过无担保的电子邮件发送此类证书,您会严重伤害安全。
  • 如果一个客户端到期,您将从可信证书中删除其证书。如果您拥有自己的证书颁发机构(如果您想为客户机创建证书,则应该拥有该机构)
  • 如果您的服务位于fdfd.org上,您可以使用它,但仅限于该服务。
+0

太棒了...这是超过需要。谢谢你的精彩解释。我赞赏它。亲切的问候,Chand – Chandanan 2011-05-11 16:04:58