我的系统是 Ubuntu 14.04。我知道系统上的所有密码。
我只想编写一个 C 程序,并分析 gnome 密钥环文件/.local/share/keyrings/
以获取 wifi 密码。我在GnomeKeyring格式,但我读完之后却感到很困惑。
我可以GnomeKeyring\n\r\0\n
在文件头中找到,但找不到“2 字节版本,1 字节加密,1 字节哈希”,
我只找到了一些零。此外,“KeyringFormats”说“零填充使之成为 16 的偶数倍”,但我的“login.keyring”的大小是 661 字节。
我发现了一些信息安全常见问题上面写着“SHA-256 用于散列,AES-128 用于加密秘密。”,但这太简单了。
对我来说使用 AES-128 或 SHA256 没有问题。
可以nm-connection-editor
显示 wifi 密码。我只想写一个类似的 C 程序。(没有 GUI)
有人能给我一些关于“KeyringFormats”的建议或详细信息吗?
答案1
尝试一下man -k keyring
。它将向您展示部分内容:
gnome-keyring-daemon (1) - keep password and other secrets for users
keyctl_clear (3) - Clear a keyring
keyctl_get_keyring_ID (3) - Get the ID of a special keyring
keyctl_join_session_keyring (3) - Join a different session keyring
keyctl_link (3) - Link a key to a keyring keyctl_unlink - Unlink a key from a keyring
keyctl_search (3) - Search a keyring for a key
keyctl_session_to_parent (3) - Set the parent process's session keyring
keyctl_set_reqkey_keyring (3) - Set the implicit destination keyring
keyctl_unlink (3) - Link a key to a keyring keyctl_unlink - Unlink a key from a keyring
recursive_key_scan (3) - Apply a function to all keys in a keyring tree
recursive_session_key_scan (3) - Apply a function to all keys in the session keyring tree
阅读这些man
页面。