Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

39 lines
1.7 KiB
Markdown
Raw Normal View History

---
title: Fix PKI Not Found When Using Keycloak with Custom PKI
description: Learn how to resolve PKI not found errors in OpenMetadata when using Keycloak behind Nginx with custom PKI by importing CA certificates into the truststore.
slug: /deployment/security/keycloak/troubleshooting
collate: false
---
# FAQ: Security with Keycloak
## How to resolve "PKI not found" error when connecting to Keycloak behind Nginx with a custom PKI?
If you're using Keycloak behind an Nginx reverse proxy with a custom Public Key Infrastructure (PKI), OpenMetadata may fail to authenticate due to missing trusted certificates. This results in a **"PKI not found"** or TLS validation error.
### Resolution
To allow OpenMetadata to trust your custom CA:
1. **Extend the OpenMetadata Docker image** and import your custom CA certificate into the Java truststore.
2. Use the following command (replace paths accordingly):
```bash
keytool -import -trustcacerts -keystore $JAVA_HOME/lib/security/cacerts \
-storepass changeit -noprompt -alias my-custom-ca \
-file /path/to/your/custom-ca.crt
```
3. Alternatively, if you're using Helm, you can update your deployment by modifying the container image or using an initContainer to patch the truststore and setting:
```bash
OPENMETADATA_OPTS="-Djavax.net.ssl.trustStore=/path/to/keystore.jks \
-Djavax.net.ssl.trustStorePassword=changeit"
```
For guidance on extending the Docker image, refer to the official documentation:
[Extending OpenMetadata Docker Image (GKE Example)](/deployment/kubernetes/gke#extending-openmetadata-server-docker-image)
This enables OpenMetadata to establish a secure connection with Keycloak behind your Nginx reverse proxy using a custom certificate authority.