弹性搜索和searchguard ssl存在密钥库和信任库问题

问题描述 投票:0回答:1

在我提出这个问题之前,让我先介绍一下背景,以便我们清楚地了解问题本身。我们需要使用searchguard ssl支持使用Elasticsearch(v5.2.x)的单向SSL方式。我们有一个开发人员(非生产)程序列表,负责生成自签名SSL证书。这里我们有一个根(本地创建)和实际证书。如果我们导入密钥库(包含私钥和签名证书)和信任库(包含根证书),一切正常。

但几天前,我们收到了一位客户的请求。在那里,我们需要支持SSL。所以,我们按照以下步骤操作:

  1. 使用我们的脚本,我们生成了私钥,将其导入密钥库,并生成了csr。
  2. 我们给了客户csr。他得到了一个合适的CA签名,然后给了我们证书。
  3. 现在,对于给出的证书,信任链的长度为3。因此,有一个根CA,它签署了证书(issuer1),它签署了证书(issuer2),后者又签署了实际的csr。
  4. 为了将实际证书导入密钥库,我们导入了所有三个父项,然后导入了实际的证书。
  5. 然后我们从密钥库中删除了所有父证书。所以,现在密钥库只有私钥和实际证书。
  6. 我们将所有三个父证书导入到信任库中。

现在,如果我们启动Elasticsearch,则抛出以下错误:[ERROR][c.f.s.s.t.SearchGuardSSLNettyTransport] [uyyIg3i] SSL Problem Received fatal alert: certificate_unknown javax.net.ssl.SSLException: Received fatal alert: certificate_unknown

有趣的是,确切的程序是有效的,如果我们只有根ca,签署实际的csr。任何帮助都可以理解这个问题的根本原因,因为我现在有些想法。

java ssl elasticsearch keystore truststore
1个回答
1
投票

经过几次无聊的调试会议,我们发现CN名称和实际的主机名不同。在使两者相同之后,我们开始工作了。

© www.soinside.com 2019 - 2024. All rights reserved.