服务器工具:
EMQX:(版本:4.2.8/4.3.0)
客户端工具:
MQTTX(版本:5.0)
注意事项:
1.在生成ca.crt、服务端证书请求emqx.csr,客户端证书请求client.csr过程中有出现输入配置时,COMMON NAME一定要填,而且是互不相同:例如ca.crt->common name: sunada.com;emqx.csr->common name: emqx.sunada.com; client.csr->common name: emqx-client.sunada.com.其他的可以默认,直接按回车键
自生成证书工具openssl(ubuntu/windos base):
一:生成自签名的CA key和证书(mqtt服务端和mqtt客户端公用一个CA)
(备注:自签名证书在ubuntu/windows 用任意系统上的openssl生成均可,建议在ubuntu上,理由是快捷方便,反正最终签发客户端/服务端证书都要用同一个自签名证书)
1.生成自签名证书的私钥:
openssl genrsa -out ca.key 2048
2.用该私钥生成根证书:
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt(ca.pem,后面crt都可以定义为pem)
3.用此根证书是用来给其他实体(指EMQX/不同的client)签发实体证书的。
解释根证书:
1).根证书是整个信任链的起点
2).有了这个根证书,我们就可以用它来给其他实体签发实体证书了
3).可以有多级根证书,且如果一个证书的每一级签发者向上一直到根证书都是可信的,那个我们 就可以认为这个证书也是可信的
二:生成EMQX(一个mqtt服务端的