使用java.security.Keystore对象的SSL KafkaAdminClient对象

问题描述 投票:0回答:1

我需要使用kafkaAmdinClient对象创建java.security.keystore SSL对象。即我必须从数据库中读取密钥库和truststire文件作为clob并获取java.security.keystore对象中的密钥库并使用它来创建Admin客户端对象。

我能够使用属性对象创建AdminClient对象:

props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, trustStorePwd);
            props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, "/ngs/app/bolt_components/kafka_ssl/RN_BC_YELLOWBIRD/client.truststore.jks");
            props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, keyStorePwd);
                            kafkaAdminClient = AdminClient.create(props);

但根据要求,我不应指定密钥库文件位置。而是指定密钥库对象。

KeyStoreDto kDto=KeystoreManager.getKafkaKeyStoreDto(kafkaDto.getKEYSTORE_ID());
            java.security.KeyStore keyStore = kDto.getKeyStore();
            java.security.KeyStore trustStore = kDto.getTrustStore();
            String keyStorePwd=kDto.getKeyStorePassword();
            String trustStorePwd=kDto.getTrustStorePassword();

从这里我必须使用keyStoretrustStore

谁能帮我这个。

ssl apache-kafka keystore truststore
1个回答
0
投票

Kafka不支持ssl使用java.security.keystore对象。您可以在SslFactory查看kafka课程以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.