I have problem understanding some entries in the elasticsearch.yml file
in perticalar the xpack.security.transport.ssl.certificate_authorities
entry
elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
discovery.zen.minimum_master_nodes: 1
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: /usr/share/elasticsearch/config/certs/elasticsearch.key.pem
xpack.security.transport.ssl.certificate: /usr/share/elasticsearch/config/certs/elasticsearch.cert.pem
xpack.security.transport.ssl.certificate_authorities:
- /usr/share/elasticsearch/config/certs/ca-chain.cert.pem
I have created and validated the keys and certificates with openssl (openssl validate
)
There is one thing that is not clear of the docs, and i made an educated guess
the value of xpack.security.transport.ssl.certificate_authorities
i cancatenated the the root ca and intermediate ca to one file (chain of trust) like os
cat intermediate/certs/intermediate.cert.pem \
certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem
chmod 444 intermediate/certs/ca-chain.cert.pem
I did use this chain to validate the signed server certificated i created (and signed)
openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/elasticsearch.cert.pem
intermediate/certs/elasticsearch.cert.pem: OK
I used the ca-chain.cert.pem
as a value for xpack.security.transport.ssl.certificate_authorities
is this correct???