es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo habilitar SSL en el servidor Kafka utilizando archivos PEM?

Estoy intentando configurar Kafka 2.8.0 en mi portátil de desarrollo Ubuntu para aceptar conexiones a través de SSL. Encontré esta publicación de blog sobre cómo usar archivos PEM en Kafka. Creé certificados siguiendo esta guía. El archivo domain.crt generado parece funcionar, al menos puedo iniciar openssl s_server con ese archivo y puedo conectarme a este servidor usando openssl s_client. Sin embargo, tengo problemas para configurar Kafka. Mi primer intento fue este:

ssl.keystore.type=PEM
ssl.keystore.location=/ home / nar / projects / kafka_2.13-2.8.0 / ssl / domain.crt
ssl.key.password = contraseña

donde el archivo domain.crt era el certificado generado y mi contraseña era contraseña. Obtuve este error:

org.apache.kafka.common.errors.InvalidConfigurationException: Failed to load PEM SSL keystore / home / nar / projects / kafka_2.13-2.8.0 / ssl / domain.crt
Causado por: org.apache.kafka.common.errors.InvalidConfigurationException: configuraciones de almacén de claves PEM SSL no válidas
Causado por: org.apache.kafka.common.errors.InvalidConfigurationException: No hay coincidencias de entradas de CLAVE PRIVADA en el archivo PEM

Bastante justo, la publicación del blog menciona que el archivo en ssl.keystore.location debe contener la clave privada y el certificado, así que concatené los dos archivos:

cat domain_new.key domain.crt & gt; chain.crt

y mi siguiente intento de configuración fue:

ssl.keystore.type=PEM
ssl.keystore.location=/ home / nar / projects / kafka_2.13-2.8.0 / ssl / chain.crt
ssl.key.password = contraseña

Desafortunadamente, todavía obtengo errores:

org.apache.kafka.common.config.ConfigException: valor no válido javax.net.ssl.SSLHandshakeException: error de creación de ruta PKIX: sun.security.provider.certpath.SunCertPathBuilderException: no se puede encontrar una ruta de certificación válida para el objetivo solicitado para la configuración Un SSLEngine de cliente creado con las configuraciones proporcionadas no se puede conectar a un SSLEngine de servidor creado con esas configuraciones.

Estoy un poco perdido en este punto, ¿qué falta?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo problemas para configurar Kafka 2.8.0 para aceptar conexiones sobre SSL. Has seguido esta publicación de blog sobre el uso de archivos PEM en Kafka y esta guía para generar certificados. Concatenaste los dos archivos domain_new.key y domain.crt para crear chain.crt, pero aún estás obteniendo errores.

    Es posible que el certificado que generaste no sea válido. Puedes verificar la validez del certificado ejecutando el comando openssl verify -CAfile domain.crt domain.crt. Si el certificado no es válido, deberás generar uno nuevo.

    Si el certificado es válido, es posible que la configuración sea incorrecta. Puedes verificar la configuración ejecutando el comando openssl s_client -connect localhost:9092 -cert domain.crt -key domain_new.key. Si la configuración es incorrecta, deberás ajustar la configuración.

Comments are closed.