Mosquitto MQTT 和 OpenSSL
Mosquitto MQTT and OpenSSL
我一直在使用 OpenSSL 和 mosquitto MQTT,我有一个问题。
到目前为止我只有一个客户。但是我如何才能将多个具有不同证书的客户端同时连接到同一个 MQTT 代理?
如果吊销其中一位客户的证书,它是如何工作的?
是否需要重启代理?
有人举个例子吗?
我使用 SSL/TLS 进行安全连接,为此我使用以下文件:
ca.key
ca.crt
server:
ca.crt
server.key
server.crt
client:
ca.crt
client.key
client.key
配置文件是这样的:
#Extra Listeners
listener 8883
cafile /Users/Documents/certs/ca.crt
keyfile /Users/Documents/certs/server.key
certfile /Users/Documents/certs/server.crt
#client certifcate settings
require_certificate true
use_identity_as_username true
谢谢!
对于第一个问题,要有多个客户端,您只需要确保每个客户端都有自己的证书和唯一的主题值。
您通过让证书颁发机构生成新的证书吊销列表文件来吊销证书,然后使用配置文件中的 crlfile
选项将 mosquitto 指向该文件。
例如
#Extra Listeners
listener 8883
cafile /Users/Documents/certs/ca.crt
keyfile /Users/Documents/certs/server.key
certfile /Users/Documents/certs/server.crt
crlfile /Users/Documents/certs/revoked.crl
#client certifcate settings
require_certificate true
use_identity_as_username true
手册页部分:
crlfile file_path
If you have require_certificate set to true, you can create a certificate revocation list file to revoke access to particular client
certificates. If you have done this, use crlfile to point to the PEM
encoded revocation file.
由于手册页没有提到 crlfile 将根据信号重新加载,这意味着您每次撤销证书时都需要重新启动 mosquitto。
我一直在使用 OpenSSL 和 mosquitto MQTT,我有一个问题。
到目前为止我只有一个客户。但是我如何才能将多个具有不同证书的客户端同时连接到同一个 MQTT 代理?
如果吊销其中一位客户的证书,它是如何工作的?
是否需要重启代理?
有人举个例子吗?
我使用 SSL/TLS 进行安全连接,为此我使用以下文件:
ca.key
ca.crt
server:
ca.crt
server.key
server.crt
client:
ca.crt
client.key
client.key
配置文件是这样的:
#Extra Listeners
listener 8883
cafile /Users/Documents/certs/ca.crt
keyfile /Users/Documents/certs/server.key
certfile /Users/Documents/certs/server.crt
#client certifcate settings
require_certificate true
use_identity_as_username true
谢谢!
对于第一个问题,要有多个客户端,您只需要确保每个客户端都有自己的证书和唯一的主题值。
您通过让证书颁发机构生成新的证书吊销列表文件来吊销证书,然后使用配置文件中的 crlfile
选项将 mosquitto 指向该文件。
例如
#Extra Listeners
listener 8883
cafile /Users/Documents/certs/ca.crt
keyfile /Users/Documents/certs/server.key
certfile /Users/Documents/certs/server.crt
crlfile /Users/Documents/certs/revoked.crl
#client certifcate settings
require_certificate true
use_identity_as_username true
手册页部分:
crlfile file_path
If you have require_certificate set to true, you can create a certificate revocation list file to revoke access to particular client certificates. If you have done this, use crlfile to point to the PEM encoded revocation file.
由于手册页没有提到 crlfile 将根据信号重新加载,这意味着您每次撤销证书时都需要重新启动 mosquitto。