Kafka SSL认证

证书生成

在kafka安装目录下/certificates生成keystore和trust文件,在其中一台机器声生成证书,然后将

生成的server.keystore.jksserver.truststore.jks文件拷贝其他broker节点上去即可

1.生成keystore

shell 复制代码
[root@m1 certificates]# keytool -keystore server.keystore.jks -alias kafka -validity 3650 -genkey -keyalg RSA -storetype pkcs12  -storepass 123456 -keypass 123456  -dname "CN=*.machine.com, OU=JD, O=JD, L=Beijing, ST=Beijing, C=CN"
[root@m1 certificates]# ls -al
total 4
drwxr-xr-x. 2 root root   33 May 21 17:08 .
drwxr-xr-x. 8 root root  149 May 21 17:03 ..
-rw-r--r--. 1 root root 2565 May 21 17:08 server.keystore.jks

2.创建CA(Certificate Authority:认证机构)

shell 复制代码
[root@m1 certificates]# openssl req -new -x509 -keyout ca-key -out ca-cert -days 3650 -passin pass:123456 -passout pass:123456 -subj "/C=CN/ST=Beijing/L=Beijing/O=JD/CN=*.machine.com"
Generating a 2048 bit RSA private key
.......................................................................+++
.................................................................+++
writing new private key to 'ca-key'
-----
[root@m1 certificates]# ls -al
total 12
drwxr-xr-x. 2 root root   62 May 21 17:13 .
drwxr-xr-x. 8 root root  149 May 21 17:03 ..
-rw-r--r--. 1 root root 1273 May 21 17:13 ca-cert
-rw-r--r--. 1 root root 1834 May 21 17:13 ca-key
-rw-r--r--. 1 root root 2565 May 21 17:08 server.keystore.jks

3.导入CA到truststore

shell 复制代码
[root@m1 certificates]# keytool -keystore server.truststore.jks -alias CARoot -import -file  ca-cert -storepass 123456 -keypass 123456 -noprompt
Certificate was added to keystore
[root@m1 certificates]# ls -al
total 16
drwxr-xr-x. 2 root root   91 May 21 17:18 .
drwxr-xr-x. 8 root root  149 May 21 17:03 ..
-rw-r--r--. 1 root root 1273 May 21 17:13 ca-cert
-rw-r--r--. 1 root root 1834 May 21 17:13 ca-key
-rw-r--r--. 1 root root 2565 May 21 17:08 server.keystore.jks
-rw-r--r--. 1 root root  962 May 21 17:18 server.truststore.jks
  1. 从keystore中导出证书
shell 复制代码
[root@m1 certificates]# keytool -keystore server.keystore.jks -alias kafka -certreq -file cert-file -storepass 123456 -keypass "123456
[root@m1 certificates]# ls -al
total 20
drwxr-xr-x. 2 root root  108 May 21 17:21 .
drwxr-xr-x. 8 root root  149 May 21 17:03 ..
-rw-r--r--. 1 root root 1273 May 21 17:13 ca-cert
-rw-r--r--. 1 root root 1834 May 21 17:13 ca-key
-rw-r--r--. 1 root root 1085 May 21 17:21 cert-file
-rw-r--r--. 1 root root 2565 May 21 17:08 server.keystore.jks
-rw-r--r--. 1 root root  962 May 21 17:18 server.truststore.jks
  1. 签发证书
shell 复制代码
[root@m1 certificates]# openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days 365 -CAcreateserial -passin pass:123456
Signature ok
subject=/C=CN/ST=Beijing/L=Beijing/O=JD/OU=JD/CN=*.machine.com
Getting CA Private Key
  1. 导入CA到keystore
shell 复制代码
[root@m1 certificates]# keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert -storepass 123456 -keypass 123456 -noprompt
Certificate was added to keystore
  1. 导入证书到keystore
shell 复制代码
[root@m1 certificates]# keytool -keystore server.keystore.jks -alias localhost -import -file cert-signed -storepass "123456" -keypass "123456"
:Certificate was added to keystore

配置kafka broker

properties 复制代码
...
listeners=SSL://m1.machine.proxy:9093
advertised.listeners=SSL://m1.machine.proxy:9093

ssl.keystore.location=/export/server/kafka_2.11-2.4.1/certificates/server.keystore.jks
ssl.keystore.password=123456
ssl.truststore.location=/export/server/kafka_2.11-2.4.1/certificates/server.truststore.jks
ssl.truststore.password=123456
ssl.key.password=123456
ssl.endpoint.identification.algorithm=
security.inter.broker.protocol=SSL
ssl.client.auth=required
ssl.enabled.protocols=TLSv1.2
ssl.truststore.type=JKS
ssl.keystore.type=JKS
...

参考:https://www.ibm.com/docs/zh/cloud-paks/cp-biz-automation/21.0.3?topic=emitter-preparing-ssl-certificates-kafka

相关推荐
linux修理工1 天前
使用codebuddy学习kafka
分布式·学习·kafka
阿 才1 天前
跟文件系统(busybox)的构建
大数据·hadoop·分布式
老纪1 天前
Redis分布式锁进第九零篇
数据库·redis·分布式
Amy187021118231 天前
分布式光伏防孤岛保护:技术逻辑、标准演进与工程实践全解析
分布式
ACP广源盛139246256731 天前
IX7008 PCIe 交换芯片@ACP#RTX Spark 经济型 8 口扩展芯片(对比 ASM1806)
大数据·人工智能·分布式·嵌入式硬件·gpt·spark·电脑
ACP广源盛139246256731 天前
IX6012 PCIe 交换芯片@ACP#RTX Spark 入门级 12 口存储外设扩展方案(对比 ASM1812)
大数据·人工智能·分布式·嵌入式硬件·gpt·spark·电脑
开开心心就好1 天前
解决截图被拦截黑屏问题的免费小工具
安全·智能手机·flink·kafka·pdf·音视频·1024程序员节
分布式存储与RustFS1 天前
对标MinIO!RustFS新一代AI分布式对象存储开源能力前瞻
人工智能·分布式·开源·分布式对象存储·rustfs·minio平替·s3 table
cxr8281 天前
蜂群智能系统中“非必要不添加“原则的有效性再审视:基于分布式决策与通信复杂度的理论推导
人工智能·分布式·智能体
bIo7lyA8v1 天前
算法工程中的可扩展性与分布式实现方案的技术8
分布式