我需要使用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();
从这里我必须使用keyStore
和trustStore
。
谁能帮我这个。
Kafka不支持ssl
使用java.security.keystore
对象。您可以在SslFactory
查看kafka课程以获取更多信息。