关于java通过ssl连接mqtt

我这边java在没有通过ssl连接mqtt的时候是可以连接的(可以订阅与发布),
但是通过ssl就不行了,发现是读取证书的时候出错了,错误是这样的:

java.security.cert.CertificateException: Unable to initialize, java.io.IOException: extra data given to DerValue constructor

at sun.security.x509.X509CertImpl.(Unknown Source)
at sun.security.provider.X509Factory.engineGenerateCertificate(Unknown Source)
at java.security.cert.CertificateFactory.generateCertificate(Unknown Source)
at com.test.mqtt.AppTest.main(AppTest.java:51)

Caused by: java.io.IOException: extra data given to DerValue constructor

at sun.security.util.DerValue.init(Unknown Source)
at sun.security.util.DerValue.(Unknown Source)
at sun.security.util.DerValue.(Unknown Source)
... 4 more

具体代码是:
CertificateFactory cf;

try {
    cf = CertificateFactory.getInstance("X.509");
     FileInputStream crtIn = new FileInputStream("D:\\test\\client.crt");
     X509Certificate caCert = (X509Certificate) cf.generateCertificate(crtIn);
        //Certificate caCert =  cf.generateCertificate(crtIn);
        crtIn.close();
} catch (CertificateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JAVA使用ssl方式连接mqtt
请确保你已经有证书了,且已经配置好了mqtt的ssl支持。没有配置好的请看之前的文章:自制CA证书,自制客户端,服务端证书、mqtt配置使用ssl加密通信。按照这两篇文章操作之后接下来就可以编写java代码来使用ssl方式连接mqtt了。 作者是maven项目,所以添加一下依赖: <dependency> <groupId>com.alibaba...
mqtt paho ssl java端代码【转】
来自:http://blog.csdn.net/lingshi210/article/details/52439050 mqtt 的ssl配置可以参阅  http://houjixin.blog.163.com/blog/static/35628410201432205042955/ 然后注意开启防火墙端口。 mqtt的命令和Java端的ssl 必须同时要带上ca.crt、clil
ActiveMQ SSL应用之三 ActiveMQ开启SSL连接器配置
AcitveMQ通过修改配置文件,开启SSL连接器
mqtt+ssl服务搭建以及ws+wss支持
前几天朋友让我帮忙部署一个mqtt服务器,要支持ssl加密的。初步了解了下mqtt协议是啥,然后选择了mosquitto搭建mqtt服务器。mqtt协议我就不多介绍了,百度谷歌一下一大堆资料。mosquitto说白了就是mqtt协议的一个服务端实现。 废话不多说,下面直接上我搭建的过程: 一、 安装mosquitto 支持mqtt+ws 操作系统:linux。本人用的是centos7。...
Android MQTT推送之SSL相关问题解决
公司推送选择的是MQTT,之前没有了解过,所以踩了不少坑,这里记录一下,希望能帮助到别人。 前言 现在大部分公司用的都是单向认证,对于Https不了解的话,请看这里,废话不多说,上干货。 第一步 重命名 你们公司使用SSL,都会在服务端配置一个文件 比如:cacert.pem 你直接将cacert.pem重命名为cacert.crt,然后读取即可 第二步 如何读取? ...
基于MQTT协议的SSL/TLS加密传输的讨论
                        本文就MQTT到底单向加密还是双向加密做一个简单的讨论。    到底是单项加密还是双向加密?我们要从不同的角度去分析这件事情。但是在分析之前,我们还是有必要回顾一下基础知识。 SSL/TLS单向认证:客户端会认证服务器端身份,服务器端不对客户端进行认证 SSL/TLS双向认证:客户端和服务端都会互相认证,即双发之间要证书交换 不难看出,从复杂性角度上...
esp8266与mosquitto的mqtt的ssl通讯实现(三)-mosquitto配置
先把源代码贴出来,供大家参考,有问题请留言,后续有时间再整理。 mosquitto 配置文件: mosquitto.conf autosave_interval 1800 persistence true persistence_file mosquitto.db persistence_location /tmp/ connection_messages true log_
esp8266与mosquitto的mqtt的ssl通讯实现(一)
将esp8266与mosquitto进行mqtt的ssl加密通讯过程之艰辛,资料程序都没有完整的,问题也很多,好在有CSDN,GitHub,Google等等,大家技术分享和技术问答,所以打算将过程写出来,中间很多问题解决了中间过程没有记下来,以后会经常写博客贴出来,一些源代码也会放到Github上大家参考。 具有参考价值代码,博客也会贴出来,一点点更新吧。 目前基本实现了 设备端-服务器-客户
springboot mqtt 双向认证代码实现
核心代码: @Bean  public MqttConnectOptions getMqttConnectOptions() {   MqttConnectOptions options = new MqttConnectOptions();      Properties sslClientProps = new Properties();   sslClientProps.setProper...
JS实现websocket+mqtt+ssl通信客户端实现
订阅推送就不写了,主要是ssl加密下建立链接,我上网找了好多都没有,最后一个国外网站找到的,忘了网址了。 bmqtt.js用的这个js var KEY = "xxxxx.key"; //加密文件,保证能被访问 var CERT = "xxxx.crt"; var TRUSTED_CA_LIST = "xxxx.crt"; var options
在MQTT中使用SSL/TLS提高安全性
在MQTT中使用SSL/TLS提高安全性当我开始使用MQTT时, 发现比较容易找到使用SSL/TLS验证去加密与代理之间的数据的相关资料。OwnTracks项目甚至提供了一个设置CA及签名的一个脚本, 不过证书是给代理服务器而不是客户端用的。在按照其说明去使用SSL验证MQTT客户端身份时我遇到了一些问题, 这皮按文章主要是想弥补一下原有文档的一些不足。术语说明:TLS(传输层安全)是SSL的新名称
openssl生成证书,阿里云EMQ服务器与本地mqtt.fx客户端测试
openssl生成证书,阿里云EMQ服务器与本地mqtt.fx客户端(代替esp8266)测试 出于学习8266和项目的需要,然后感觉百度上这方面的资料不多而且有点,就结合了已有的资料,做了一份比较综合的总结吧算是。如有错误望大家指出,博主虚心请教。 已有阿里云服务器ECS;本地下载mqtt.fx mqtt.fx的话,可以直接在这里下载:http://mqttfx.bceapp.com ...
基于mosquitto的MQTT服务器---SSL/TLS 单向认证+双向认证
本文为参考网上其他博文搭建出服务器后的步骤记录,如有冒犯,请私信!!! 目录... 3 第 1 章 安装Mosquitto. 4 1.1 方法一:手动编译安装... 4 1.2方法二:在Ubuntu下使用apt-get安装... 5 第 2 章 配置单/双向认证... 7 2.1 生成证书... 7 2.2 CA校验证书测试... 9 2.3 配置单/双向认证... 10 2...
mqtt配置使用ssl加密通信
作者使用的是docker版elipse-mosquitto(mqtt),没有使用docker版的mqtt配置与本文相同,进入正题: **请确保你的ca证书所在目录与作者相同!!!!**作者证书制作及所在目录请看自制CA证书,自制客户端,服务端证书 1.准备一个mqtt配置文件mosquitto.conf # Config file for mosquitto # # See mosquitto.c...
android mosquitto客户端使用SSL功能的具体操作总结(android mqtt ssl 加密)
在开发Java版mosquitto客户端程序时需要使用paho库,如果开发的java客户端要用ssl功能,则需要Bouncy Castle库;在使用ssl功能时,需要证书文件进行进行身份认证,但在测试过程中,只自己制作ca并进行证书签发即可。在测试过程中首先创建一个统一的ca,该ca包括一个crt文件,一个key文件(例如ca.crt、ca.key);测试过程中,要使用该ca为每个测试的机子签
[11]MQTT mosquitto 双向SSL认证配置方式
我们知道,MQTT mosquitto支持单项和双向的SSL认证,在上一节中,我们已经给大家分享了单向的SSL如何配置,在这一节中咱们来看一下双向的SSL认证的配置文件应该如何配置? 那么什么是双向的SSL认证呢?所谓的双向的SSL认证,打个通俗的比方就是,在进行SSL加密通信前,通信的双方(在咱们的例子中是mosquitto服务器端和MQTT客户端(消息的发送或者接收端))需要相互验证各自的证书是否合法。比如,是否是一个合法的CA颁发的等等。
nginx配置支持wss,https网页连接mqtt
之前在前端网页上写一个小网站,用于开发时在线订阅、发送mqtt数据包。 当部署在线上服务器时,因为域名网页有加载Https证书,所以连接mqtt时只能选用wss方式,却没有成功连接上mqtt。而mqtt的ws连接方式是可以的。 一、服务端配置 1.mqtt的配置文件 先来看线上服务器中mqtt配置文件 port 1883 listener 61613 protocol websockets 配...
M2Mqtt类库中SSL连接建立方式
在使用mqtt建立的连接过程中有使用ssl和非ssl两种模式。在使用ssl的时候得指定tls的版本和回调验证,方法如下:  MqttClient client = new MqttClient(mqttServerIp, mqttServerSslPort, true, null, null, MqttSslProtocols.TLSv1_2, base.CheckVa...
android MQTT 带SSL加密连接例子demo
android MQTT 带SSL加密连接例子demo 安卓使用BKS加密文件进行SSL加密MQTT连接
mqtt雙向ssl認證
mqtt雙向認證const mosca = require('mosca'); const tls = require('tls'); var CAFILE = './ca.crt'; var SECURE_KEY = './server.key.insecure'; var SECURE_CERT = './server.crt'; var sslsetting = { port: ...
Java 连接 MQTT 服务器
可用方案 方案 描述 GitHub链接 mqtt-client 由 Red Hat 子公司 FuseSource 开发 mqtt-client paho.mqtt 由独立的非营利性公司 Eclipse Foundation 开发 eclipse / paho.mqtt.java ...
ESP8266 MQTT SSL/TLS 阿里物联网套件 百度天工 Onenet等MQTT服务器
ESP8266 MQTT SSL/TLS 支持连接阿里物联网套件,百度天工,Onenet等MQTT服务器,支持SSL通信
esp8266与mosquitto的mqtt的ssl通讯实现(二)-证书生成
好久没更新了,有网友催着后续博客,最近比较忙,先把记得的部分,和一些代码贴出来,供大家参考,若有问题请大家留言, 后面自己再重新弄一遍,再修改整理。 esp8266上证书以*.h格式编译写到flash中,而服务器端格式为*.crt格式, 采用脚本一次生成,代码如下, makefile.sh # # Generate the certificates and
MQTT带加密例子
android MQTT 带SSL加密连接例子demo,该demo是从实际项目中抽取出来的
[12]MQTT mosquitto 单向SSL认证的配置方式
我们知道,MQTT mosquitto支持单向和双向的SSL认证,首先咱们来看一下单项认证的配置文件应该如何配置。所谓的单向SSL证书,指的是,MQTT的客户端访问MQTT的服务器端的时候,如果用到了SSL加密通信,在建立SSL加密通信前,客户端需要通过证书来验证服务端是否是可信任的,所以客户端会把服务器端传过来的证书和自身的已经的在某种途径下得到的服务器端CA证书或者服务器证书进行比较,如果匹配成功,则运行建立可信任的安全的SSL连接。
十、ESP826LUA开发之MQTT建立客户端连接服务器,实现远程控制继电器
init.lua --[[ GPIO0--3 GPIO1--10 GPIO2--4 GPIO3--9 GPIO4--2 GPIO5--1 GPIO9--11 GPIO10--12 GPIO12--6 GPIO13--7 GPIO14--5 GPIO15--8 GPIO16--0 0--GPIO16 1--GPIO5 2--GPIO4 3--GPIO0 4--GPIO2 5--GP...
MQTTDemo(Java)
This is a demo of MQTT protocal.
如何使用C实现MQTT+TLS客户端程序(1)--使用mosquitto搭建MQTT服务器
前言 简单介绍MQTT 简单介绍TLS 搭建MQTT服务器 1.配置用户名密码 这里需要配置三个字段 生成用户名密码 生成acl_file文件 2.使用openssl 生成服务器证书和客户端证书 安装openssl 创建CA证书 生成服务器证书 生成客户端证书 完成mosquitto.conf文件 运行mosquitto服务器 前言 这是一个使用C语言实现的MQ...
SSL-TLS 双向认证(二) -- 基于mosquittto的MQTT双向认证
你将看到在Ubuntu中, 我们选用 mosquitto 作为 MQTT broker,介绍了 MQTT 协议相关的原理性知识和工作流,以及按步骤来描述如何搭建一个基于 SSL/TLS 的 MQTT broker,同时演示了订阅端和发布端该如何操作,并附上一个实例来展示结果。最后我们附上源码,给读者参考使用。
mqtt之jmeter压力测试
引自:https://www.cnblogs.com/saryli/p/6928051.html 今天我们介绍XMeter团队带来的新版MQTT-JMeter插件,您可以更为方便地添加MQTT连接、发布、订阅取样器,构造组合的应用场景,例如背景连接、多发少收、少发多收,计算消息转发时延等。利用该插件,我们为EMQ成功实施了包括百万级并发连接在内的一系列测试场景,这里有详细的测试报告。 该插件发...
Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。 2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。 3、 Esp8266之 利用 “软件定时器 ” 定时0.5秒闪烁点亮一盏LED。 4 、Esp8266之 了解P
mosquitto 单向SSL 协议内容抓包简单分析
这篇文章主要介绍mosquitto SSL加密前后包内容的区别,首先,不加密,观察包内容 1. 未加密前 通过client 向borker 发送 的topic 为test, 内容为tomcat 2. 加密后 第6帧 是 borker 向 client 发送证书 第15帧是client 向borker 发送内容,可以看到消息已经被加密
STM32F4x7+freertos+lwip+ssl+MQTT-(MDK5)稳定可靠
这是公司实际项目工程(编译器用DK5),STM32F4x7+freertos+lwip+ssl+MQTT,其中MQTT自己花了一个礼拜移植,可以同时发布消息和订阅消息(发布主题:DongLuTest,订阅主题:mymqttsubtest),经过长期测试MQTT运行稳定。此外还移植了pollarSSL(TSL,AES,DES,RAS等等算法都经过项目测试,没有问题),另外LWIP网络部分也运行稳定,支持随时插拔网线,最后公司所有运行信息可用printf从串口1输出(测试MQTT就可以打开串口,收到的订阅消息在串口打印出来)。公司产品用的是STM32F407,LAN芯片为8720A,cpu外接8M晶振,所有下载到你的开发板上时候注意修改晶振。
java版mosquitto客户端使用SSL功能的具体操作总结
在开发java版mosquitto客户端程序时需要使用paho库,如果开发的java客户端要用ssl功能,则需要Bouncy Castle库;在使用ssl功能时,需要证书文件进行进行身份认证,但在测试过程中,只自己制作ca并进行证书签发即可。 在测试过程中首先创建一个统一的ca,该ca包括一个crt文件,一个key文件(例如ca.crt、ca.key);测试过程中,要使用该ca为每个测试的机
使用TCP转MQTT协议连接onenet平台
走tcp协议连接MQTT可以解决模块不支持MQTT协议的问题。 首先我们得在onenet平台上创建设备。 具体如何创建,请看onenet平台的手册教程。 创建设备后,我们把产品ID、设备ID和鉴权信息,记录下来。 第二步 我们要知道服务器的ip地址和端口号 Onenet平台的mqtt的服务器IP是:183.230.40.39 端口是:6002 第三步 使用tcp工具选择TCP Client 然后输...
MQTT环境搭建与测试
mosquitto
Mosquito使用SSL/TLS进行安全通信时的使用方法
1、 SSL简介 SSL(SecureSocket Layer)安全套接层,是网景公司提出的用于保证Server与client之间安全通信的一种协议,该协议位于TCP/IP协议与各应用层协议之间,即SSL独立于各应用层协议,因此各应用层协议可以透明地调用SSL来保证自身传输的安全性,SSL与TCP/IP协议及其其他应用层协议之间的关系如图1所示。  图1 SSL/TLS协议与应用层
阿里云 物联网套件 MQTT Swift 搭建-基于Tcp连接-域名连接模式
阿里云 物联网套件 MQTT Swift 搭建-基于Tcp连接-域名连接模式
如何使用C实现MQTT+TLS客户端程序(2)--实现MQTT Client
mosquitto_pub&mosquitto_sub MQTT服务器 订阅 发布 使用C语言实现MQTT Client 代码分析 初始化操作 加载证书 建立TCP连接 TLS握手 MQTT连接 github link mosquitto_pub&mosquitto_sub 在实现MQTT client之前,我们可以先使用mosquitto_pub和...
Apollo单向SSL认证(1)
参考链接:https://www.cnblogs.com/benwu/articles/4891758.html keytool -genkey -alias mybroker -keyalg RSA -keyStore mybroker.kskeytool -export -alias mybroker -keyStore mybroker.ks -file mybroker.certkeyto...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java mqtt学习 java学习mqtt

相似问题

2
请问在java单例设计模式中,为什么要private static对象的时候不直接new出来?
2
java怎么判断python脚本命令是否符合语法规则?
1
java怎么判断shell命令是否符合语法规则?
2
idea运行的时候报错 error:java:无效的标记: D:\xxx\lib, 但是这个路径没有lib文件夹
4
怎样用Java描述数据库中出现的:当出现某种情况的时候就把这一条没用的数据删掉
1
java运行jar包, 两种方式项目都可以运行成功,但是访问项目时,java -jar 会报异常
1
Java微信公众号开发,菜单跳转问题
7
java中实现发送邮件 session.getTransport() 为什么是null?
4
java中实现发送邮件 session.getTransport() 为什么是null?
2
JAVA使用继承和多态解决公司支出的总薪水问题
1
JAVA JTable 自定义CellEditor中定义了键盘事件,输入时确不响应键盘事件?
1
急求一个java能够实现杨辉三角的代码,萌新求大佬帮助。
1
idea 创建多个线程并通过mybatis 去批量插入数据库,一直报回滚错误,错误如下
1
怎么用java的ftp来获取某个文件夹下的部分文件?
1
麻烦哪位大神用Java模拟一个进销存系统,提供一下思路呗,没一点思路?
0
ie浏览器运行java中的打印预览出错?
1
java实现将数据等分存储到不同的服务器
6
Java异常题目求助大佬们帮忙一下
4
关于java与javaScript加载顺序的问题和及一些概念的疑问
4
java POI读取EXCEL时 报错误的单元格 有人见过吗?怎么解决?