在我提出這個問題之前,讓我先介紹一些背景知識,以便我們清楚地了解問題本身。我們需要使用 Elasticsearch (v5.2.x) 支持單向 SSL,使用 searchguard ssl。我們為開發人員(不是生產環境)提供了一個過程列表,負責生成自簽名 SSL 證書。在這里,我們有一個根(本地創建)和實際的證書。如果我們導入密鑰庫(包含私鑰和簽名證書)和信任庫(包含根證書),一切正常。但幾天前,我們收到了一個客戶的請求。在那里,在生產中,我們需要支持SSL。因此,我們按照以下步驟操作:使用我們的腳本,我們生成了私鑰,將其導入密鑰庫,并生成了 csr。我們給了客戶企業社會責任。他得到了一個適當的CA的簽名,并把證書還給我們。現在,對于給定的證書,信任鏈的長度為3。因此,有一個根 CA,它簽署了證書(頒發者 1),它簽署了證書(頒發者 2),而證書又簽署了實際的 csr。為了將實際證書導入密鑰庫,我們導入了所有三個父證書,然后導入了實際的證書。然后,我們從密鑰庫中刪除了所有父證書。因此,現在密鑰庫只有私鑰和實際證書。我們將所有三個父證書導入到信任庫中?,F在,如果我們啟動 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 進行簽名。任何幫助都值得贊賞,因為我弄清楚了這個問題的根本原因,因為我現在有點想法了。
添加回答
舉報
0/150
提交
取消