Kafka配置1--Windows环境安装和配置Kafka

Kafka配置2--Windows下配置Kafka的SASL-PLAIN身份验证

Kafka配置3--Windows下配置Kafka集群

Kafka配置4--Windows下配置Kafka的SSL证书

Kafka配置5--Windows下配置Kafka的集群+SASL+SSL

Kafka配置6--Windows下设置和增加SASL用户或用户权限

修改hosts,配置主机名称
    Windows路径为C:\Windows\System32\drivers\etc,在hosts文件中追加如下配置:
    # Kafka相关配置
    192.168.2.200 kafka-main

1、服务器端SSL证书签发
    1.1、生成kafka1.keystore.jks
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias kafka1 -validity 3650 -genkey -keyalg RSA

紧接着就是输入2次密码,如qubernet
        您的名字与姓氏是什么? 输入主机的IP地址或主机绑定的域名,如kafka-main
        您的组织单位名称是什么? ~ 该单位的双字母国家/地区代码是什么? 都输入cn
        最后在确定没有问题后输入y确认
        再次输入密码qubernet

1.2、生成CA
        以管理员身份运行CMD,然后输入如下命令:

openssl req -new -x509 -keyout D:\Net_Program\Net_KafkaSsl\ca-key -out D:\Net_Program\Net_KafkaSsl\ca-cert -days 3650

紧接着就是输入2次密码,如qubernet
        Country Name (2 letter code) [AU] ~ Organizational Unit Name (eg, section) [] 都输入cn
        Common Name (e.g. server FQDN or YOUR name) [] 输入主机的IP地址或主机绑定的域名,如kafka-main
        Email Address [] 输入一个邮箱地址,如qubernet@163.com

1.3、创建truststore.jks
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\ca.truststore.jks -alias CARoot -import -file D:\Net_Program\Net_KafkaSsl\ca-cert

紧接着就是输入2次密码,如qubernet
        然后输入y确定

1.4、对keystore进行签名
        1.4.1、从keystore中导出未签名的证书
            以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias kafka1 -certreq -file D:\Net_Program\Net_KafkaSsl\cert-kafka1

紧接着输入密码qubernet

1.4.2、使用CA对上一步导出的cert-kafka1进行签名
            以管理员身份运行CMD,然后输入如下命令:

openssl x509 -req -CA D:\Net_Program\Net_KafkaSsl\ca-cert -CAkey D:\Net_Program\Net_KafkaSsl\ca-key -in D:\Net_Program\Net_KafkaSsl\cert-kafka1 -out D:\Net_Program\Net_KafkaSsl\cert-signed-kafka1 -days 3650 -CAcreateserial -passin pass:qubernet

1.4.3、将CA证书和签名过的证书导入到keystore
            以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias CARoot -import -file D:\Net_Program\Net_KafkaSsl\ca-cert

紧接着就是输入1次密码,如qubernet
            然后输入y确定

keytool -keystore D:\Net_Program\Net_KafkaSsl\kafka1.keystore.jks -alias kafka1 -import -file D:\Net_Program\Net_KafkaSsl\cert-signed-kafka1

紧接着就是输入1次密码,如qubernet
            然后输入y确定

到此,服务端的SSL证书就生成完成了,我们可以使用一下命令来测试下证书是否正确(前提条件是Kafka服务中已经配置了SSL证书)

openssl s_client -debug -connect kafka-main:9092 -tls1

2、客户端端SSL证书签发
    客户端SSL证书的生成和服务端类似
    
    2.1、
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias client -validity 3650 -genkey -keyalg RSA

紧接着就是输入2次密码,如qubernet
        您的名字与姓氏是什么? 输入主机的IP地址或主机绑定的域名,如kafka-main
        您的组织单位名称是什么? ~ 该单位的双字母国家/地区代码是什么? 都输入cn
        最后在确定没有问题后输入y确认
        再次输入密码qubernet

2.2、
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias client -certreq -file D:\Net_Program\Net_KafkaSsl\cert-client

紧接着就是输入1次密码,如qubernet

2.3、
        以管理员身份运行CMD,然后输入如下命令:

openssl x509 -req -CA D:\Net_Program\Net_KafkaSsl\ca-cert -CAkey D:\Net_Program\Net_KafkaSsl\ca-key -in D:\Net_Program\Net_KafkaSsl\cert-client -out D:\Net_Program\Net_KafkaSsl\cert-signed-client -days 3650 -CAcreateserial -passin pass:qubernet

2.4、
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias CARoot -import -file D:\Net_Program\Net_KafkaSsl\ca-cert

紧接着就是输入1次密码,如qubernet
        然后输入y确定

2.5、
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -keystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -alias client -import -file D:\Net_Program\Net_KafkaSsl\cert-signed-client

