Как программно создать имя пользователя и пароль в mqtt mosquitto на С#

Я новичок в mqtt mosquitto. Я хочу программно создать пользователя в mosquitto на С#, чтобы при создании темы только назначенные пользователи могли подписаться на эту тему.

  • могу ли я создать x509certificate , чтобы мое устройство установило этот сертификат, и я мог аутентифицироваться во время сообщения о подписке. Если можно то как.
  • если x509certificate не поддерживается mqtt mosquitto, то как будет работать аутентификация (только путем создания пользователя или есть какой-то другой механизм).
  • когда я использую это:

    _client = MqttClientFactory.CreateClient(address, obj.ClientID,"username","password");
    

    затем возникает ошибка подключения к брокеру.

  • с одной темы сколько пользователей можно создать.


person Abhinav Sharma    schedule 24.07.2015    source источник


Ответы (2)


Да, Mosquitto поддерживает сертификаты X.506, и вы можете использовать их в качестве метода аутентификации. В конфигурационном файле есть опция

use_identity_as_username true

Подробную информацию о том, как его использовать, см. в документации по конфигурационному файлу. Здесь: http://mosquitto.org/man/mosquitto-conf-5.html

person Luis Obando    schedule 25.07.2015

<сильный>1. Аутентификация пользователей с помощью Mosquitto Согласно справочной странице mosquitto MQTT обеспечивает аутентификацию имени пользователя/пароля как часть протокола. Используйте параметр password_file для определения действительных имен пользователей и паролей. Обязательно используйте сетевое шифрование, если вы используете эту опцию, иначе имя пользователя и пароль будут уязвимы для перехвата.

Также проверьте этот вопрос SO, который дает больше понимания а>

<сильный>2. Использование сертификатов X.506 Как уже упоминал Луис Обандо, вы можете использовать сертификаты x.506.

<сильный>3. Обработка ACL Возможно, вам потребуется отдельная программа для управления плагином в mosquitto -auth-plug

person Siva Karthikeyan    schedule 13.08.2015