Gnome Keyring is failing

bennworah

New Member
Joined
Jul 18, 2020
Messages
29
Reaction score
1
Credits
253
Hello Experts,

I am trying to use gnome-keyring on an application that i am running on Centos, i encountered the below error message when trying to store my secret key within the gnome-keyring. This might not be the right platform to drop this, but may be someone can assist me.


sh-4.2# res-keyring
Activating service name='org.gnome.keyring.SystemPrompter'
Activated service 'org.gnome.keyring.SystemPrompter' failed: Process org.gnome.keyring.SystemPrompter exited with status 1
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/secretstorage/util.py", line 46, in send_and_get_reply
return self._connection.send_and_get_reply(msg, unwrap=True)
File "/usr/local/lib/python3.6/site-packages/jeepney/io/blocking.py", line 190, in send_and_get_reply
return unwrap_msg(msg_in)
File "/usr/local/lib/python3.6/site-packages/jeepney/wrappers.py", line 214, in unwrap_msg
raise DBusErrorResponse(msg)
jeepney.wrappers.DBusErrorResponse: [org.freedesktop.DBus.Error.UnknownMethod] ("No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/secrets/collection/login",)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/secretstorage/collection.py", line 161, in get_default_collection
return Collection(connection)
File "/usr/local/lib/python3.6/site-packages/secretstorage/collection.py", line 44, in __init__
self._collection.get_property('Label')
File "/usr/local/lib/python3.6/site-packages/secretstorage/util.py", line 64, in get_property
(signature, value), = self.send_and_get_reply(msg)
File "/usr/local/lib/python3.6/site-packages/secretstorage/util.py", line 49, in send_and_get_reply
raise ItemNotFoundException('Item does not exist!') from resp
secretstorage.exceptions.ItemNotFoundException: Item does not exist!

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/keyring/backends/SecretService.py", line 61, in get_preferred_collection
collection = secretstorage.get_default_collection(bus)
File "/usr/local/lib/python3.6/site-packages/secretstorage/collection.py", line 164, in get_default_collection
'default', session)
File "/usr/local/lib/python3.6/site-packages/secretstorage/collection.py", line 145, in create_collection
raise PromptDismissedException('Prompt dismissed.')
secretstorage.exceptions.PromptDismissedException: Prompt dismissed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/bin/res-keyring", line 33, in <module>
sys.exit(load_entry_point('resilient==42.2.2190', 'console_scripts', 'res-keyring')())
File "/usr/local/lib/python3.6/site-packages/resilient/bin/res_keyring.py", line 152, in main
KeyringUtils().run()
File "/usr/local/lib/python3.6/site-packages/resilient/bin/res_keyring.py", line 73, in run
self.list_parameters(opts)
File "/usr/local/lib/python3.6/site-packages/resilient/bin/res_keyring.py", line 88, in list_parameters
return _list_parameters(names, options)
File "/usr/local/lib/python3.6/site-packages/resilient/bin/res_keyring.py", line 112, in _list_parameters
val = _list_parameters(names + (key,), val)
File "/usr/local/lib/python3.6/site-packages/resilient/bin/res_keyring.py", line 124, in _list_parameters
value = keyring.get_password(service, val)
File "/usr/local/lib/python3.6/site-packages/keyring/core.py", line 55, in get_password
return get_keyring().get_password(service_name, username)
File "/usr/local/lib/python3.6/site-packages/keyring/backends/SecretService.py", line 78, in get_password
collection = self.get_preferred_collection()
File "/usr/local/lib/python3.6/site-packages/keyring/backends/SecretService.py", line 63, in get_preferred_collection
raise InitError("Failed to create the collection: %s." % e)
 


The first 5 steps of setting up the keyring ran correctly for me, so I am assuming that goes correctly for you as well.
Code:
[tux@rhel8 ~]$ dbus-run-session -- sh
sh-4.4$ gnome-keyring-daemon --unlock
Passw0rd
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
sh-4.4$ gnome-keyring-daemon --unlock
Passw0rd
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
sh-4.4$ ls -l ~/.local/share/keyrings/
total 8
-rw-------. 1 tux tux 105 Oct 27 16:45 login.keyring
-rw-------. 1 tux tux 207 Oct 27 16:45 user.keystore
sh-4.4$ keyring --list-backends
keyring.backends.SecretService.Keyring (priority: 5)
keyring.backends.fail.Keyring (priority: 0)
keyring.backends.chainer.ChainerBackend (priority: -1)
res-keyring doesn't seem to be a part of the gnome-keyring package but some python application which I can't find, not through pip and not by searching for python applications with that name. Since setting up the keyring worked correctly because of not getting any errors there I would think the problem is with they python application res-keyring. I would ask the developers of the res-keyring package what the problem is.
 
I think the res-keyring is using rescue to try and recover the gnome keyring - I would try removing the old gnome keyring and then reinstall it

Also make sure libsecret-devel is installed
 
Hello,
Thank you for the response. Truly the res-keyring is a utility that will recover the stored password from the gnome keyring.

How can I remove the old gnome keyring and then reinstall??
 
I know in Ubuntu and Debian it is
Code:
sudo apt-get remove gnome-keyring
but I am not that familiar with CentOS syntax I think it would be
Code:
sudo yum remove gnome-keyring
and then
Code:
sudo yum install gnome-keyring
 

Members online


Top