在信任关系中可以将服务器证书用作客户端证书吗?
Is it Ok to use the server cert as a client cert in a trust relationship?
我正在开发一个多服务器可以相互信任的系统。这些关系是通过使用 X.509 证书身份验证的服务器到服务器连接建立的。
服务器有自己的服务器证书,客户端使用这些证书来验证服务器的身份(与浏览器客户端和网络服务器完全相同)。
我的问题:在两台服务器(A 和 B)之间建立信任关系时,当服务器 A 与服务器 B 通信时,使用服务器 A 的服务器证书作为客户端身份是否存在固有的不安全或问题?实际上,这涉及将服务器 A 的服务器证书安装到服务器 B 的信任库中,反之亦然。出于某种原因,为服务器 A 和 B 创建一个单独的客户端标识,而不是使用它们的服务器标识作为它们的客户端标识更好吗?
就我个人而言,我看不出它有什么问题,从高层次的角度来看它实际上是有道理的——服务器 A 毕竟是连接到服务器 B 的客户端。
When establishing trust relationships between two servers (A and B), is there anything inherently insecure or problematic with using server A's server certificate as a client identity when server A communicates with server B?
不,只要对等点可以相互验证就可以。
In practice, this involves installing server A's server cert into server B's trust store, and vice versa.
实际上,证书应从中央 CA 安装。或者,public/commercial o 内部。避免为终端实体使用自签名证书。自签名证书会增加证书管理开销,并且不允许撤销检查(在需要撤销对等证书的情况下)。
我正在开发一个多服务器可以相互信任的系统。这些关系是通过使用 X.509 证书身份验证的服务器到服务器连接建立的。
服务器有自己的服务器证书,客户端使用这些证书来验证服务器的身份(与浏览器客户端和网络服务器完全相同)。
我的问题:在两台服务器(A 和 B)之间建立信任关系时,当服务器 A 与服务器 B 通信时,使用服务器 A 的服务器证书作为客户端身份是否存在固有的不安全或问题?实际上,这涉及将服务器 A 的服务器证书安装到服务器 B 的信任库中,反之亦然。出于某种原因,为服务器 A 和 B 创建一个单独的客户端标识,而不是使用它们的服务器标识作为它们的客户端标识更好吗?
就我个人而言,我看不出它有什么问题,从高层次的角度来看它实际上是有道理的——服务器 A 毕竟是连接到服务器 B 的客户端。
When establishing trust relationships between two servers (A and B), is there anything inherently insecure or problematic with using server A's server certificate as a client identity when server A communicates with server B?
不,只要对等点可以相互验证就可以。
In practice, this involves installing server A's server cert into server B's trust store, and vice versa.
实际上,证书应从中央 CA 安装。或者,public/commercial o 内部。避免为终端实体使用自签名证书。自签名证书会增加证书管理开销,并且不允许撤销检查(在需要撤销对等证书的情况下)。