0

我正在使用 CentOS 7。我在pwquality.conf(与libpwquality软件包相关)中设置了某些密码质量要求。除了将这些复杂性约束应用于用户登录之外,我还希望将它们应用于密码密钥环的主密码,例如通过seahorse和访问gnome-keyring-daemon,这样用户就不能使用弱密码来保护他们的密钥环。我不关心钥匙圈内的密码,只关心钥匙圈本身的密码。

我已经弄清楚如何调用libpwqualityAPI,尤其pwquality_check是我想要的功能。但是,我很难在代码中以明文形式检索密码,以便将其传递给pwquality_check. 例如,在第gkd-secret-create.c211 行附近的代码中,如果我尝试捕获应该由 . 返回的密码gcr_prompt_password_finish,我只会得到一个NULL.

gchar *password;

password = gcr_prompt_password_finish (GCR_PROMPT (source), result, &error);

// password is NULL

我已经遍历了在调试器中可以找到的所有代码,但现在都是空的:密码似乎被很好地掩盖了或者此时已经散列并丢弃了。如何从此提示中获取密码并将其发送到libpwquality?或者有没有更好的方法在 GNOME 的密码管理器/密钥环上强制执行密码复杂性?

4

0 回答 0