当前位置: 首页 > article >正文

Kafka-SSL笔记整理

创建密钥仓库以及CA

  1. 创建密匙仓库,用户存储证书文件
    keytool -keystore server.keystore.jks -alias hello_kafka -validity 100000 -genkey
    
  2. 创建CA
    openssl req -new -x509 -keyout ca-key -out ca-cert -days 100000
    
  3. 将生成的CA添加到客户端信任库
    keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert
    
  4. 为broker提供信任库以及所有客户端签名了密钥的CA证书
    keytool -keystore server.truststore.jks -alias CARoot -import -file ca-cert
    

签名证书,用自己生成的CA来签名前面生成的证书

  1. 签名证书,用自己生成的CA来签名前面生成的证书
    keytool -keystore server.keystore.jks -alias hello_kafka -certreq -file cert-file
    
  2. 用CA签名:
    openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days 100000 -CAcreateserial -passin pass:hello123
    
  3. 导入CA的证书和已签名的证书到密钥仓库
    keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert
    keytool -keystore server.keystore.jks -alias hello_kafka -import -file cert-signed
    

kafka集成ssl (服务端配置)

  1. 修改config/server.properties配置文件
    listeners=PLAINTEXT://192.168.99.51:9092,SSL://192.168.99.51:8989
    advertised.listeners=PLAINTEXT://192.168.99.51:9092,SSL://192.168.99.51:8989
    ssl.keystore.location=/root/tools/ca_temp/server.keystore.jks
    ssl.keystore.password=hello123
    ssl.key.password=hello123
    ssl.truststore.location=/root/tools/ca_temp/server.truststore.jks
    ssl.truststore.password=hello123
    
  2. 重启kafka
  3. 使用openssl测试ssl端口
    openssl s_client -debug -connect 192.168.99.51:8989 -tls1
    
  4. 打开防火墙端口
    a. firewall-cmd --zone=public --add-port=8989/tcp --permanent
    b. firewall-cmd --reload
    

kafka客户端ssl配置

  1. 配置修改
    security.protocol=SSL
    ssl.endpoint.identification.algorithm=
    ssl.truststore.location=/root/tools/ca_temp/client.truststore.jks
    ssl.truststore.password=hello123
    

http://www.kler.cn/a/271180.html

相关文章:

  • 用户故事到需求实例化
  • 【JavaScript】JavaScript 运算符 ④ ( 逻辑运算符 | 逻辑与运算符 | 逻辑或运算符 || | 逻辑非运算符 ! )
  • 关于微信公众号的一些个心得(持续更新)
  • Hack The Box-Jab
  • Lua-Lua与C的交互3
  • MacBook使用——彻底卸载并删除软件:NTFS for Mac
  • 游戏引擎中的动画基础
  • 线程有哪几种状态(附图)以及线程状态的变化
  • pycharm如何创建虚拟环境
  • tomcat 实现会话绑定
  • 客户端:Vue3,服务端:Node,基于Socket.IO实现单聊的功能
  • python opencv的最基础初学
  • perl 用 XML::Parser 解析 XML文件,访问哈希
  • Jmeter---分布式
  • Spring Web MVC入门(2)
  • THM学习笔记—Simple CTF
  • SQLiteC/C++接口详细介绍之sqlite3类(十四)
  • springcloud五大组件:Eureka:注册中心、Zuul:服务网关、Ribbon:负载均衡、Feign:服务调用、Hystix:熔断器
  • CSS3病毒病原体图形特效
  • 在pharmit里匹配药效团