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.mzph.cn/news/749215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SPI驱动分析之二

三、主控制器的驱动注册 文件spi_imx.c中 subsys_initcall(spi_imx_init); static int __init spi_imx_init(void) { return platform_driver_register(&spi_imx_driver); } static struct platform_driver spi_imx_driver { .driver { .name DR…

InfluxDB下载安装教程

InfluxDB下载安装教程 一、简介二、【linux】InfluxDB下载安装配置2.1 下载安装2.1.1 apt在线安装2.1.2 离线安装 2.2 配置及启动 3、windows 下的安装方式4、InfluxDB基本使用4.1 创建用户4.2 数据库 回到目录 一、简介 InfluxDB是一个由InfluxData开发的开源时序型数据库。它…

串行通信——IIC和SPI应用场景区别

1.区别描述 SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit,也称IC)都是串行通信接口,但它们在应用上确实存在一些重叠之处,同时也各有特点和适用场景: SPI的主…

软件之禅(十)数据库

黄国强 2024/03/16 说点题外话,写程序是个非常有意思的智力游戏,想到业内很多人把这么一个智力游戏变成体力劳动,颇有些唏嘘。 回到正题,继续我对软件的思考。我是80年代的大学生,当时学的是dBASE数据库。毕业…

前端之CSS 创建css--行内引入、内联样式、外联样式

创建css有三种创建样式&#xff0c;行内引入、内联引入、外联引入。 行内引入 在行内标签引入 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>行内样式</title> </head> <body>…

php中 0 == ‘’(0等于任意字符串) 判断是否成立 返回true

php中不同类型变量之间比较大小 一、背景二、探究0是为什么&#xff1f;三、探究 0all是为什么&#xff1f;四、程序中如何判断0是否等于指定字符串 一、背景 最近在项目实际开发中&#xff0c;我需要判断前端传来的参数值是否等于一个字符串&#xff1b;然后发现当参数值是0时…

element-plus怎么修改表单中的label字体颜色及大小

问题描述&#xff1a; 当我们在vue3中使用element-plus组件库提供的表单组件时&#xff0c;有时我们需要修改表单中label的字体颜色等属性&#xff0c;这是如果直接选中label的class进行修改是不起作用的&#xff0c;我们只需深度选择即可选中并进行修改。 比如&#xff1a; …

IO Watch:用 Arduino UNO 制造的可编程手表

MAKER:mblaz/译:趣无尽 Cherry(转载请注明出处) 关于手表的项目,之前我们已经介绍过一款《Arduino + 3D 打印 DIY 电子手表》。本期的项目同样的一款基于 Arduino UNO 的可编程的手表,相比之下制造门槛更高一些。同时它更成熟、实用,外形也很有设计感,非常的漂亮! 这…

【打工日常】使用Docker部署团队协作文档工具

一、ShowDoc介绍 ​ShowDoc是一个适合IT团队共同协作API文档、技术文档的工具。通过showdoc&#xff0c;可以方便地使用markdown语法来书写出API文档、数据字典文档、技术文档、在线excel文档等等。 响应式网页设计&#xff1a;可将项目文档分享到电脑或移动设备查看。同时也可…

vue2中 因响应式原理采用Object.defineProperty数据劫持 导致几种方式改变数据页面 不重新渲染的解决办法

1. vue2 中通过索引修改数组数据不会重新渲染页面 使用数组方法可重新渲染页面 <template><div><ul><li v-for"item in names" :key"item">{{ item }}</li></ul><div><button click"replaceRoles"…

WXML 模板语法

数据绑定 1. 数据绑定的基本原则 ① 在 data 中定义数据 在页面对应的 .js 文件中&#xff0c;把数据定义到 data 对象中即可 ② 在 WXML 中使用数据 2. Mustache 语法的格式 把 data 中的数据绑定到页面中渲染&#xff0c;使用 Mustache 语法&#xff08;双大括号&#x…

SpringBoot jar包在后台运行,关闭cmd窗口程序不关闭

如果你想在运行 jar 文件后保留命令行窗口不关闭&#xff0c;你可以在运行 jar 文件时在命令行中使用 pause 命令。例如&#xff1a; java -jar myjarfile.jar pause 1 2 3 这样&#xff0c;在 jar 文件运行完后&#xff0c;命令行窗口会暂停&#xff0c;并显示一…

C++中如何引用一个已经定义过的全局变量?

在C或C中&#xff0c;要引用一个已经定义过的全局变量&#xff0c;你需要确保几件事情&#xff1a; 全局变量需要在引用它之前已经被定义。通常&#xff0c;全局变量定义在函数之外&#xff0c;可能是在文件的开始部分&#xff0c;或者在一个单独的头文件中。如果全局变量定义…

三次握手seq和ack的流程 TCP协议栈seq和ack深层理解

☆ 大家可以把想了解的问题在评论发给我?我会根据问题补充到后面 ☆ 三次握手seq和ack的流程 是的,在TCP/IP协议中,三次握手过程确实涉及到序列号(Sequence Number, 简称Seq)和确认号(Acknowledgment Number, 简称Ack)的交换。这个过程是为了建立可靠的连接,确保数据能…

Spring Data访问 MongoDB(十六)----CDI集成

存储库接口的实例通常由容器创建&#xff0c;在使用Spring Data时&#xff0c;Spring是最自然的选择。从1.3.0版本开始&#xff0c;Spring Data MongoDB附带了一个自定义的CDI扩展&#xff0c;允许你在CDI环境中使用存储库抽象。扩展是JAR的一部分。要激活它&#xff0c;请将Sp…

对OceanBase进行 sysbench 压测前,如何用 obdiag巡检

有一些用户想对 OceanBase 进行 sysbench 压测&#xff0c;并向我询问是否需要对数据库的各种参数进行调整。我想起有一个工具 obdiag &#xff0c;具备对集群进行巡检的功能。因此&#xff0c;我正好借此机会试用一下这个工具。 obdiag 功能的比较丰富&#xff0c;详细情况可参…

【设计模式】Java 设计模式之单例模式(Singleton Pattern)

一、单例模式概述 单例模式是一种创建型设计模式&#xff0c;它确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来访问这个唯一实例。在软件设计中&#xff0c;单例模式常用于管理那些只需要一个实例的类&#xff0c;如配置信息类、数据库连接池等。 二、单例模式结…

Redis热点数据和冷数据的理解

热点数据&#xff0c;缓存才有价值 对于冷数据而言&#xff0c;大部分数据可能还没有再次访问到就已经被挤出内存&#xff0c; 不仅占用内存&#xff0c;而且价值不大。频繁修改的数据&#xff0c;看情况考虑使用缓存 对于上面两个例子&#xff0c;寿星列 表、导航信息都存在一…

linux网络服务学习(1):nfs

1.什么是nfs NFS&#xff1a;网络文件系统。 *让客户端通过网络访问服务器磁盘中的数据&#xff0c;是一种在linux系统间磁盘文件共享的方法。 *nfs客户端可以把远端nfs服务器的目录挂载到本地。 *nfs服务器一般用来共享视频、图片等静态数据。一般是作为被读取的对象&…

F5怎么样?保障AI服务的安全性和交付

伴随着人工智能时代的快速发展&#xff0c;AI已成为企业数字化转型的得力工具&#xff0c;比如为用户提供更好的服务&#xff0c;降低企业成本等。与此同时&#xff0c;AI技术的应用也会带来应用安全等方面的新风险&#xff0c;可见其有着双刃剑效应。作为一家提供多云应用安全…