mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-02 14:18:40 +00:00
39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
![]() |
---
|
||
|
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.
|