IoTSharp中使用X509加密MQTT通讯并实现设备鉴权

        IoTSharp支持MQTT协议通过 TLS 1.2 加密通讯, 并可以通过X509证书进行设备认证登录。

基本配置

        在 appsettings.Production.json中需要 指定域名, 并设置EnableTls为true

"MqttBroker":{"DomainName":"http://demo.iotsharp.net:2927/","EnableTls":"true"}如果是docker 务必映射目录 , 下面的例子是将配置文件和 证书目录映射在当前文件夹。
volumes:- "./appsettings.Production.json:/app/appsettings.Production.json"- "./data/security:/app/security"
自签发根证书和设备证书

        用系统管理员账号打开设置->证书, 点击签发 , 刷新界面, 显示指纹信息后, 说明签发成功。新建一个证书, 选择X509 验证方式, 点击下载证书界面, 点击生成证书, 然后下载。

使用mqtt.fx 通过x509证书连接

        新建连接, 设置端口为 8883 , 选择 SSL/TLS ,并选择启用, 选择TLS 版本为 1.2 , 并选择 Self Sigend certificates , 依次选择根证书ca.crt , 设备证书 client.crt,以及设备私钥 client.key , 必须选择 PEM format 点击确认。连接即可。如下图所示:

701052508b3d0686189f178e95be3b33.png

有关 MQTT如果发送遥测和属性数据 , 请参考 相关章节。

了解更多信息请点击项目:

GitHub https://github.com/IoTSharp/IoTSharp

Gitee https://gitee.com/IoTSharp/IoTSharp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IBM希望其“裁剪”过的Swift能够引诱你使用BlueMix云

现在所有人都可以使用了——微软顶尖的工程师表示,“呼吸新鲜的空气吧!” 据Stack Overflow的估计,Swift在最受欢迎的编程语言中排名第二,该语言已经出现在了IBM的BlueMix云平台之上,供所有人使用。 她从今年二月份开始…

物理层、数据链路层、介质访问控制子层

物理层 物理层定义了比特作为信号在信道上发送时相关的电气、时序和其它接口,物理层是构建网络的基础。数据通信理论基础:改变诸如电压或者电流等某种物理特性的方法可用来在电线上传输信息,如果用一个以时间t为自变量的单值函数 f(t) 来表示…

如何批量删除指定的GitHub Repos

正常情况下,如果需要删除GitHub上不需要的repos,手动删除的操作有点繁琐。如果只要删除一个还能接受,手动删除多个repos就有点浪费时间了。其实我们可以通过GitHub的API接口来批量删除不需要的repos。 将要删除的repos按照username\repos-nam…

django12:form 组件/渲染标签/数据校验/钩子函数/

基本用法 from django import forms# 自己写一个类 class RegForm(forms.Form):username forms.CharField(min_length3,max_length8, label"用户名")password forms.CharField(min_length3,max_length8,label"密码")emailforms.EmailField() 1.校验数据为…

如何快速拥有一个 Web IDE

本文将介绍如何使用 2-3 句指令在几分钟内创建一个 Web IDE 环境。服务器准备如何准备服务器可以参考上文 一键体验 Istio,这里只需要一台即可,示例中的服务器 IP 为:43.154.189.116安装 Web IDE下载安装工具在服务器上,执行以下指…

有了防火墙、IPS、WAF 还需要数据库审计?

本文讲的是 有了防火墙、IPS、WAF 还需要数据库审计?,“我们的网络安全系统中已经有了Web应用防火墙、网络防火墙和IPS,难道还需要数据库审计吗?”很多人有这样的疑问,网络中有层层防护,还不能保护数据库的…

20155339 Exp4 恶意代码分析

20155339 Exp4 恶意代码分析 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。 监控网络连接。当某个…

Linux就该这么学---第七章(LVM逻辑卷管理器)

第七章节-LVM技术逻辑卷管理器(LVM,Logical Volume Manager)1.物理卷(PV,physical Volumn)2.卷组(VG,Volume Group)3.逻辑卷(LV,Logical Volume)基本单元[PE,Physical Extent] 物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列卷组建立在…

django13:Session与Cookie操作

Session与Cookie cookie 服务端保存在客户端浏览器上的信息都可以教cookie 表现形式一般是k:v键值对(可以多个) 优化: 随机字符串1:用户1相关信息 随机字符串2:用户2相关信息 session 数据是保存在服务端 表现形…

从Windows XP升级? 这是您需要了解的Windows 7

With Windows XP reaching the end of its long support life, many businesses and individuals are avoiding Windows 8 and upgrading to Windows 7 instead. If you’re a latecomer to Windows 7, here are the basics you need to know. 随着Windows XP使用寿命的延长&am…

Java迭代器原理

1迭代器模式 迭代器是一种设计模式,这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 一般实现方式如下:(来自) public interface Iterator {public boolean hasNext();public Object next(); } pu…

企业版Java EE正式易主 甲骨文再次放手

有人说甲骨文收购的东西大多没有了好下场,这么说虽然有些片面,但是最近一个月Java EE和Solaris的境遇难免让人产生类似的联想。 继笔者上次报道《甲骨文将放弃Java EE 开源基金会双手欢迎》之后,最新消息显示,原本在甲骨文手中的J…

js中各种位置

js中各种位置 js中有各种与位置相关的属性,每次看到的时候都各种懵逼。索性一次总结一下。 clientHeight 内容可视区域的高度。包括padding不包括border、水平滚动条、margin。对于inline的元素这个属性一直是0,单位px,只读元素。offsetHeight offsetHei…

如何判断您是否拥有32位或64位版本的Google Chrome浏览器

Google Chrome is extremely popular with our readers, but did you know that they also have a 64-bit version of the browser these days? Here’s how to tell which version you are running, and how to switch if you aren’t. 谷歌浏览器在我们的读者中非常受欢迎&a…

django14:CBV加入装饰器

加在方法上面 from django.utils.decorators import method_decoratorclass HomeView(View):def dispatch(self, request, *args, **kwargs):return super(HomeView, self).dispatch(request, *args, **kwargs)def get(self, request):return render(request, "home.html&…

Kubernetes 跨集群流量调度实战 :访问控制

背景众所周知,Flomesh 的服务网格产品 osm-edge[1] 是基于 SMI(Service Mesh Interface,服务网格接口) 标准的实现。SMI 定义了流量标识、访问控制、遥测和管理的规范。在 上一篇 中,我们体验过了多集群服务&#xff0…

python下sqlite增删查改方法(转)

sqlite读写 #codingutf-8 import sqlite3 import os #创建数据库和游标 if os.path.exists( test.db):connsqlite3.connect( test.db)curconn.cursor() else:connsqlite3.connect( test.db)curconn.cursor()#创建表 cur.execute(CREATE TABLE IF NOT EXISTS customer (ID VARCH…

Apache HTTP Server 与 Tomcat 的三种连接方式介绍

本文转载自IBM developer 首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接。事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端口可以直接使用 Tomcat 所运行的应用程序,你也可以将该…

印象笔记和有道云笔记程序员_记录,存储和共享笔记的最佳应用程序和云服务...

印象笔记和有道云笔记程序员Is your desk and computer covered with sticky notes? Do you have miscellaneous pieces of paper with bits of information buried in drawers, your laptop case, backpack, purse, etc.? Get rid of all the chaos and get organized with …

java B2B2C 仿淘宝电子商城系统-Spring Cloud Eureka参数配置项详解

Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。 需要JAVA Spring Cloud大型企业分布式微服务云…