使用moquette搭建mqtt服务

moquette安装

第一步访问项目主页:https://github.com/andsel/moquette

第二步,在主页找到下载地址:https://bintray.com/artifact/download/andsel/generic/distribution-0.10-bundle-tar.tar.gz

第三步,解压运行(当然你需要安装好java环境)

tar zxf distribution-0.10-bundle-tar.tar.gz  
cd bin  
./moquette.sh

为moquette自签证书

下面的命令需要连续输入两次密码(密码随意起就好)

openssl genrsa -des3 -out xxx.key 2048

下面的命令需要输入刚才的密码

openssl rsa -in xxx.key -out ssl.key

下面的命令需要提供一堆信息,其实只要输入Common Name(域名信息)和A challenge password(刚才的密码)即可,别的可以直接按回车

openssl req -new -key ssl.key -out ssl.csr

下面的两条命令直接执行即可

openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt

cat ssl.key ssl.crt > ssl.pem  

但是由于moquette使用的证书是jks格式,所以需要转换,只需要执行下面的命令:

openssl pkcs12 -export -in ssl.crt -inkey ssl.key -out server.p12

keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -destkeystore ServerCert.jks  

由于特别原因,客户端证书需要转成der,所以执行下面的命令:

openssl x509 -outform der -in ssl.crt -out ssl.der  

der转回crt

openssl x509 -in ssl.der -inform DER -out out2.pem -outform PEM  

配置使用ssl证书

在配置文件写入:

ssl_port 8883  
jks_path .../ServerCert.jks  
key_store_password 生成jks的密码  
key_manager_password 生成jks的密码  

然后启动服务即可

如果你按这个教程没有配置成功,可以通过下面的链接找我:点击咨询