【问题标题】:Using a server-side certificate for client-side authentication使用服务器端证书进行客户端身份验证
【发布时间】:2014-04-03 13:04:58
【问题描述】:

假设我有一个包含 Web 浏览器和两台服务器的场景:第一台服务器 (web) 面向 Internet,第二台服务器 (worker) 是内部服务器。内部web 使用worker,但是来自外部的每个请求都由web 接收。

所以你总是有:

browser -> web -> worker

现在我想使用 SSL 保护两个连接:

  • web 应使用浏览器可以验证的服务器端证书。
  • worker 应使用服务器端证书 web 可以验证。
  • web 应使用客户端 (!) 证书 worker 可以验证。

在这种情况下:是否可以将web 的服务器端证书重新用作worker 的客户端证书,还是使用两个单独的证书更好?

有什么我应该注意的最佳做法吗?

【问题讨论】:

    标签: ssl ssl-certificate client-certificates


    【解决方案1】:

    这里有两个方面:安全方面和“技术”方面。

    技术方面是证书的证书 KeyUsage 和 ExtKeyUsage 扩展对于服务器端和客户端证书是不同的。工人将检查这些扩展的价值并抱怨。除非您在工作人员上实施自定义验证器(在这种情况下,您想要的任何证书都可以使用),否则这种情况将会发生。

    安全方面是,如果私钥由于某种原因泄漏,拥有不同的证书(以及私钥)在一定程度上会增加安全性。

    【讨论】:

      猜你喜欢
      • 2012-01-10
      • 1970-01-01
      • 2015-10-29
      • 2018-07-05
      • 2019-01-14
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多