I was going to upgrade our OpenSearch cluster from 2.17.1 to 2.18.0 (tarball rolling upgrade), and copied the same keystore, truststore and opensearch.yml from version 2.17.1 which works properly. But 2.18.0 version got below exceptions during failed starting,
java.lang.IllegalStateException: failed to load plugin class [org.opensearch.security.OpenSearchSecurityPlugin]
…
Caused by: java.lang.reflect.InvocationTargetException
…
Caused by: org.opensearch.OpenSearchException: Failed to load key store form xxxxxx_keystore.jks
…
Caused by: java.security.UnrecoverableKeyException: Cannot recover key
…
We use the same keystore, struststore and opensearch.yml started from version 2.8.0, and there was no exception for every version upgrade except 2.18.0. The new version changed the logic of loading keystore file? How can I resolve it? Thanks.
@min, could you please create an issue in the security repository and include the full stack trace? Typically, an UnrecoverableKeyException is thrown when the JDK fails to decrypt the private key. Additionally, the default keystore and truststore types are now the JDK-provided defaults. Before version 2.18, the default was JKS.