【问题标题】:Tomcat SSL mutual authentication for multiple services多个服务的Tomcat SSL相互认证
【发布时间】:2018-01-11 06:46:33
【问题描述】:

我在 tomcat 8 上部署了一个 Web 应用程序,它使用来自两个不同系统的 Web 服务,每个系统都需要相互身份验证。现在我需要将我的应用程序与两个不同的客户端证书集成,或者我们可以说两个具有不同密码的不同密钥库。现在我在为这两种服务使用正确的证书时遇到了困难。

我正在使用自己的代码调用其中一项服务,但第二项服务是从第三方库调用的,我无法控制其调用方代码。 如果我使用任何一个密钥库,则相应的服务调用会成功,但另一个会失败。

我尝试了以下方法,但都失败了 -

  1. 我创建了一个新的密钥库,并在密钥库中添加了两个证书,并在环境变量中设置了“javax.net.ssl.keyStore”、“javax.net.ssl.trustStore”和相应的密码。这使得只有一个服务调用成功。
  2. 我删除了上述环境变量,并使用以编程方式配置的 SSL 上下文(类似于 Access Https Rest Service using Spring RestTemplate)调用了一项服务。这会导致一项服务成功而另一项服务失败(显然)。
  3. 我配置了“javax.net.ssl.keyStore”、“javax.net.ssl.trustStore”和相应的密码,其中包含一个仅用于一项服务的密钥,并像上一步一样以编程方式设置另一项服务的 SSLContext。这会导致在第 2 步中成功的服务失败(也许其他密钥库会覆盖这个?)以及其他服务的成功。
  4. 我尝试更改密钥的密码以使它们彼此相同并且与密钥库相同。这也会导致一项服务失败。

任何建议我接下来可以尝试什么或上述方法的实际问题是什么?

【问题讨论】:

    标签: java ssl keystore tomcat8 mutual-authentication


    【解决方案1】:

    对不起..我没有正确检查.. 方法 3 奏效..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      相关资源
      最近更新 更多