1, 以前go 的wss认证测试都client是 tlsConfig := &tls.Config{InsecureSkipVerify: true, ClientAuth: tls.NoClientCert}
opts.SetTLSConfig(tlsConfig)
即设置了InsecureSkipVerify: true 用于跳过证书认证.
2, 现在因为 paho.mqtt.c-master 暂时不知道哪里可以设置跳过, 只好来真正认证了.
3, 首先我们来建立我们自己的CA,需要生成一个CA私钥和一个CA的数字证书:
$openssl genrsa -out ca.key 2048
Generating RSA private key, 2048 bit long modulus
……….+++
………………………….+++
e is 65537 (0×10001)
$openssl req -x509 -new -nodes -key ca.key -subj "/CN=tonybai.com" -days 5000 -out ca.crt
接下来,生成server端的私钥,生成数字证书请求,并用我们的ca私钥签发server的数字证书:
openssl genrsa -out server.key 2048
Generating RSA private key, 2048 bit long modulus
….+++
…………………….+++
e is 65537 (0×10001)
$openssl req -new -key server.key -subj "/CN=localhost" -out server.csr
$openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
Signature ok
subject=/CN=localhost
Getting CA Private Key
现在我们的工作目录下有如下一些私钥和证书文件:
CA:
私钥文件 ca.key
数字证书 ca.crt
Server:
私钥文件 server.key
数字证书 server.crt
接下来,我们就来完成我们的程序。
4, 将ca.crt 重命令为 lwc_ca.crt
[root@localhost paho.mqtt.c-master]# ./build/output/samples/paho_c_pub -t topicdd -V 31 -P lwc -u lwc --connection wss://192.168.1.40:4444 --cafile lwc_ca.crt
dsfa
123
456789
5,
[root@localhost paho.mqtt.c-master]# ./build/output/samples/paho_c_sub -t topicdd -V 31 -P lwc -u lwc --connection wss://192.168.1.40:4444 --cafile lwc_ca.crt
123
456789
6,
将server.crt 重命令为 cert.crt 将server.key 重命令为 cert.key
mqttserver]# ./main -config config.yaml
1, 以前go 的wss认证测试都client是 tlsConfig := &tls.Config{InsecureSkipVerify: true, ClientAuth: tls.NoClientCert} opts.SetTLSConfig(tlsConfig) 即设置了InsecureSkipVerify: true 用于跳过证书认证.2, 现在因为 paho...
开发板 rk3288 + lubuntu 16.04
openssl-OpenSSL_1_0_0-stable.zip
paho
.
mqtt
.c-
master
.zip
paho
.
mqtt
.cpp-
master
.zip
1.openssl
#cd openssl-OpenSSL_1_0_0-stable
#./Configure no-asm shared linux-generic32 no-async --prefix=$(pwd)/install --cross-compile-prefix=ar
paho
.
mqtt
.embedded-c-
master
\
MQTT
Packet\samples,这个目录里面封装了发布消息、订阅消息的示例。运行pub0sub1,这个示例里面会去订阅主题消息、发布主题消息。并且订阅和发布的消息是同一个主题,所以在运行过程中会看到循环打印同一份消息。代码如下:#include <stdio.h>
#include <string.h>
#include <stdlib.
1、下载openssl-1.1.1g
./Configurelinux-armv4shared no-asm --prefix=/home//openssl-111g --cross-compile-prefix=arm-linux-gnueabihf-
1、下载
paho
.
mqtt
.embedded-c https://github.com/eclipse/
paho
.
mqtt
.c.git
解压后在129行添加
CFLAGS += -I/home/ope...
下载地址:
GitHub - eclipse/
paho
.
mqtt
.c: An Eclipse
Paho
C client library for
MQTT
for Windows, Linux and MacOS. API documentation: https://eclipse.github.io/
paho
.
mqtt
.c/
ubuntu@i...
下载
paho
.
mqtt
.embedded-c-
master
一、首先编译
MQTT
协议包封装库:
解压
paho
.
mqtt
.embedded-c-
master
.zip之后,进入目录,
修改Makefile:
1、修改第70行CC ?=gcc为:
CC ?=arm-linux-gcc
2、第43行SOURCE_FILES_C = $(srcdir)/*.c改为:
SOURCE_FILES_C = $(wildcard $(srcdir)/*.c )
OBJS = (addsuffix.o,(adds
项目需求,java端连接C#,想在前台处理订阅消息,用了websocket和
mqtt
,查了一上午,因为本机没有node.js,关于
paho
-
mqtt
.js的例子连接不了,比如301错误码、什么二进制数据、decode、握手失败等等,后来看了源码,总结了一个连接成功的例子,先写几个问题:
websocket的使用: :websocket允许服务端向
客户端
主动推送消息,是在jQuery/js中使用
mqtt
的基础。
mqtt
客户端
:
paho
-
mqtt
.js: 基于浏览器的库,使用websocket连接到mq
沃randint·MQ
* Marina Troian提供的
Vo
lan
tMQ
图片,已根据[知识共享署名4.0国际许可] [cc-by]许可
Vo
lan
tMQ
是高性能
MQTT
经纪人,旨在完全符合
MQTT
规范
##功能###
MQTT
规格
有限支持。 请参阅下面的详细信息
服务器
断开
最大封包大小
服务器
保持活动
分配的ClientID
TCP协议
WebSocket
WebSocket + TLS
默认情况下,
服务器
以内存中持久性启动,这意味着
服务器
重新启动后所有会话和消息都会丢失。
服务器
内置的user: sha256 of password格式的基本auth.key-value对,由以下任何选项提供的user: sha256 of p
x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 解决:
JanelSirry:
x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs 解决:
JanelSirry:
解决dockerfile 创建镜像报 exec format error问题 及容器退出问题
Deep、:
docker容器内程序开机启动
lmw0320: