搭建单机kafka-验证SSL

搭建单机kafka-验证SSL

安装版本 2.3.1 -> 所有密码均为123456
1.通过wget命令下载kafka镜像文件

wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/kafka_2.11-2.3.1.tgz

2.解压缩kafka镜像文件并复制到opt目录下

tar -xzf kafka_2.11-2.3.1.tgz -C /opt

3.重命名kafka

cd /opt
mv kafka_2.11-2.3.1/ kafka

4.修改kafka server.properties

listeners=PLAINTEXT://192.168.30.205:9092 --> 修改配置映射kafka连接地址
zookeeper.connect=192.168.30.205:2181 --> 修改配置映射zookeeper连接地址

4.启动

nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper-run.log 2>&1 &
nohup bin/kafka-server-start.sh config/server.properties > kafka-run.log 2>&1 &

5.生成临时秘钥库

keytool -keystore server.keystore.jks -alias localhost -validity 365 -genkey -keyalg RSA

在这里插入图片描述
6.生成CA证书签名机构在这里插入图片描述
7.将生成的CA添加到clients’ truststore(客户的信任库),以便client可以信任这个CA

keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert

8.如果你通过设置kafka Broker 配置文件的ssl.client.auth属性为"requested" 或者"required",来配置kafka Broker 要求客户端认证。那你必须为kafka Broker提供信托库及所有客户端签名了的CA证书密匙

keytool -keystore server.truststore.jks -alias CARoot -import -file ca-cert

9.需要从密钥库导出证书:

keytool -keystore server.keystore.jks -alias localhost -certreq -file cert-file

10.CA签名:

openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days {validity} -CAcreateserial -passin pass:{ca-password}

11.将CA证书和签名的证书导入到密钥库中:

keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert
keytool -keystore server.keystore.jks -alias localhost -import -file cert-signed

12.配置监听端口(修改kafka server.properties)

listeners=PLAINTEXT://192.168.30.205:9092,SSL://192.168.30.205:9093
ssl.keystore.location=/opt/kafka/server.keystore.jks
ssl.keystore.password=123456
ssl.key.password=123456
ssl.truststore.location=/opt/kafka /server.truststore.jks
ssl.truststore.password=123456

13.配置消费端生产端(java)

propsMap.put("security.protocol", "SSL");
propsMap.put("ssl.truststore.location", path+"key/server.truststore.jks");
propsMap.put("ssl.truststore.password", "123456");
propsMap.put("ssl.keystore.location", path+"key/server.keystore.jks");
propsMap.put("ssl.keystore.password", "123456");
propsMap.put("ssl.key.password", "123456");
//去除主机验证
propsMap.put("ssl.endpoint.identification.algorithm","");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clarence.wei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值