使用WCF管理证书

时间:2011-05-11 07:55:44

标签: wcf x509certificate certificate nettcpbinding

我们有一个中央WCF服务,我们通过netTcpBinding向客户端发送双工通信。

我们只希望允许互联网上的某些计算机与此WCF服务进行通信。我们要走的路线是使用X509证书来保护传输层并提供客户端身份验证,如下所示:

  <security mode="Transport">
    <transport clientCredentialType="Certificate"></transport>
    <message clientCredentialType="None"/>
  </security>

目前我们正在调用“MakeCert”来生成X509证书,并且必须指定certificateValidationMode="PeerTrust"来解决我们生成自己的自签名证书这一事实。

我的问题是我们应该如何管理客户证书?我们不希望让每个客户购买他们自己的证书 - 可能有数百个,这不是一个选择。我想我们想要充当自己的“根权威”,但我不确定如何解决这个问题......

1 个答案:

答案 0 :(得分:0)

如果您不想让每个客户从Verisign等受信任的证书提供商处购买其证书,那么您的其他两个选项要么生成自己签名的自签名证书(应该仅用于测试),要么创建你自己的PKI(私钥基础设施)。

我认为在你的情况下创建自己的PKI是可行的方法。像其他人在评论中所说:

  1. 首先将计算机设置为证书颁发机构:

    • 安装Active Directory证书服务(服务器角色)
    • 将其配置为根CA
    • 配置该CA的加密,名称和有效性
  2. 然后让客户端从该CA请求证书。

  3. 您从CA的角度来看证书。

  4. 客户端安装证书。

  5. 调整WCF配置以使用CA和证书

  6. 希望有所帮助。