On Mon, Nov 09, 2020 at 12:41:21AM +0100, Flavio Collocola via 
networkmanager-list wrote:
> Hi all,
> 
> I'm trying to port my Windows program WiFi Password Recovery to Linux.
> WiFi Password Recovery is a simple tool which scans all wireless networks
> stored on the device and then returns their info (such as SSID, Auth
> algorithm, *password...*).
> To keep portability I'm developing it in C++ using wxWidgets library. In
> particular on Linux I'm trying to use libnm to interface the program with
> NetworkManager. Before starting the port I decided to write a small C
> console program to learn libnm API and NetworkManager basis.
> I'm trying to get the passwords of all wireless networks saved on Ubuntu
> using libnm but when i call the function *nm_setting_wireless_security_get_psk
> *it returns null. It doesn't work with debug dump functions of libnm too. I
> think I should do something with NMSecretAgentOld but I don't understand
> what exactly and how. I also did not find any example on the Internet. I
> slightly modified a C example about using libnm available on internet and
> this is my current test code:

Hi,

the remote connection doesn't contain any secrets. You should use
nm_remote_connection_get_secrets() or
nm_remote_connection_get_secrets_async() [1] to get them. The returned
GVariant is a dictionary where each key indicates the setting name and
the value is another dictionary mapping property names to the secret
value; for example:

{'802-11-wireless-security': {'psk': <'my-password'>}}

Note that retrieving secrets for a connection requires Polkit
permissions. If the connection has an owner (connection.permissions
property), the owner needs the "settings.modify.own" permission to get
secrets. Otherwise, the caller needs the "settings.modify.system"
permission. You can check permissions for the current user with
command: "nmcli general permissions".

[1] 
https://developer.gnome.org/libnm/stable/NMRemoteConnection.html#nm-remote-connection-get-secrets

Beniamino

Attachment: signature.asc
Description: PGP signature

_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to