emqx开启ssl前需要一些准给工作,其他需要自签名证书也可参考。
生成ca证书
1 2 3 4 5 6 7 8 9
| openssl req \ -new \ -newkey rsa:2048 \ -days 36500 \ -nodes \ -x509 \ -subj "/C=CN/O=EMQ Technologies Co., Ltd/CN=EMQ CA" \ -keyout ca.key \ -out ca.pem
|
生成服务端证书
1 2
| # 生成server.key openssl genrsa -out emqx.key 2048
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # 手动创建openssl.cnf配置文件,目的是设置ip和域名 # 参考默认路径/etc/pki/tls/openssl.cnf
[req] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = req_ext x509_extensions = v3_req prompt = no [req_distinguished_name] countryName = CN stateOrProvinceName = Jiangsu localityName = Suzhou organizationName = EMQX commonName = CA [req_ext] subjectAltName = @alt_names [v3_req] subjectAltName = @alt_names [alt_names] IP.1 = 192.168.1.1 DNS.1 = *.hylove.site
openssl req -new -key ./emqx.key -config openssl.cnf -out emqx.csr
|
1 2 3
| # 生成服务端证书 openssl x509 -req -in ./emqx.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out emqx.pem -days 36500 -sha256 -extensions v3_req -extfile openssl.cnf
|
客户端证书
1 2 3 4 5 6
| # 生成key文件 openssl genrsa -out client.key 2048 # 生成csr配置文件 openssl req -new -key client.key -out client.csr -subj "/C=CN/ST=Jiangsu/L=Suzhou/O=EMQX/CN=client" # 生成pem证书 openssl x509 -req -days 36500 -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem
|
参考
https://blog.csdn.net/ywt092/article/details/134496250