Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

527
Views
Error de validación del agente de autenticación SSL para Managed Kafka AWS (MSK)

Estoy tratando de crear una aplicación de cliente de Kafka (tanto productor como consumidor) utilizando la instancia de Kafka administrada por AWS (MSK). Además, la comunicación de intermediario a intermediario y la comunicación de cliente a intermediario se configuran como seguras a través de TLS en el clúster. CA es AWS Private CA, ya que es la única admitida por MSK para que el cliente gestione la autenticación a través de TLS.

Contexto del problema: los pasos del documento oficial de AWS ( https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html#msk-authentication-client ) están más inclinados hacia el mundo de Java y tratan con el almacén de confianza del cliente y almacén de claves como jks. Sin embargo, el cliente .Net no usa el formato de contenedor Java JKS ( https://github.com/mhowlett/confluent-kafka-dotnet/tree/security/examples/Security ).

  • Cliente de autenticación del servidor: esta parte pude resolverla. Como jks es solo un almacén de datos, después de crear Keystore siguiendo el documento aws anterior, ejecuté algunos comandos adicionales de keytool y openssl para extraer el certificado y la clave del cliente de forma explícita. Pude producir y consumir mensajes con éxito usando esto.

  • Sin embargo, para que el cliente valide el servidor, necesito configurar ssl.ca.location en el certificado raíz de CA. De la CA privada (la que se usa como CA con la instancia de MSK) descargué la CA raíz que, de forma predeterminada, tiene formato pem (Nota: solo contenía detalles del certificado y no detalles de la clave). Lo convirtió a .crt usando los siguientes comandos:

    add pem to truststore : keytool -keystore kafka.client.truststore.jks -alias CARoot -importcert -file Certificate.pem

    get cert from truststore : keytool -export -alias CARoot -keystore kafka.client.truststore.jks -rfc -file ca-root.crt

el uso de ca-root.crt anterior para la ubicación de ca no parece funcionar. Lanza un error de validación del intermediario fallido. Client Machine es Windows, pero eso no debería ser un problema, ya que además de pasar la ubicación del certificado ssl.ca.location, también intenté instalar el certificado en Machine, pero aún no tuve suerte. Veo el siguiente error:

 SSL handshake failed: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed: broker certificate could not be verified, verify that ssl.ca.location is correctly configured or root CA certificates are installed

¿Me estoy perdiendo algo con la parte del servidor de validación del cliente?

Actualización: también pude resolver la validación del corredor. La documentación oficial de AWS anterior se basa en el certificado de Java para la autenticación de validación del agente. Lo extendí un poco para derivar permanente y más .crt de jks y usé el .crt generado como CA para ssl.ca.location y funciona. Sin embargo, hay demasiados certificados en el que se genera y no está claro cuál se utiliza para la validación del certificado de intermediario de MSK. Además, ¿por qué el certificado de CA descargado de AWS CA privado no funciona? Sería muy útil si alguien puede ayudar en estos. También sugiera si existe una solución estándar alternativa para el problema.

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!