我在 SSHA-512 上有一个带有 ppolicy 的 openldap。当客户端发送明文密码时,密码将存储为 SSHA-512,很好。
我的问题出现了,一旦发送已经散列的密码,例如 SHA、SSHA 甚至 SSHA-512,散列值在 SSHA-512 上再次散列。
我已将我的 ppolicy 配置为: olcPPolicyHashCleartext: TRUE
openldap ppolicy 不应该区分上述情况并仅在发送明文时触发吗?
我在 SSHA-512 上有一个带有 ppolicy 的 openldap。当客户端发送明文密码时,密码将存储为 SSHA-512,很好。
我的问题出现了,一旦发送已经散列的密码,例如 SHA、SSHA 甚至 SSHA-512,散列值在 SSHA-512 上再次散列。
我已将我的 ppolicy 配置为: olcPPolicyHashCleartext: TRUE
openldap ppolicy 不应该区分上述情况并仅在发送明文时触发吗?
长话短说,只要您使用PasswordModifyExtendedRequest更新密码: ppolicy 已配置并且olcPPolicyHashCleartext: TRUE 发送的密码值,无论是否散列,将始终根据 ppolicy 再次散列。
要在不触发 ppolicy 的情况下存储密码,只需避免使用PasswordModifyExtendedRequest而是仅使用默认的修改/添加操作,我个人使用 unboundid 库中的操作。
这样,您可以配置您的 ppolicy 并决定是否要触发它并让 openldap 对您的密码进行哈希处理,或者您自己对密码进行哈希处理,然后将其发送到 openldap(不会被顽固地重新哈希处理!)。