我有一个公开多个WCF服务的应用程序(每个服务都是不同客户端应用程序的不同外观)。现在我正在为每个服务管理一个不同的证书(从我们的内部证书服务器创建)(我在多个环境中执行此操作,例如dev,qa,staging,prod)。
MSDN似乎表明此证书不仅用于加密通信,还用于“向客户端验证服务”,建议应使用不同的证书,以便将一个服务与另一个服务区分开来,即使在同一台服务器但是,我觉得我可以“欺骗”并在所有服务上使用相同的证书(至少每个环境) - 实质上是应用程序级证书。它仍然可以确保服务来自适当的应用程序。
那么这个“作弊”多少钱?我的规则太过弯曲了吗?显然,这是我的应用程序和我的服务,所以我可以自由地做我想做的事情 - 但是我想避免在线外太明显。
答案 0 :(得分:1)
如果您没有使用证书进行客户端证书身份验证或数字签名/验证,并且仅在服务器端使用证书进行SSL加密,则可以使用相同的证书。
客户在其各自的信任库/证书存储中会减少“信任”的证书。
但是,如果您的安全要求仅要求服务器端SSL以上,则最好使用不同的证书,以便服务器不能相互模拟。
我建议您提供生产证书和另一个可以为您的测试,qa和dev环境共享的证书。您还可以为非prod服务器使用自签名证书。