[12]MQTT mosquitto 单向SSL认证的配置方式

原创 2015年05月31日 22:47:05

我们知道,MQTT mosquitto支持单向和双向的SSL认证,首先咱们来看一下单项认证的配置文件应该如何配置。所谓的单向SSL证书,指的是,MQTT的客户端访问MQTT的服务器端的时候,如果用到了SSL加密通信,在建立SSL加密通信前,客户端需要通过证书来验证服务端是否是可信任的,所以客户端会把服务器端传过来的证书和自身的已经的在某种途径下得到的服务器端CA证书或者服务器证书进行比较,如果匹配成功,则运行建立可信任的安全的SSL连接。

我们知道启动MQTT mosquitto的时候,可以通过下面的命令

mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v]

来指定启动的方式,其中,-c 后面跟的是启动mosquitto可以调整的参数,比如是否开启基本认证,端口是什么,SSL单向和双向的认证配置等等。

-d 表示MQTT mosquitto将在后台运行。

-p 代表当前的mosquitto服务实例启动以后,其监听端口号,这个配置的覆盖[-c config file] 指定的配置文件中的端口

-v 代码调试模式(verbose)可以输出更多的信息

假设我们自己已经通过OpenSSL生成了相关的CA证书,和服务器端自签名公钥和私钥。其位置分布存储在:

(1) CA证书的位置

D:\mosquitto\certificates\ca.crt

(2) 服务器端的自签名的公钥的地址

D:\mosquitto\certificates\server.crt

(3) 服务器端的自签名的公钥的地址

D:\mosquitto\certificates\server.key


则其单向的SSL的mosquitto服务器端的配置文件(Configuration)的配置方式如下:

假设下面的配置存储在一个名为D:\mosquitto\singlewayssl.conf的文本文件中,

# See also the mosquitto-tls man page.
# At least one of cafile or capath must be defined. They both
# define methods of accessing the PEM encoded Certificate
# Authority certificates that have signed your server certificate
# and that you wish to trust.
# cafile defines the path to a file containing the CA certificates.
# capath defines a directory that will be searched for files
# containing the CA certificates. For capath to work correctly, the
# certificate files must have ".crt" as the file ending and you must run
# "c_rehash <path to capath>" each time you add/remove a certificate.
cafile D:\mosquitto\certificates\ca.crt
#capath
# Path to the PEM encoded server certificate.
certfile D:\mosquitto\certificates\server.crt
# Path to the PEM encoded keyfile.
keyfile D:\mosquitto\certificates\server.key
# This option defines the version of the TLS protocol to use for this listener.
# The default value will always be the highest version that is available for
# the version of openssl that the broker was compiled against. For openssl >=
# 1.0.1 the valid values are tlsv1.2 tlsv1.1 and tlsv1. For openssl < 1.0.1 the
# valid values are tlsv1.
tls_version tlsv1


则可以通过下面的方式启动mosquitto服务器端的单向的SSL服务。

mosquitto D:\mosquitto\singlewayssl.conf -p 1884 -v

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chancein007/article/details/46293031

Spring整合MQTT

Spring整合提供inbound与outbound通道适配器以支持MQTT协议,当前实现使用Eclipse Paho MQTT Client库。通过DefaultMqttPahoClientFact...
  • u010784959
  • u010784959
  • 2017-07-31 09:44:45
  • 6521

mosquitto mqtt tls 认证

TLS和SLL 简介SSL/TLS协议提供的作用。认证用户和服务器,确保数据发送到正确的客户机和服务器; 加密数据以防止数据中途被窃取; 维护数据的完整性,确保数据在传输过程中不被改变。制作 CA...
  • yuhaiyang457288
  • yuhaiyang457288
  • 2017-09-25 21:41:06
  • 912

[11]MQTT mosquitto 双向SSL认证配置方式

我们知道,MQTT mosquitto支持单项和双向的SSL认证,在上一节中,我们已经给大家分享了单向的SSL如何配置,在这一节中咱们来看一下双向的SSL认证的配置文件应该如何配置? 那么什么是双向的...
  • chancein007
  • chancein007
  • 2015-05-31 23:07:16
  • 4905

在MQTT服务器mosquitto上使用SSL/TSL

准备工作: 两台电脑,Window系统电脑称为本地电脑,Linux 系统电脑称为服务器电脑。 1、在本地电脑上下载mosquitto的源码,下载地址http://mosquitto.org/files...
  • peakguy
  • peakguy
  • 2017-05-11 16:03:52
  • 2242

SSL/TLS 双向认证(三) -- ESP8266与mosquitto的MQTT双向认证

ESP8266与mosquitto的MQTT双向认证
  • ustccw
  • ustccw
  • 2017-08-09 11:29:51
  • 2523

mosquitto 单向SSL 协议内容抓包简单分析

这篇文章主要介绍mosquitto SSL加密前后包内容的区别,首先,不加密,观察包内容 1. 未加密前 通过client 向borker 发送 的topic 为test, 内容为tomcat ...
  • a_bcd_123
  • a_bcd_123
  • 2017-04-13 18:48:16
  • 666

android MQTT 带SSL加密连接例子demo

  • 2015年06月26日 16:06
  • 2.35MB
  • 下载

Mosquito使用SSL/TLS进行安全通信时的使用方法

1、 SSL简介 SSL(SecureSocket Layer)安全套接层,是网景公司提出的用于保证Server与client之间安全通信的一种协议,该协议位于TCP/IP协议与各应用层协议之间,即S...
  • hjx_1000
  • hjx_1000
  • 2014-04-22 13:55:14
  • 14050

在MQTT中使用SSL/TLS提高安全性

在MQTT中使用SSL/TLS提高安全性当我开始使用MQTT时, 发现比较容易找到使用SSL/TLS验证去加密与代理之间的数据的相关资料。OwnTracks项目甚至提供了一个设置CA及签名的一个脚本,...
  • moxiaomomo
  • moxiaomomo
  • 2016-06-17 10:34:02
  • 14499

SSL的单向认证和双向认证

为了便于更好的认识和理解SSL协议,这里着重介绍SSL协议的握手流程。SSL协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技...
  • mylotof
  • mylotof
  • 2015-02-26 13:27:06
  • 1675
收藏助手
不良信息举报
您举报文章:[12]MQTT mosquitto 单向SSL认证的配置方式
举报原因:
原因补充:

(最多只允许输入30个字)