假设我有一个带有Web浏览器和两台服务器的场景:第一台服务器(web
)面向互联网,第二台(worker
)是内部服务器。内部web
使用worker
,但来自外部的每个请求都由web
收到。
所以你总是:
browser -> web -> worker
现在我想使用SSL保护两个连接:
web
应使用浏览器可以验证的服务器端证书。worker
应使用服务器端证书web
可以验证。web
将使用客户端(!)证书worker
可以验证。在这种情况下:是否可以重新使用web
的服务器端证书作为worker
的客户端证书,或者使用两个单独的证书是否更好?
我应该注意哪些最佳做法?
答案 0 :(得分:2)
这里有两个方面:安全方面和"技术"方面。
技术方面是证书的证书KeyUsage和ExtKeyUsage扩展名对于服务器端和客户端证书是不同的。工人将检查这些扩展的价值并抱怨。除非您在worker上实现自定义验证器(在这种情况下,您想要的任何证书都可以使用),否则会发生这种情况。
安全方面是,如果私钥因任何原因泄漏,拥有不同的证书(以及私钥)会在一定程度上提高安全性。