集群之间的互信问题:
我们再使用ccs或者是ccr的时候,会出现集群之间的互信问题,这里的解决方式是,集群之间使用相同的跟CA机构颁发的证书就行了
方式一:
Elasticsearch:使用不同的 CA 更新安全证书 (一)_elastic-certificates.p12-CSDN博客Elasticsearch:使用不同的 CA 更新安全证书 (二)_elasticsearch-certutil-CSDN博客
方式二:
上面的方式保证了在生成证书elastic-stack-ca.p12时,不包含ca的私钥,更加的安全。
大家也可以参考es官方的方式解决这个问题:
Set up basic security for the Elastic Stack | Elasticsearch Guide [8.18] | Elastic
生成enrollment失效问题
ES 节点的 HTTP 层 SSL 配置的 Keystore 不包含 PrivateKey 类型的证书。这里我使用命令给大家展示一下:
但是大家需要注意的是,如果想要使用下面的方式,上面进行互信的方式一定是第二种,也就是elastic-stack-ca.p12文件中一定要有ca的私钥,之后大家接着下面的操作进行执行就可以了。
首先,大家可以使用我们es自带的keystore工具查看:
[elastic@localhost bin]$ pwd
/elasticsearch/es9200/jdk/bin
[elastic@localhost bin]$ ./keytool -keystore /elasticsearch/es9200/config/certs/http.p12 -list
输入密钥库口令:
密钥库类型: PKCS12
密钥库提供方: SUN
您的密钥库包含 2 个条目
ca, 2026年5月25日, trustedCertEntry,
证书指纹 (SHA-256): B7:86:B4:37:02:1C:06:78:23:C8:BC:35:2D:3D:BD:4B:B6:8D:A6:AF:62:B1:B8:5F:5C:CA:5C:73:4A:70:91:B0
http, 2026年5月22日, PrivateKeyEntry,
证书指纹 (SHA-256): 7F:1E:DA:9F:AD:F0:8B:80:5E:AD:50:21:91:BC:78:9B:67:A3:9D:21:57:7C:D0:B5:94:34:A0:85:2F:1F:C4:04
其中的 TrustedCertEntry 是在官方文档 Basic Security plus HTTPS 步骤中生成 HTTP PKCS12 Keystore 时,使用在 Basic Security 步骤生成的 Keystore 作为 CA Cert 自动导入的。
但 ES 需要的是一个证书颁发机构提供的 PrivateKeyEntry,也就是说,你需要的是像下面这样的输出:
http_ca, Sep 6, 2022, PrivateKeyEntry,
Certificate fingerprint (SHA-256): 9E:56:B1:38:F7:49:C7:7D:07:F0:E1:8A:D6:EC:9B:56:DF:86:7D:D6:90:46:86:77:99:6B:D1:9E:9C:4F:F0:03
因此我们把上面 TrustedCertEntry 替换为 PrivateKeyEntry 即可。
接着执行如下命令:
keytool -importkeystore -destkeystore <filename-your-HTTP-PKCS12.p12> -srckeystore <filename-PKCS12-contains-CA-Cert.p12> -srcstoretype PKCS12
我的命令如下:
/elasticsearch/es9200/jdk/bin/keytool -importkeystore -destkeystore /elasticsearch/es9200/config/certs/http.p12 -srckeystore /elasticsearch/es9200/elastic-stack-ca.p12 -srcstoretype PKCS12
之后验证一下:
执行命令:
-keystore /elasticsearch/es9200/config/certs/http.p12 -list
作者环境命令;
[elastic@localhost es9200]$ ./jdk/bin/keytool -keystore /elasticsearch/es9200/config/certs/http.p12 -list
ca, 2026年5月25日, PrivateKeyEntry,
证书指纹 (SHA-256): CB:0B:6A:63:22:0B:A7:04:AC:C2:3B:AE:F4:37:A2:07:2E:02:76:A1:02:D3:6D:07:2B:88:4C:A6:F4:38:94:7C
http, 2026年5月22日, PrivateKeyEntry,
证书指纹 (SHA-256): 7F:1E:DA:9F:AD:F0:8B:80:5E:AD:50:21:91:BC:78:9B:67:A3:9D:21:57:7C:D0:B5:94:34:A0:85:2F:1F:C4:04
接着执行就可以生成token了。