Есть ли способ перенести существующую базу данных пользователей матричного синапса на OpenLDAP?

Я ищу способ перенести огромную базу данных домашнего сервера Synapse на OpenLDAP без сброса паролей пользователей. Переход на LDAP необходим, поскольку мы хотели бы интегрировать все наши онлайн-сервисы друг в друга

Поэтому я ищу способ заставить OpenLDAP понимать хэши паролей Synapse.

Алгоритм хеширования Synapses объясняется здесь :

pw = unicodedata.normalize("NFKC", password)

hashed = bcrypt.hashpw(
    pw.encode('utf8') + password_pepper.encode("utf8"),
    bcrypt.gensalt(bcrypt_rounds),
).decode('ascii')

Можно ли реализовать такое хеширование на OpenLDAP или любом другом сервере LDAP с открытым исходным кодом?

0
задан 13 February 2021 в 17:26
1 ответ

Если bcrypt является действительным алгоритмом для базовой системы, он должен работать как часть схемы хранения паролей CRYPT OpenLDAP.

Если, например, ваши существующие хэши паролей выглядят как $2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy вы должны быть в состоянии установить userPassword атрибута OpenLDAP на {CRYPT}$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy и затем аутентифицироваться.
(Если вы делаете это в командной строке, убедитесь, что $text не интерпретируется как переменная оболочки перед вводом в базу данных)

1
ответ дан 24 April 2021 в 01:41

Теги

Похожие вопросы