我正在使用CentOS 7.我在pwquality.conf
中设置了某些密码质量要求(与libpwquality
包相关)。除了将这些复杂性约束应用于用户登录之外,我还希望将它们应用于密码密钥的主密码,例如,通过seahorse
和gnome-keyring-daemon
,以便用户无法使用弱密码来保护其密钥环。我并不关心里面的密码密钥环,只关心密钥环本身的密码。
我已经弄清楚如何调用libpwquality
API,特别是pwquality_check
是我想要的功能。但是,我在代码中以纯文本检索密码时遇到困难,以便将其传递给pwquality_check
。例如,在gkd-secret-create.c
line 211附近的代码中,如果我尝试捕获应由gcr_prompt_password_finish
返回的密码,我只会获得NULL
。
gchar *password;
password = gcr_prompt_password_finish (GCR_PROMPT (source), result, &error);
// password is NULL
我已经完成了我在调试器中找到的所有代码并且空出来了:密码好像被模糊了非常,或者已经散列并且已经被丢弃了。如何从此提示中获取密码并将其发送至libpwquality
?或者是否有更好的方法在GNOME的密码管理器/密钥环上强制实施密码复杂性?