{"repo":"mvallim/spring-schema-registry","free":true,"listed":false,"github":"https://github.com/mvallim/spring-schema-registry","clone":"git clone https://github.com/mvallim/spring-schema-registry.git","description":"The purpose of this module is to solve the problem of multiple keystores using Spring Boot + Kafka + Schema Registry + SSL and Spring Schema Resgistry Test","language":"Java","stars":30,"topics":["kafka","schema-registry","spring","ssl","avro","generic","consumer","producer","specific","mtls"],"license":"Apache-2.0","category":"data-pipelines","readme_excerpt":"Spring Schema Registry The purpose of this module is to solve the problem of multiple keystores using Spring Boot + Kafka + Schema Registry + SSL Notice Compatible with JDK 8, 11, 17 and 21 Compatible with schema-registry version 5.3.1 or greater Compatible with avro version 1.9.1 or greater Problem description 1. When We have a Spring Boot application exposing SSL end-points with a first distinct certificate; We have communication with Kafka via SSL with a second distinct certificate; We have the communication with Schema Registry with the same certificate used for communication with Kafka or a separate third party certificate; 2. Scenarios Protocol Spring Boot Kafka Schema Registry Result :--------: :-----------: :-----: :---------------: :------: SSL Yes Not Not Ok SSL Yes Yes Not Ok SSL Yes Yes Yes Fail SSL Not Yes Yes Ok SSL Not Not Yes Ok SSL Not Not Not Ok The failure happens in a scenario where we would expect it to be fully functional, where the application uses one certificate to securely expose endpoints, and uses other certificates to communicate with Schema Registry and Kafka. The problem happens because the kafka-avro-serializer component uses the JVM variables javax.net.ssl.trustStore , javax.net.ssl.keyStore , javax.net.ssl.trustStorePassword and javax.net.ssl.keyStorePassword , and these variables apply to the whole application. As a consequence, if we use a certificate to publish the application API, it will be used by the kafka-avro-serializer component. It","default_branch":null,"files":null,"tree":[],"storefront":"/r/mvallim","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mvallim/spring-schema-registry/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}