Replace gnome-keyring-daemon with oo7-daemon #506

Open
opened 2026-03-25 11:54:15 +00:00 by bilelmoussaoui · 10 comments

I would like to suggest replacing gnome-keyring-daemon with oo7-daemon https://github.com/linux-credentials/oo7/tree/main/server as a Rust re-implementation of the secret service specification.

Currently fedora already ships oo7 (the client library that the daemon is built upon) along with oo7-cli, a secret-tool replacement so most of the dependencies are there already.

oo7-daemon, offers a full drop-in replacement of gnome-keyring-daemon with PAM support as well. It has good test coverage and works out of the box on both GNOME and KDE Plasma making it possible to eventually drop both gnome-keyring-daemon and kwallet.

The major difference between gnome-keyring-daemon and oo7-daemon is the keyring file format. The former uses v0 for host keyrings and v1 for sandboxed applications keyrings. The later uses v1 for both and automatically migrate v0 keyrings to v1 once the user unlocks the keyring either manually or through PAM integration.

I have also suggested doing the change at https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/1253 for upstream GNOME. KDE iirc is also interested in using that as a replacement of kwallet as they have implemented the necessary prompting interfaces at https://invent.kde.org/mart/ksecretprompter.

Both the daemon and client library offers two cryptographic backends; one based on Rust native libraries and one based on openssl so it not be a problem to use the opeenssl based one if desired.

Please let me know if further information is needed.

I would like to suggest replacing gnome-keyring-daemon with oo7-daemon https://github.com/linux-credentials/oo7/tree/main/server as a Rust re-implementation of the secret service specification. Currently fedora already ships oo7 (the client library that the daemon is built upon) along with oo7-cli, a secret-tool replacement so most of the dependencies are there already. oo7-daemon, offers a full drop-in replacement of gnome-keyring-daemon with PAM support as well. It has good test coverage and works out of the box on both GNOME and KDE Plasma making it possible to eventually drop both gnome-keyring-daemon and kwallet. The major difference between gnome-keyring-daemon and oo7-daemon is the keyring file format. The former uses v0 for host keyrings and v1 for sandboxed applications keyrings. The later uses v1 for both and automatically migrate v0 keyrings to v1 once the user unlocks the keyring either manually or through PAM integration. I have also suggested doing the change at https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/1253 for upstream GNOME. KDE iirc is also interested in using that as a replacement of kwallet as they have implemented the necessary prompting interfaces at https://invent.kde.org/mart/ksecretprompter. Both the daemon and client library offers two cryptographic backends; one based on Rust native libraries and one based on openssl so it not be a problem to use the opeenssl based one if desired. Please let me know if further information is needed.
Owner

Please also file a ticket with the KDE SIG about this. https://forge.fedoraproject.org/kde/tracker

Please also file a ticket with the KDE SIG about this. https://forge.fedoraproject.org/kde/tracker
Owner

(This is going to have to be a coordinated Fedora 45 Change to switch, since it touches so many things.)

(This is going to have to be a coordinated Fedora 45 Change to switch, since it touches so many things.)
ngompa added this to the Fedora 45 milestone 2026-03-25 12:13:46 +00:00
Contributor

Copying my comment from kde/tracker#700 (comment) here:

For Silverblue, it would be great to have an (automatic ideally) migration path. We might end up having to ship both in the image for a while.

Copying my comment from https://forge.fedoraproject.org/kde/tracker/issues/700#issuecomment-593192 here: For Silverblue, it would be great to have an (automatic ideally) migration path. We might end up having to ship both in the image for a while.
Author

we already have an automatic migration for gnome-keyring-daemon v0 format to v1.

we already have an automatic migration for gnome-keyring-daemon v0 format to v1.
Owner

Discussed at today's meeting. This change is approved.

Does anybody volunteer to implement it?

Discussed at today's meeting. This change is approved. Does anybody volunteer to implement it?
Owner

Since this needs to be coordinated with KDE too, I can work on a good chunk of it.

Since this needs to be coordinated with KDE too, I can work on a good chunk of it.

I suggest approaching the Rust SIG wrt/ packaging concerns (though hopefully this should be relatively straightforward since we already have the oo7 library and CLI packaged).

I suggest approaching the Rust SIG wrt/ packaging concerns (though hopefully this should be relatively straightforward since we already have the oo7 library and CLI packaged).
ngompa self-assigned this 2026-06-02 14:14:51 +00:00
Owner

Looks like the "Change Checkpoint: Proposal submission deadline (System Wide Changes)" is on June 30 (next week's Tuesday)

Looks like the "Change Checkpoint: Proposal submission deadline (System Wide Changes)" is on June 30 (next week's Tuesday)
Owner

I'm preparing the Change to submit this week.

I'm preparing the Change to submit this week.
Owner
Change filed: https://fedoraproject.org/wiki/Changes/oo7_Secrets_Service_Provider
Sign in to join this conversation.
No milestone
No project
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
workstation/tickets#506
No description provided.