kafka ssl加密安装方式

1 篇文章 0 订阅
1 篇文章 0 订阅

Kafka消息中间件配置SSL加密

注:在Windows操作系统上安装对kafka进行ssl加密,全程使用的密码为1234567,会生成共计8个文件

ca.crt,ca.key,

ca.srl,cer-file,

cert-signed,

client_trustore.jks,

server_keystore.jks,

server_trustore.jks

第一部分 准备好java(jdk-1.8),配环境变量,配置好了的就不用了

第二部分准备好Microsoft Visual C++2008 Redistributable Packge(64)(url:https://www.microsoft.com/en-us/download/details.aspx?id=15336&6B49FDFB-8E5B-4B07-BC31-15695C5A2143=1)

将其默认安装好,如下截图

第三部分 安装好OpenSSL(Windows版本)

       (1)下载openSSL 安装文件(Win64 OpenSSL v1.1.0j,根据系统位数决定下载版本) 下载地址:http://slproweb.com/products/Win32OpenSSL.html

下载完成后安装在你指定的文件目录下面xxx/OpenSSL-Win64/ 如下截图

       (2)下载OpenSSL(OpenSSL-1.1.0版本,根据系统位数决定根据系统位数决定下载版本)源代码https://www.openssl.org/source/后解压后找出

openssl-1.1.0j\app把这个目录下面的demoCAopenssl.cof拷贝到 第3部分(1)下面的安装xxxxx/OpenSSL-Win64/bin/,详细如下截图

第四部分 在安装好xxxx/OpenSSL-Win64(如果系统是32位有可能是OpenSSL-Win32)/bin目录下面去执行下面的命令行,

       执行完成后会产生ca.key和ca.crt这2个文件然后将其拷贝出来单独新建一个文件夹最好放在c盘下面因为你待会回要用到它,如下截图

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

第五部分,在生成ca.key 和 ca.crt 后执行如下命令他会出现像(看上面Liunx的截图)你就按照linux方式去填写,切记要乱填写要不然会出错误,会生成server_keystore.jks文件,在我新建的文件夹中执行如下命令(),看截图

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

第六部分,执行上面的步骤玩成后,执行如下命令将其,(注意:在执行此命令行是一定要在当前文件夹中存在ca.crt这个文件),会生成server_truststore.jks

keytool -keystore server_truststore.jks -alias CARoot -import -file ca.crt

第七部分 执行完成第六部分的时候接着执行当前命令(注意:在执行此命令行是一定要在当前文件夹中存在ca.crt这个文件),会生成client_truststore.jks

keytool -keystore client_truststore.jks -alias CARoot -import -file ca.crt

第八部分 执行完成第7部分的时候接着执行如下命令,目的是将server_keystore.jks导出这cert-file文件中

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

第九部分 执行完第八部分的时候将第一步生成的文件ca.crt 和 ca.key,cer-file 这3个文件拷贝或者复制到xxxxx/OpenSSL-Win64/bin/下面,然后在xxxxx/OpenSSL-Win64/bin/

目录下面执行本命令行,最后会生成一个cert-signed,和ca.srl 的文件,然后拷贝到你单独创建的文件夹中

openssl x509 -req -CA ca.crt -CAkey ca.key -in cer-file -out cert-signed -days 365 -CAcreateserial -passin pass:1234567,如下截图

第十部分 完成第九部分后 回到你单独创建的文件中执行如下命令 (目的:CA 的证书和被签名的证书一起导入密钥库中)

keytool -keystore server_keystore.jks -alias CARoot -import -file ca.crt

第十一部分 执行第10部分后,接着在执行本命令行执行完成后就ok了,如下截图

keytool -keystore server_keystore.jks -alias localhost -import -file cert-signed

在上述步骤完成后,接下来就可以进行检查是否成功

启动zookeper

注释掉原来那个listeners=PLAINTEXT://localhost:9092

listeners=PLAINTEXT://localhost:9092,SSL://gl.dingteam.com:9093

ssl.keystore.location=E://kafka//ca//server_keystore.jks

ssl.keystore.password=1234567

ssl.key.password=1234567

#ssl.truststore.location=/Users/gongliang/message/ca/server.trustkeystore.jks

ssl.truststore.location=E://kafka//ca//server_truststore.jks

ssl.truststore.password=1234567

ssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1

ssl.endpoint.identification.algorithm=HTTPS

ssl.keystore.type=JKS

ssl.truststore.type=JKS

sl.secure.random.implementation=SHA1PRNG

ssl.client.auth=required

security.inter.broker.protocol=SSL

修改kafka 中的E:\kafka\kafka_2.11-2.1.1\config 的server.properties

在config目录下面新建一个配置文件client-ssl.properties,然后编辑文件

security.protocol=SSL

bootstrap.servers=localhost:9092,gl.dingteam.com:9093

ssl.endpoint.identification.algorithm=HTTPS

ssl.keystore.location=E:/kafka/ca/server_keystore.jks

ssl.keystore.password=1234567

ssl.truststore.location=E:/kafka/ca/server_truststore.jks

ssl.truststore.password=1234567

ssl.key.password=1234567

启动kafka 命令行.\bin\windows\kafka-server-start.bat .\config\server.properties

创建topic

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

启动生产者

.\bin\windows\kafka-console-producer.bat --broker-list gl.dingteam.com:9093 --topic test-ssl  --producer.config  config/client-ssl.properties

启动消费者

.\bin\windows\kafka-console-consumer.bat --bootstrap-server gl.dingteam.com:9093 --topic test-ssl --consumer.config config/client-ssl.properties --from-beginning

测试生产者和消费者是否成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值