Py学习  »  Elasticsearch

ElasticSearch和SearchGuard SSL的密钥库和信任库问题

Bitswazsky • 4 年前 • 484 次点击  

在我问这个问题之前,让我先介绍一下背景知识,这样我们就可以清楚地了解问题本身了。我们需要使用searchguard ssl支持使用elasticsearch(v5.2.x)的单向ssl。我们为开发人员(不是生产人员)提供了一个过程列表,它负责生成一个自签名的SSL证书。这里我们有一个根(本地创建的)和实际的证书。如果我们导入密钥库(包含私钥和签名证书)和信任库(包含根证书)ev红色的东西很好用。

但几天前,我们接到一个客户的请求。在那里,在生产中,我们需要支持SSL。因此,我们遵循以下步骤:

  1. 使用我们的脚本,我们生成了私钥,将其导入到密钥库中,还生成了CSR。

  2. 我们给了客户CSR。他得到了一个合适的CA的签名,并把证书还给了我们。

  3. 对于给定的证书,信任链的长度为3。所以,有一个根CA,它签署了证书(issuer1),这个根CA签署了证书(issuer2),而这个根CA又签署了实际的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。如果能帮我找出这个问题的根本原因,我将不胜感激,因为我现在有点不知所措。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38215
 
484 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Bitswazsky
Reply   •   1 楼
Bitswazsky    5 年前

经过两次令人厌烦的调试,我们发现cn名称和实际主机名不同。把他们两个都做了之后,我们就开始工作了。