For an example, I used the doc to create certs for a root CA and two nodes. If you already have a root CA and issuing CA, jump to the nodes part and use your issuing CA cert and private key.
Create self-signed root CA cert
echo "cluster1-ca.zip" | bin/elasticsearch-certutil ca --pem --days 7320 --keysize 3072 --ca-dn CN=cluster1-ca --pass cluster1-ca
unzip cluster1-ca.zip
mv ca cluster1-ca
Create end entity certs for Transport protocol, signed by the above CA
There is an option to use a yml file to create multiple certs with a single command.
There is an option to use a PKCS12 file instead of separate cert/key files.
I used elaticsearch-certutil from 8.4 to run these commands. The command in 6.3.0 may have slightly different parameters. For PKI, any external utility that creates valid certs is good, such as openssl or even Elasticsearch 8.4.
It is a good idea for Transport protocol certs to be signed by a per-cluster private CA. HTTPS certs would be signed by a different CA, such as a public CA or an internal company CA.
The elasticsearch-certutil and openssl commands can be run in Windows. The only differences I can think of are Windows specific file paths, and a slightly different way to echo a password as input into elasticsearch-certutil.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.