在多个服务上使用相同的X.509 serviceCertificate?

时间:2012-09-19 17:10:27

标签: wcf x509certificate

我有一个公开多个WCF服务的应用程序(每个服务都是不同客户端应用程序的不同外观)。现在我正在为每个服务管理一个不同的证书(从我们的内部证书服务器创建)(我在多个环境中执行此操作,例如dev,qa,staging,prod)。

MSDN似乎表明此证书不仅用于加密通信,还用于“向客户端验证服务”,建议应使用不同的证书,以便将一个服务与另一个服务区分开来,即使在同一台服务器但是,我觉得我可以“欺骗”并在所有服务上使用相同的证书(至少每个环境) - 实质上是应用程序级证书。它仍然可以确保服务来自适当的应用程序。

那么这个“作弊”多少钱?我的规则太过弯曲了吗?显然,这是我的应用程序和我的服务,所以我可以自由地做我想做的事情 - 但是我想避免在线外太明显。

1 个答案:

答案 0 :(得分:1)

如果您没有使用证书进行客户端证书身份验证或数字签名/验证,并且仅在服务器端使用证书进行SSL加密,则可以使用相同的证书。

客户在其各自的信任库/证书存储中会减少“信任”的证书。

但是,如果您的安全要求仅要求服务器端SSL以上,则最好使用不同的证书,以便服务器不能相互模拟。

我建议您提供生产证书和另一个可以为您的测试,qa和dev环境共享的证书。您还可以为非prod服务器使用自签名证书。