环境

  1. openssl 交叉编译
    ./config no-asm shared no-async – prefix=/home/openssl-master/nuc980

  2. paho mqtt-c 交叉编译
    cmake … -DPAHO_BUILD_STATIC=TRUE -DPAHO_WITH_SSL=TRUE - DCMKAE_C_COMPILE=/home/arm_linux_4.8/bin/arm-linux-gcc - DOPENSSL_ROOT_DIR=/home/openssl-master/nuc980

以上编译完成后将libcrypto.so、libssl.so、libpaho-mqtt3cs.a拷贝至工程目录,最后还要注意的是需要拷贝libatomic.so动态库到开发板中。

设置服务器地址

 sprintf(address,"ssl://%s:%s",server,port);

初始化mqtt ssl配置

MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
MQTTClient_SSLOptions ssl_opts = MQTTClient_SSLOptions_initializer;

双向认证

ssl_opts.keyStore = clientCrt;  //客户端证书路径
ssl_opts.trustStore = CAFile; //ca证书路径
ssl_opts.privateKey = clientKey; //客户端密钥路径
ssl_opts.privateKeyPassword = mqtt_tls_port->clientKeyPasswd; //密钥,如果有客户端密钥路径该项可为空
ssl_opts.sslVersion = MQTT_SSL_VERSION_DEFAULT;
conn_opts.ssl = &ssl_opts;

单向认证

ssl_opts.trustStore = CAFile; //ca证书路径
ssl_opts.sslVersion = MQTT_SSL_VERSION_DEFAULT;
conn_opts.ssl = &ssl_opts;

加密不认证

ssl_opts.enableServerCertAuth = 0;
ssl_opts.sslVersion = MQTT_SSL_VERSION_DEFAULT;
conn_opts.ssl = &ssl_opts;

MQTT SSL加密单双向认证相关推荐

  1. 加密之SSL和单双向认证

    文章目录 1 SSL 1.1 SSL了解 1.2 导入证书 1.3 tomcat配置SSL 1.4 具体操作 2 单向认证 2.1 第三方签名 3 双向认证 3.1 引言 3.2 使用openssl脚 ...

  2. XSS网站攻击以及Netty单双向认证和设置白名单

    目录 技术分享之Java安全... 1 一. XSS攻击... 1 1.1 简述... 1 1.2 实例... 1 1.2.1 反射型 XSS. 1 1.2.2 存储型XSS. 4 1.2.3 DOM ...

  3. http(S)系列之(三):https单/双向认证区别

    前言 没有梗了,挖槽,不是朕的风格,硬来一个:昨晚做梦妻妾成群,年收入超千万了,可惜被儿子一泡尿滋醒了 参考文献 扯一扯HTTPS单向认证.双向认证.抓包原理.反抓包策略 提醒:参考文献里面涉及到单向 ...

  4. Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:

    1. testing ! ... 1 1 原文参考链接: http://showerlee.blog.51cto.com/2047005/1266712 很久没有更新LAMP的相关文档了,刚好最近单位 ...

  5. openssl私有CA证书签发与单双向认证

    什么是CA? CA是数字认证中心的简称.指的是发放.管理.废除数字证书的机构. CA的作用: 检查证书持有者身份的合法性.签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理. 建 ...

  6. nginx配置ssl加密(单双向认证、部分https)

    nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始采用的是全站加密,所有访问http:80的请求强制转换( ...

  7. ssl介绍以及双向认证和单向认证原理 (转)

    证书介绍 SSL安全证书可以自己生成,也可以通过第三方的CA(Certification Authority)认证中心付费申请颁发. SSL安全证书包括: 1.       CA证书,也叫根证书或中间 ...

  8. ssl介绍以及双向认证和单向认证原理

    证书介绍 SSL安全证书可以自己生成,也可以通过第三方的CA(Certification Authority)认证中心付费申请颁发. SSL安全证书包括: 1.       CA证书,也叫根证书或中间 ...

  9. SSL单向、双向认证

    引用:http://cbwdkpl.blog.163.com/blog/static/453293822009814111320789/ 单向认证:客户端向服务器发送消息,服务器接到消息后,用服务器端 ...

  10. ssl证书CA双向认证完整实现步骤(附java客户端代码)(好文章!)

    一.基础概念 注:以下概念除专业名词外,均为个人理解,不具备权威性. 1.什么是系统安全管理 置于公网的系统,通常都需要一定的安全管理,据我个人理解,这里的安全管理主要分三个方面: 一是应用内的权限控 ...

最新文章

  1. Python的正则表达式
  2. 剑指offer 算法 (递归与循环)
  3. SpringMVC的请求-获得请求参数-获得集合类型参数2
  4. spring cloud config的bootstrap.yml与application.proterties的区别
  5. Ubuntu不能挂载移动硬盘问题Error mounting /dev/sda1 at /media/XXXX: Command-line `mount -t ntfs -o
  6. 论文笔记_S2D.18_2019-ICRA_DeepFusion: 基于单视图深度和梯度预测的单目SLAM实时稠密三维重建
  7. Google 出品的 Java 编码规范,强烈推荐,权威又科学!
  8. linux访问samba命令,smbclient命令
  9. FPGA入门程序(1)——流水灯
  10. 菜鸟和老鸟都无法避免的问题——未将对象引用设置到对象的实例
  11. SEO优化:如何挖掘谷歌关键词-实例讲解(2022最新)
  12. 最基本财务基础知识,财务知识基础
  13. 数据库编程基本练习题
  14. 给小学生科普计算机知识,小学生必懂的15个科普知识
  15. 架构师的工作都干些什么?!想做架构师必看
  16. android7.1root工具,Android模拟器Root,Android7.1.1
  17. rpg游戏发展史计算机网络,PC Gamer盘点史上最经典RPG游戏TOP15
  18. Java --- Xstream使用
  19. openwrt mwan3配置
  20. java实现生日相同概率

热门文章

  1. kotlin的by lazy
  2. 服务器IP被封怎么办
  3. python植物大战僵尸辅助_【python面向对象实战练习】植物大战僵尸
  4. Win7网络和共享中心 依赖服务或组无法启动 解决办法
  5. 《东周列国志》第六回 卫石碏大义灭亲 郑庄公假命伐宋
  6. 十分钟带你解读Effective C++(导读)
  7. MySQL 幻读被彻底解决了吗?
  8. 抖音seo源码系统开发@抖音小程序挂载能力实现技术搭建
  9. matlab怎么做多元非线性拟合,如何用matlab进行多元非线性拟合
  10. jsp中页面间传汉字参数转码的方法