Java 卡夫卡消费者通过SSL连接:如何设置SSLSocketFactory
我有一个卡夫卡代理,我想通过SSL将我的卡夫卡消费者连接到它 我知道Kafka使用者有一些属性可以访问信任和密钥库文件。比如:Java 卡夫卡消费者通过SSL连接:如何设置SSLSocketFactory,java,ssl,apache-kafka,Java,Ssl,Apache Kafka,我有一个卡夫卡代理,我想通过SSL将我的卡夫卡消费者连接到它 我知道Kafka使用者有一些属性可以访问信任和密钥库文件。比如: ssl.keystore.location=/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks ssl.keystore.password=serversecret ssl.key.password=serversecret ssl.truststore.location=/Users/Document
ssl.keystore.location=/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks
ssl.keystore.password=serversecret
ssl.key.password=serversecret
ssl.truststore.location=/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks
ssl.truststore.password=serversecret
(我在经纪人和消费者处使用这些属性)
由于这样做,我想知道我可以在何处设置SSLSocketFactory
,在此配置中,我将传递给KafkaConsumer
:
// other configs
config.setProperty("ssl.keystore.location", "/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks");
config.setProperty("ssl.keystore.password", "serversecret");
config.setProperty("ssl.key.password", "serversecret");
config.setProperty("ssl.truststore.location", "/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks");
config.setProperty("ssl.truststore.password", "serversecret");
_kafkaConsumer = new KafkaConsumer<>(config);
//其他配置
config.setProperty(“ssl.keystore.location”,“/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks”);
config.setProperty(“ssl.keystore.password”、“serversecret”);
config.setProperty(“ssl.key.password”、“serversecret”);
config.setProperty(“ssl.truststore.location”,“/Users/Documents/kafka_2.13-2.7.0/kafka.server.keystore.jks”);
config.setProperty(“ssl.truststore.password”、“serversecret”);
_卡夫卡消费者=新卡夫卡消费者(配置);
但我想要的是:
config.setProperty("ssl.socket.factory", getSslSocketFactory());
_kafkaConsumer = new KafkaConsumer<>(config);
config.setProperty(“ssl.socket.factory”,getSslSocketFactory());
_卡夫卡消费者=新卡夫卡消费者(配置);
但是,我找不到这样的属性键。如果是,则无法设置。此外,无论如何,属性值都不能实例化为对象
您指定的SSL属性是正确的连接方式您是对的。此属性不存在。但是我找到了ssl.engine.factory.class,我现在将使用它。另见: