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版本的二 ...
随机推荐
- struts_自定义日期类型转换器
1.问题:struts默认的日期类型是 xxxx-mm-dd,不能接收xxxx/mm//dd类型的日期 2.解决方案(继承DefaultTypeConverter,覆盖convertValue(Obj ...
- react-native简单demo:实现加载豆瓣电影列表
https://github.com/axel10/react-native-douban' 相关随笔: react-native 开发环境搭建 http://www.cnblogs.com/axel ...
- js备战春招の四の表单
表单验证:required="required"(浏览器自动验证) javascript表单验证: <input id="numb">这条html标 ...
- 流量操控技术---rinetd
应用场景 实验机器:monomall防火墙,windows xp ,kali , windows 2003 场景假设,公司对你的办公电脑做了限制只允许53端口出去不能访问互联网. 突破思路:见上图 下 ...
- 【前端单元测试入门05】react的单元测试之jest
jest jest是facebook推出的一款测试框架,集成了前面所讲的Mocha和chai,jsdom,sinon等功能. 安装 npm install --save-dev jest npm in ...
- sublime COMMAND + B 调用 python3 运行
用sublime写了python3的代码,COMMAND + B运行调用 PYTHON3 我们先来新建一个sublime build system 然后自动打开了一个文本,清空并写入以下内容: { & ...
- canvas---HTML5新特性
画圆及填充文字<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- Pla
Pla(jdoj1006) 题目大意:给你n个矩形,并排放在一起,你的目的是将所有的矩形全部染色.你每次染的形状为一个矩形,问:最少需要染多少次? 注释:n<=10^6,wi , hi<= ...
- 安装php扩展 ffmpeg-php
环境: CentOS 6.5 PHP5.6 安装前php 已加载GD 模块(yum install php-gd)1.添加ffmpeg和ffmpeg-devel源 cat > /etc/yum. ...
- apache实现301永久性重定向代码
301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬 ...