kafka SSL证书生成及配置

简介: apache kafka可以使用SSL加密连接,还可以限制客户端访问, 给客户端发行证书,只允许持有证书的客户端访问。下面使用jdk的keytool工具来生成证书,配置kafka。

apache kafka可以使用SSL加密连接,还可以限制客户端访问,
给客户端发行证书,只允许持有证书的客户端访问。

下面使用jdk的keytool工具来生成证书,配置kafka。

为了便于演示,ca和服务器证书使用相同的密码,如下:
KSPASS=xxxx

客户端证书密码如下:
CLIENT_PASS=yyyy

自签名ca证书

# 生成
keytool -genkeypair -keystore mycastore.jks -storepass ${KSPASS} -alias myca -validity 365 -dname CN=ca,C=cn -ext bc:c
#(注意有效天数。默认是90天。)

# 导出
keytool -exportcert -keystore mycastore.jks -storepass ${KSPASS} -alias myca -rfc -file myca.cer

# 查看
keytool -list -keystore mycastore.jks -storepass ${KSPASS}
keytool -printcert -file myca.cer

服务器证书

# 生成
keytool -genkeypair -keystore server.keystore.jks -storepass ${KSPASS} -alias server -keypass ${KSPASS} -validity 365 -dname CN=127.0.0.1,C=cn

# 生成证书请求
keytool -certreq -keystore server.keystore.jks -storepass ${KSPASS} -alias server -keypass ${KSPASS} -file server.csr

# ca签名
keytool -gencert -keystore mycastore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -validity 365 -infile server.csr -outfile server.cer

# 查看
keytool -printcert -file server.cer

# 导入ca证书,生成truststore
keytool -importcert -keystore server.truststore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -file myca.cer

# 导入ca证书到keystore
keytool -importcert -keystore server.keystore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -file myca.cer

# 导入server证书到keystore
keytool -importcert -keystore server.keystore.jks -storepass ${KSPASS} -alias server -keypass ${KSPASS} -file server.cer

客户端证书

# 生成
keytool -genkeypair -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias client1 -keypass ${CLIENT_PASS} -validity 365 -dname CN=client1,C=cn


# 生成证书请求
keytool -certreq -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias client1 -keypass ${CLIENT_PASS} -file client1.csr


# ca签名
keytool -gencert -keystore mycastore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -validity 365 -infile client1.csr -outfile client1.cer


# 查看
keytool -printcert -file client1.cer


# 导入ca证书,生成truststore

keytool -importcert -keystore client1.truststore.jks -storepass ${CLIENT_PASS} -alias myca -keypass ${CLIENT_PASS} -file myca.cer


# 导入ca证书到keystore
keytool -importcert -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias myca -keypass ${CLIENT_PASS} -file myca.cer


# 导入server证书到keystore
keytool -importcert -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias client1 -keypass ${CLIENT_PASS} -file client1.cer

kafka broker配置

(内网使用9092端口明文,外网使用9093端口SSL)

ssl.keystore.location=server.keystore.jks
ssl.keystore.password=xxx
ssl.key.password=xxx
ssl.truststore.location=server.truststore.jks
ssl.truststore.password=xxx
ssl.client.auth=required
listeners=PLAINTEXT://0.0.0.0:9092,SSL://:9093
advertised.listeners=PLAINTEXT://10.1.1.1:9092,SSL://x.x.x.x:9093

producer配置

bootstrap.servers=x.x.x.x:9093
ssl.protocol=SSL
security.protocol=SSL
ssl.keystore.location=client1.keystore.jks
ssl.keystore.password=xxx
ssl.key.password=xxx
ssl.truststore.location=client1.truststore.jks
ssl.truststore.password=xxx
目录
相关文章
|
11天前
|
消息中间件 NoSQL Redis
实时计算 Flink版产品使用问题之配置了最大连续失败数不为1,在Kafka的精准一次sink中,如果ck失败了,这批数据是否会丢失
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6天前
|
消息中间件 存储 缓存
Kafka的默认复制配置是什么
Kafka的默认复制配置是什么
|
1月前
|
网络安全
宝塔配置ssl证书没有生效
宝塔配置ssl证书没有生效
45 4
|
1月前
|
前端开发 小程序 应用服务中间件
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
96 4
|
1月前
|
消息中间件 Java Kafka
集成Kafka到Spring Boot项目中的步骤和配置
集成Kafka到Spring Boot项目中的步骤和配置
84 7
|
11天前
|
消息中间件 存储 资源调度
实时计算 Flink版产品使用问题之在消费Kafka的Avro消息,如何配置FlinkKafka消费者的相关参数
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
24天前
|
消息中间件 NoSQL Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
|
24天前
|
消息中间件 应用服务中间件 Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
|
24天前
|
消息中间件 Kafka
kafka配置中启动zookeeper时没有启动成功的解决办法
kafka配置中启动zookeeper时没有启动成功的解决办法
|
29天前
|
消息中间件 存储 Kafka
Kafka 2.13-3.7.0 在 Windows 上的安装与配置指南
Kafka 2.13-3.7.0 在 Windows 上的安装与配置指南
23 0