赞
踩
Kafka配置2--Windows下配置Kafka的SASL-PLAIN身份验证
Kafka配置4--Windows下配置Kafka的SSL证书
Kafka配置5--Windows下配置Kafka的集群+SASL+SSL
Kafka配置6--Windows下设置和增加SASL用户或用户权限
修改hosts,配置主机名称
Windows路径为C:\Windows\System32\drivers\etc,在hosts文件中追加如下配置:
# Kafka相关配置
192.168.2.200 kafka-main
1、服务器端SSL证书签发
1.1、生成kafka1.keystore.jks
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias kafka1 -validity 3650 -genkey -keyalg RSA
紧接着就是输入2次密码,如qubernet
您的名字与姓氏是什么? 输入主机的IP地址或主机绑定的域名,如kafka-main
您的组织单位名称是什么? ~ 该单位的双字母国家/地区代码是什么? 都输入cn
最后在确定没有问题后输入y确认
再次输入密码qubernet
1.2、生成CA
以管理员身份运行CMD,然后输入如下命令:
openssl req -new -x509 -keyout D:\Net_Program\Net_KafkaSsl\ca-key -out D:\Net_Program\Net_KafkaSsl\ca-cert -days 3650
紧接着就是输入2次密码,如qubernet
Country Name (2 letter code) [AU] ~ Organizational Unit Name (eg, section) [] 都输入cn
Common Name (e.g. server FQDN or YOUR name) [] 输入主机的IP地址或主机绑定的域名,如kafka-main
Email Address [] 输入一个邮箱地址,如qubernet@163.com
1.3、创建truststore.jks
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\ca.truststore.jks -alias CARoot -import -file D:\Net_Program\Net_KafkaSsl\ca-cert
紧接着就是输入2次密码,如qubernet
然后输入y确定
1.4、对keystore进行签名
1.4.1、从keystore中导出未签名的证书
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias kafka1 -certreq -file D:\Net_Program\Net_KafkaSsl\cert-kafka1
紧接着输入密码qubernet
1.4.2、使用CA对上一步导出的cert-kafka1进行签名
以管理员身份运行CMD,然后输入如下命令:
openssl x509 -req -CA D:\Net_Program\Net_KafkaSsl\ca-cert -CAkey D:\Net_Program\Net_KafkaSsl\ca-key -in D:\Net_Program\Net_KafkaSsl\cert-kafka1 -out D:\Net_Program\Net_KafkaSsl\cert-signed-kafka1 -days 3650 -CAcreateserial -passin pass:qubernet
1.4.3、将CA证书和签名过的证书导入到keystore
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias CARoot -import -file D:\Net_Program\Net_KafkaSsl\ca-cert
紧接着就是输入1次密码,如qubernet
然后输入y确定
keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias kafka1 -import -file D:\Net_Program\Net_KafkaSsl\cert-signed-kafka1
紧接着就是输入1次密码,如qubernet
然后输入y确定
到此,服务端的SSL证书就生成完成了,我们可以使用一下命令来测试下证书是否正确(前提条件是Kafka服务中已经配置了SSL证书)
openssl s_client -debug -connect kafka-main:9092 -tls1
2、客户端端SSL证书签发
客户端SSL证书的生成和服务端类似
2.1、
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias client -validity 3650 -genkey -keyalg RSA
紧接着就是输入2次密码,如qubernet
您的名字与姓氏是什么? 输入主机的IP地址或主机绑定的域名,如kafka-main
您的组织单位名称是什么? ~ 该单位的双字母国家/地区代码是什么? 都输入cn
最后在确定没有问题后输入y确认
再次输入密码qubernet
2.2、
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias client -certreq -file D:\Net_Program\Net_KafkaSsl\cert-client
紧接着就是输入1次密码,如qubernet
2.3、
以管理员身份运行CMD,然后输入如下命令:
openssl x509 -req -CA D:\Net_Program\Net_KafkaSsl\ca-cert -CAkey D:\Net_Program\Net_KafkaSsl\ca-key -in D:\Net_Program\Net_KafkaSsl\cert-client -out D:\Net_Program\Net_KafkaSsl\cert-signed-client -days 3650 -CAcreateserial -passin pass:qubernet
2.4、
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias CARoot -import -file D:\Net_Program\Net_KafkaSsl\ca-cert
紧接着就是输入1次密码,如qubernet
然后输入y确定
2.5、
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias client -import -file D:\Net_Program\Net_KafkaSsl\cert-signed-client
紧接着就是输入1次密码,如qubernet
2.6、生成C#所需的p12证书
我们在使用C#客户端开发Kafka时,如果使用的是Confluent.Kafka库,则需要将client.keystore.jks生成对应p12格式的证书,输入如下命令即可:
以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:
keytool -importkeystore -srckeystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore D:\Net_Program\Net_KafkaSsl\client.keystore.p12
到此,客户端的SSL证书就生成完成了,生成的完整证书目录文件如下所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。