J'ai travaillé avec OpenSSL et mosquitto MQTT et j'ai une question.

Pour l'instant je n'ai qu'un seul client. Mais comment connecter plusieurs clients simultanément avec des certificats différents au même broker MQTT ?

Et comment ça marche en cas de révocation du certificat d'un des clients ?

Est-il nécessaire de redémarrer le broker ?

Quelqu'un a-t-il un exemple?

J'utilise SSL/TLS pour une connexion sécurisée et pour cela j'utilise les fichiers suivants :

ca.key
ca.crt

server:
ca.crt
server.key
server.crt

client:
ca.crt
client.key
client.key

Et le fichier de configuration est comme ceci :

#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

Je vous remercie!

0
fbzyx 5 nov. 2020 à 00:27

1 réponse

Meilleure réponse

Pour la première question, pour avoir plusieurs clients, il vous suffit de vous assurer que chaque client a son propre certificat avec une valeur de sujet unique.

Vous révoquez un certificat en demandant à l'autorité de certification de générer un nouveau fichier de liste de révocation de certificats et vous pointez mosquitto sur ce fichier à l'aide de l'option crlfile dans le fichier de configuration. par exemple.

#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

Section page de manuel :

fichier crl file_path

Si require_certificate est défini sur true, vous pouvez créer un fichier de liste de révocation de certificats pour révoquer l'accès à des certificats clients particuliers. Si vous l'avez fait, utilisez crlfile pour pointer vers le fichier de révocation codé PEM.

Étant donné que la page de manuel ne mentionne pas que le fichier crl sera rechargé sur un signal, cela implique que vous devrez redémarrer mosquitto chaque fois que vous révoquez un certificat.

1
hardillb 5 nov. 2020 à 10:39