/main.c

https://github.com/jelford/Gnome-Password-Storage-Demo · C · 41 lines · 37 code · 4 blank · 0 comment · 6 complexity · 2c3f56b33dabb5ba7940127a234b8ac1 MD5 · raw file

  1. #include <gnome-keyring.h>
  2. #include <gnome-keyring-memory.h>
  3. #include <glib.h>
  4. #include <stdio.h>
  5. int main (int argc, char** argv) {
  6. GnomeKeyringResult result;
  7. gchar* password = gnome_keyring_memory_alloc(8192);
  8. result = gnome_keyring_store_password_sync(
  9. GNOME_KEYRING_NETWORK_PASSWORD, // Password type
  10. NULL, // Which keyring
  11. "My test password", // Description
  12. "helloWorld", // The password
  13. "user", "some_user",
  14. "server", "localhost",
  15. NULL);
  16. if (result == GNOME_KEYRING_RESULT_OK) {
  17. g_print("Successfully stored password to default keyring\n");
  18. result = gnome_keyring_find_password_sync(
  19. GNOME_KEYRING_NETWORK_PASSWORD,
  20. &password,
  21. "user", "james",
  22. "server", "localhost",
  23. NULL);
  24. if (result == GNOME_KEYRING_RESULT_OK) {
  25. g_print("Successfully retrived password from memory\n");
  26. g_print("Password: %s\n", password);
  27. gnome_keyring_free_password(password);
  28. return 0;
  29. } else {
  30. g_print("Could not get password from memory\n");
  31. return 1;
  32. }
  33. } else {
  34. g_print("Failed to store password\n");
  35. return 1;
  36. }
  37. }