我有一个 openldap,其策略为 SSHA-512。当从客户端发送明文密码时,密码将存储为 SSHA-512,很好。
我的问题出现了,一旦已经散列的密码被发送,例如 SHA,SSHA 甚至 SSHA-512,散列值就会在 SSHA-512 上再次散列。
我已将我的 ppolicy 配置为:olcPPolicyHashCleartext:TRUE
OpenLDAP Policy 不是应该区分上述情况并仅在发送明文时触发吗?
答案1
长话短说,只要你使用密码修改扩展请求用于更新密码:配置了 ppolicy 并且olcPPolicyHashCleartext:真实 发送的密码值(无论是否经过散列)将始终根据策略再次进行散列。
要存储密码而不触发策略,只需避免使用密码修改扩展请求相反,仅使用默认的修改/添加操作,我个人使用了 unboundid 库中的操作。
这样,您可以配置您的 ppolicy 并决定是否要触发它并让 openldap 对您的密码进行散列,或者自行对密码进行散列,然后将其发送给 openldap(无需固执地重新散列!)。