紧接着就是输入1次密码,如qubernet

2.6、生成C#所需的p12证书
        我们在使用C#客户端开发Kafka时,如果使用的是Confluent.Kafka库,则需要将client.keystore.jks生成对应p12格式的证书,输入如下命令即可:
        以管理员身份运行CMD,定位到Java安装目录的bin文件夹下,如D:\Net_Program\Net_Java\bin,然后输入如下命令:

keytool -importkeystore -srckeystore D:\Net_Program\Net_KafkaSsl\client.keystore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore D:\Net_Program\Net_KafkaSsl\client.keystore.p12


        
到此,客户端的SSL证书就生成完成了,生成的完整证书目录文件如下所示:

Kafka配置4--Windows下配置Kafka的SSL证书相关推荐

  1. CentOS 和Windows 下配置MySQL远程访问

    一.前言 由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 Windows 服务器和 CentOS 服务器下的MySQL环境. 为了方便在本地Navicat 上 ...

  2. php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法

    本文实例讲述了PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法.分享给大家供大家参考,具体如下: 1.php mail()函数在windows不能用,需要安装sen ...

  3. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error...

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  4. windows 下配置 react native 开发环境

    windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...

  5. Windows下配置Chrome WebDriver

    其实就是下载一个exe,放在chrome下面,添加到环境变量 Windows下配置Chrome WebDriver 下载地址,选版本: http://npm.taobao.org/mirrors/ch ...

  6. windows下配置ssh(FreeSSHD + putty)

    windows下配置ssh(FreeSSHD + putty): 1.关于配置过程找到一篇很好的博客,推荐大家先好好看一下,这篇博文解决了大方向问题. 地址:http://blog.csdn.net/ ...

  7. Windows下配置单机Hadoop环境

    Windows下配置单机Hadoop环境 文章目录 Windows下配置单机Hadoop环境 下载Hadoop 下载配置文件 配置环境变量 初始化HDFS 启动Hadoop 关闭Hadoop 常见错误 ...

  8. Windows下配置IDEA开发环境

    Windows下配置IDEA开发环境 文章目录 Windows下配置IDEA开发环境 安装JDK 查看JDK是否安装 下载JDK 配置环境变量 安装IDEA 下载IDEA 安装IDEA 初始化IDEA ...

  9. windows下配置java

    WINDOWS下配置JAVA环境变量 JAVA需要的环境变量: JAVA需要配置的环境变量有三,分别是java_home环境变量.path环境变量和classpath环境变量. JAVA环境变量的意义 ...

  10. 配置多个git账号_在Windows下配置多个git账号

    本文记录了在Windows下配置两个github账号的过程. 1. 生成并部署SSH key 安装好Git客户端后,打开git bash,输入以下命令生成user1的SSH Key: ssh-keyg ...

最新文章

  1. java date 加一天_Java 8中的时间JAVA成长之路
  2. 敏捷团队如何通过Leangoo领歌做迭代管理、迭代规划及任务协同
  3. 《用广义CNOT门产生质数幂维的图态》
  4. POJ3111 K Best —— 01分数规划 二分法
  5. VINS-Mono关键知识点总结——前端详解
  6. 用蒙特卡洛求pi_蒙特卡洛算法(MCS)及其MATLAB实现
  7. 红橙Darren视频笔记 RecyclerView基本使用
  8. (15)System Verilog结构体struct详解
  9. 项目练习(二)—微博数据结构化
  10. 关于Spring中的context:annotation-config/配置
  11. 一个简单的把对象序列化/反序列化为json格式的程序
  12. Hbase下载与安装部署(一)- 独立式
  13. python识别文字位置_如何利用Python识别图片中的文字
  14. php正则判断是否为图片格式,JS 获取文件后缀,判断文件类型(比如是否为图片格式)...
  15. 大数据的75个名词解释
  16. python中转义字符与格式化字符的混合使用
  17. 前端九年老司机的一天作息
  18. 【Android开发】android最全的颜色对应的16进制代码(androidUI设计必备)
  19. 二分查找算法应用-实现求平方根函数
  20. 解决:el-input添加clearable属性后出现2个×清除图标

热门文章

  1. QQ因系统日期无法打开
  2. Web 的将来是语义的
  3. 大家好,我就是那个提【换手机壳颜色变app主题】需求的“产品经理”
  4. win7下使用U盘安装Ubuntu Kylin完全详解教程
  5. Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(转)
  6. Android之Handler,举例说明如何更新UI
  7. ArcGIS API for Silverlight 使用GeometryService进行河流网格划分(三)
  8. [导入]js 关联数组 详解
  9. 7.微服务设计 --- 测试
  10. 2.24小时365天不间断服务 --- 优化服务器及基础设施的拓扑结构(冗余,负载分流,高性能的实现)