openldap是否支持pbkdf2哈希algorithm?

由于pbkdf2(基于密码的密钥推导函数2)是一个更安全的哈希函数,所以我不知道当前的openldap实现是否支持pbkdf2(例如pbkdf2_sha256)?

我已经find了一些有关谷歌关于pbkdf2在openldap支持的信息,但我不确定它适用于哪个openldap版本,或者我不这样做是正确的方式:

  • (ITS#7742)新增function:用于OpenLDAP的PBKDF2模块
  • 用于OpenLDAP的PBKDF2

我在Ubuntu 12.04上构build了一个版本为2.4.28的openldap服务器,并使用python lib生成一个PBKDF2-SHA256哈希密码。 然后我把这个PBKDF2-SHA256密码放到一个新的ldap用户的userPassword字段中,如下所示:

userPassword: '{PBKDF2-SHA256}10000$LBwTpUPGqxdH$8pDqhAruY94IhhuCZLost471pGImy//wH0pS25LO/YI=' 

这没有奏效。 在ldap日志中没有报告错误,但仍然无法使用原始的纯文本密码login。

如果有人能给我一些意见或方向,我将不胜感激!

目前,OpenLDAP PBKDF2模块仅支持PBKDF2-SHA1。 模式名称是{PBKDF2}。 可能它与Python Passlib有兼容性。 我有PBKDF2-SHA256和PBKDF2-SHA512的路线图。 但尚未实施。

编辑:现在支持PBKDF2-SHA256和PBKDF2-SHA512。 https://github.com/hamano/openldap-pbkdf2

只是为了确保,请检查以下内容:

  • 你是否在你的slapd.conf包含了指令moduleload pw-pbkdf2.sopassword-hash {PBKDF2}

  • 根据你的日志文件模块加载正确吗?

  • 你可以通过inputslappasswd生成pbkdf2哈希密码

  • 在日志文件中是否有任何有关Faildauthentication尝试的条目?