Apollo单向SSL认证(1)
参考链接:https://www.cnblogs.com/benwu/articles/4891758.html
keytool -genkey -alias mybroker -keyalg RSA -keyStore mybroker.ks
keytool -export -alias mybroker -keyStore mybroker.ks -file mybroker.cert
keytool -import -alias mybroker -keystore mybroker.ts -file mybroker.cert
Apollo单向SSL认证
1.SSL协议
SSL协议有单向和双向之分。
单向认证流程图:
双向认证流程图:
单向和双向的主要区别是:
- 单向需要的是在broker上配置broker.ks,在客户端上配置client.ts,client每次建立SSL连接时会从服务端拿到证书并判断是否受信。
- 双向则需要在客户端配置client.ts和client.ks,服务端配置上broker.ks和broker.ts,通信时必须双方都认可才能建立通信。
如果使用单向认证,那么客户端建议仍然使用密码+client.ts的方式来登录broker,这样可以减少每个client上线时都需要配置broker.ts的工作量。
2. 证书生成步骤
证书生成步骤:
1、生成服务端私钥,并导入到服务端keyStore文件中,此操作生成broker1.ks文件,用于保存服务端私钥,仅供服务端使用。
在命令行输入:
|
keytool -genkey -alias broker -keyalg RSA -keyStore broker1.ks |
2、根据服务端私钥导出服务端证书,此操作生成broker_cert文件,该文件为服务端的证书。
在命令行输入:
|
keytool -export -alias broker -keyStore broker1.ks -file broker_cert |
3、导入服务端证书到客户端的密钥库Trust keyStore中。此操作生成client.ts文件,保存服务端证书,供客户端使用。
在命令行输入:
|
keytool -import -alias broker -keystore client1.ts -file broker_cert |
单向认证证书生成完成。
3. Apollo配置SSL
在Apollo服务端配置服务端证书broker1.ks。编辑Apollo配置文件apollo.xml,添加SSL证书配置,填写服务端证书broker1.ks文件地址和密钥:
|
<key_storage file="${apollo.base}/etc/broker1.ks" password="password" key_password="password"/> |
4. 模拟连接SSL
客户端使用MQTT.fx模拟,配置客户端,端口号使用tls端口61614,启用SSL,使用TLSv1.2,选择CA keystore验证,填写客户端证书client1.ts文件地址和密钥。
客户端连接broker成功。
Apollo单向SSL认证(1)的更多相关文章
- Apollo单向SSL认证(2)
一.生成ks和ts 二.连接测试 1.配置 2.测试
- Tomcat 实现双向SSL认证
大概思路: 使用openssl生产CA证书,使用keytool生产密钥库 实验环境:RHEL6.4+Tomcat8 一.生成CA根证书,并自签名 1.生成CA密钥 # genrsa [产生密钥命令] ...
- 使用 curl 进行 ssl 认证
目录 SSL 认证 认证实现 问题解决 curl不支持 https SSL certificate problem, verify that the CA cert is OK curl: (60) ...
- mosquitto SSL认证
[11]MQTT mosquitto 双向SSL认证配置方式 [12]MQTT mosquitto 单向SSL认证的配置方式 Mosquitto服务器的搭建以及SSL/TLS安全通信配置(比较可信) ...
- https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL_转
转自:https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结. 1. 首 ...
- SSL认证
SSL认证 单向认证 1.发一串消息个对方 2.对方用私钥加密后返回 3.本方用对方的公钥解密,验证消息是否正确, 如果消息相同,则本方认可对方 双向认证 本方认证对方 对方认证本方
- java中 SSL认证和keystore使用
java中 SSL认证和keystore使用 2013-10-12 11:08 10488人阅读 评论(0) 收藏 举报 目录(?)[+] 好久没用过SSL认证了,东西久不用,就有点生疏. ...
- RSA原理、ssl认证、Tomcat中配置数字证书以及网络传输数据中的密码学知识
情形一:接口的加.解密与加.验签 rsa不是只有加密解密,除此外还有加签和验签.之前一直误以为加密就是加签,解密就是验签.这是错误的! 正确的理解是: 数据传输的机密性:公钥加密私钥解密是密送,保 ...
- mysql多实例安装与ssl认证
mysql多实例安装有两种形式: 同一数据库版本的多实例安装. 不同数据库版本的多实例安装. 同一数据库的多实例安装: 在同一台机器上安装4台mysql数据库实例. 从官网下载MySQL5.6版本的二 ...
随机推荐
- JDBC存在的问题
1.数据库连接频繁的创建和关闭,缺点是浪费数据库资源,影响操作效率. 设想:使用数据库连接池 2.sql语句是硬编码,如果需求变更需要修改sql,就需要修改java代码,需要重新编译,系统不易维护. ...
- DevExpress中GridControl自定义汇总列值(有选择性的汇总)
今天碰到有同事遇到这个方面的需求,贴一下吧. private void gvTop_CustomSummaryCalculate(object sender, CustomSummaryEventAr ...
- vc的环境变量配置和缺少mspdb60.dll的解决方法
vc的编译器是cl.exe,我们如果在vc中编译就不用配置环境,但是如果要在任何位置用命令提示符打开编译器cl.exe来编译程序,那么就要配置环境了. 下面我就讲讲vc的环境变量配置和缺少mspdb6 ...
- 如何关闭常见浏览器的 HSTS 功能
在安装配置 SSL 证书时,可以使用一种能使数据传输更加安全的Web安全协议,即在服务器端上开启HSTS (HTTP Strict Transport Security).它告诉浏览器只能通过HTTP ...
- 5分钟学习spark streaming 表格和图形化的文档-概览
看图回答以下问题: 1. spark streaming 架构以及功能特性 2. spark streaming mode?以及每个mode主要特性?包括延迟和语义保证.
- centos7服务的管理
centos7上服务管理 author:headsen chen 2017-10-16 16:03:53 1,启动服务(每条都可以) systemctl start httpd ...
- 20165230 《Java程序设计》第1周学习总结
20165230 2017-2018-2 <Java程序设计>第1周学习总结 教材学习内容总结 本周通过学习了解了java的历史,地位,特点以及java的应用和基本的开发步骤,对Java有 ...
- 自然语言处理中的自注意力机制(Self-attention Mechanism)
自然语言处理中的自注意力机制(Self-attention Mechanism) 近年来,注意力(Attention)机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中,之前我对早期注意力 ...
- 1-1 spring基础
1.spring是一个开源的轻量级的应用开发框架,它提供了IOC(Inversion of Control控制反转)和AOP(Aspect -Oriented Programming 面向切面编程)的 ...
- Redis主从集群的Sentinel配置
http://www.cnblogs.com/LiZhiW/p/4851631.html