Kafka-SSL笔记整理

创建密钥仓库以及CA

  1. 创建密匙仓库,用户存储证书文件

    text 复制代码
    keytool -keystore server.keystore.jks -alias hello_kafka -validity 100000 -genkey
  2. 创建CA

    text 复制代码
    openssl req -new -x509 -keyout ca-key -out ca-cert -days 100000
  3. 将生成的CA添加到客户端信任库

    text 复制代码
    keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert
  4. 为broker提供信任库以及所有客户端签名了密钥的CA证书

    text 复制代码
    keytool -keystore server.truststore.jks -alias CARoot -import -file ca-cert

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

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

    text 复制代码
    keytool -keystore server.keystore.jks -alias hello_kafka -certreq -file cert-file
  2. 用CA签名:

    text 复制代码
    openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days 100000 -CAcreateserial -passin pass:hello123
  3. 导入CA的证书和已签名的证书到密钥仓库

    text 复制代码
    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配置文件

    text 复制代码
    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端口

    text 复制代码
    openssl s_client -debug -connect 192.168.99.51:8989 -tls1
  4. 打开防火墙端口

    text 复制代码
    a. firewall-cmd --zone=public --add-port=8989/tcp --permanent
    b. firewall-cmd --reload

kafka客户端ssl配置

  1. 配置修改

    text 复制代码
    security.protocol=SSL
    ssl.endpoint.identification.algorithm=
    ssl.truststore.location=/root/tools/ca_temp/client.truststore.jks
    ssl.truststore.password=hello123
相关推荐
ReedFoley5 小时前
【笔记】动手学Ollama 第七章 应用案例1 搭建本地AI Copilot编程助手
人工智能·笔记·copilot
长安即是故里5 小时前
Maxwell学习笔记
笔记·学习
咸甜适中7 小时前
rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十四)垂直滚动条
笔记·学习·rust·egui
努力敲代码的小盆友8 小时前
[自用笔记]上传本地项目至github
笔记·github
It_张9 小时前
Building Systems with the ChatGPT API 使用 ChatGPT API 搭建系统(第五章学习笔记及总结)
笔记·学习·chatgpt
The_Second_Coming10 小时前
Linux 学习笔记 - 集群管理篇
linux·笔记·学习
使二颗心免于哀伤14 小时前
《设计模式之禅》笔记摘录 - 17.模板方法模式
笔记·设计模式·模板方法模式
咸甜适中15 小时前
rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十五)网格布局
笔记·学习·rust·egui
武子康16 小时前
大数据-77 Kafka 延时队列与消息重试机制全解析:从原理到实战落地 Java
大数据·后端·kafka
Duo1J18 小时前
【OpenGL】LearnOpenGL学习笔记15 - 面剔除
笔记·学习·图形渲染