今天进行验证的逻辑是EMQ的http的Auth以及ACL的逻辑. 首先,参照HTTP插件认证配置的说明文档进行基本的配置, 我的配置内容如下: ##-------------------------------------------------------------------- ## HTTP Auth/ACL Plugin ##-------------------------------------------------------------------- ##----------…
1. 创建证书链(shell脚本) 客户端证书链关系: rootCA-->chainca1-->chainca2-->chainca3 ca caCert1 caCert2 caCert #!/bin/bash set -e dir=`pwd` root_key=$dir/rootCA.key root_crt=$dir/rootCA.crt echo "rootKey: $root_key, rootCrt: $root_crt" key_bits= expire_…
openssl创建私钥,获取公钥,创建证书都是比较简单的,就几个指令,很快就可以搞定,之所以说简单,是因为证书里面的基本参数配置不需要我们组装,只需要将命令行里面需要的几个参数配置进去即可.但是呢,用java代码,原生创建证书,其实需要我们了解的内容就要稍微多点,去填充创建证书里面的所需要的参数,逐行填充. openssl证书的格式默认是PEM的,即Privacy Enhanced Mail,说白了,就是将创建后的证书元素数据经过Base64编码,然后添加类似----BEGIN CERTIFIC…
本博文的重点是尝试CoAP协议的应用开发,其中包含CoAP协议中一个重要的开源工具libcoap的安装和遇到的问题调研.当然,为了很好的将EMQ的CoAP协议网关用起来,也调研了下EMQ体系下,CoAP的使用逻辑, CoAP支持明文,也支持DTLS的安全传输. 首先,介绍下libcoap的环境准备,然后基于libcoap进行EMQ的CoAP协议支持的验证.我的环境信息如下: 1. Linux: 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UT…
MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启的多个认证模块组成认证链: ---------------- ---------------- ------------ Client --> | Username认证 | -ignore-> | ClientID认证 | -ignore-> | 匿名认证 | ---------------…
MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启的多个认证模块组成认证链: ---------------- ---------------- ------------ Client --> | Username认证 | -ignore-> | ClientID认证 | -ignore-> | 匿名认证 | ---------------…
EMQ版本V2, emqttd-centos7-v2.3.11-1.el7.centos.x86_64.rpm 下载地址:http://emqtt.com/downloads/2318/centos7-rpm 机器环境: Linux CentOS7.2 安装完成后,默认是匿名用户访问.emq本身不带发布定于工具或者命令,需要借助类似mosquitto_sub.mosquitto_pub或者自己写客户端进行连接测试.关于mosquitto的环境搭建,请参照mosquitto环境搭建 api的htt…
issue 1. EMQX的共享订阅 EMQX是一个非常强大的物联网通信消息总线,基于EMQX开展应用开发,要注意很多配置细节问题,这里要说到的就是共享订阅以及和cleanSession之间的关系问题.共享订阅在EMQ的里程牌中出现的较早,V2的时候就已经提供了,只是那个时候只支持单节点的共享订阅,在V3的时候才支持集群的共享订阅. 共享订阅功能非常实用,解决了消费者应用程序的负载均衡问题,或者说高可用问题.否则,负载均衡或者高可用问题,需要借助于全局锁进行消息消费过程中的只消费一次的问题.这个…
这篇帖子,不会过多解释X509证书的基础理论知识,也不会介绍太多SSL/TLS的基本信息,重点介绍如何用java实现SSL协议需要的X509规范的证书. 之前的博文,介绍过用openssl创建证书,并配合EMQ进行发布订阅的工作逻辑,基于openssl创建证书和秘钥,还算是比较简便的,然后,基于java创建证书的过程,就有些许的小不方便,能找到的公开资料并不是太多,看到的都是基于keytool指令进行构建的介绍,但是呢,这种方案,对于我们的物联网安全应用,似乎不是很和谐.于是,啃了一段时间的ja…
基于上篇博文[SSL双向验证]的环境基础,进行消息的具体梳理. 环境基础信息: . 单台Linux CentOS7.2系统,安装一个EMQTTD的实例broker. . emq的版本2.3.11. . 客户端分为mosquitto_pub,以及MQTT.fx 1.7.1的subscriber. . 证书是通过openssl(version:1.0.2k-fips)生成的,rootCA是自签名的,subscriber和publisher的证书是通过rootCA签署的. . 抓包工具wireshar…