簡體   English   中英

具有自定義TLS證書鏈的OpenShift Web控制台保持“不安全”

[英]OpenShift web console with custom TLS certificate chain remains “unsecured”

在OpenShift Origin 3.6中,使用高級安裝方法,我為Web控制台和路由器配置了自定義TLS證書。

對於Web控制台,我在Ansible清單中使用的參數是:

openshift_master_named_certificates=[{"certfile": "/root/star.paas.certs/star.paas.local.cert.pem", "keyfile": "/root/star.paas.certs/star.paas.local.key.pem", "names": ["master.paas.local"], "cafile": "/root/star.paas.certs/ca-chain.cert.pem"}]
openshift_master_overwrite_named_certificates=true

對於路由器,參數為:

openshift_hosted_router_certificate={"certfile": "/root/star.paas.certs/star.paas.local.cert.pem", "keyfile": "/root/star.paas.certs/star.paas.local.key.pem", "cafile": "/root/star.paas.certs/ca-chain.cert.pem"}

在TLS證書方面,已創建自定義證書頒發機構並將其保存到文件ca-chain.cert.pem。 並已基於此CA生成了自定義證書( star.paas.local.key.pemstar.paas.local.cert.pem )。

您可能已經注意到,我對OpenShift Web控制台(在我的情況下為master.paas.local:8443 )和嵌入式路由器(對於路由為https://*.paas.local應用程序)使用相同的證書鏈)。

然后,當我要訪問Web控制台時,先決條件是將根CA導入到我的瀏覽器中。

關鍵是:當我使用Chromium並轉到master.paas.local:8443 ,該連接被視為不安全(NET :: ERR_CERT_AUTHORITY_INVALID)。 當我詢問更多信息時,我注意到證書層次結構不完整:

Chromium中的證書詳細信息

有趣的是,這在Firefox中不會發生,Firefox是我所知的唯一以預期方式運行的瀏覽器:

Firefox中的證書詳細信息

相反,我測試過的所有瀏覽器都認為OpenShift為我的應用程序提供的所有受TLS保護的公共路由都是受保護的,其證書鏈與我用於Web控制台的證書鏈具有相同的證書鏈。

在所有現代瀏覽器中提供Web控制台時,是否有一種可行的方法可以使openshift(-ansible)考慮到我的自定義CA? 在我看來,OpenShift Web控制台在TLS握手期間不會發送根/中間CA。

Ansible劇本似乎支持為named_certificates提供cafile,並放置文件。 但是,正在運行的系統不支持cafile密鑰,因此將其忽略。 如果您將證書文件作為完整捆綁包(捆綁包+證書)提供,則它應該開始工作。

已向劇本提交了一份PR,以處理此任務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM