Java 卡夫卡消费者通过SSL连接:如何设置SSLSocketFactory

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将我的卡夫卡消费者连接到它

我知道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/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,我现在将使用它。另见: