У меня есть openldap с ppolicy на SSHA-512. Когда клиент отправляет пароль в виде открытого текста, он будет сохранен как SSHA-512, нормально.
Моя проблема возникает, когда уже отправляется хешированный пароль, например, SHA, SSHA или даже SSHA-512, хешированное значение снова хешируется на SSHA-512.
Я настроил свою ppolicy с помощью: olcPPolicyHashCleartext: TRUE
Разве openldap ppolicy не должен различать указанные выше случаи и запускать только при отправке открытого текста?
Короче говоря, пока вы используете PasswordModifyExtendedRequest для обновления пароля с помощью: настроенного ppolicy и olcPPolicyHashCleartext: ИСТИНА отправленное значение пароля, хешированное или нет, всегда будет снова хешироваться в соответствии с ppolicy.
Чтобы сохранить пароль без запуска ppolicy, просто избегайте использования PasswordModifyExtendedRequest и вместо этого используйте только операции изменения / добавления по умолчанию, я лично использовал операции из библиотеки unboundid.
Таким образом, вы можете иметь ваш ppolicy настроен и решить, если вы хотите, чтобы вызвать его, и пусть OpenLDAP хэша пароля или хеш пароль по своему усмотрению, а затем отправить его на OpenLDAP (не будучи упорно повторно хэшированным!).