#1053477 RFP: pass-secret-service -- dbus-service to serve secret-service api with pass backend

#1053477#5
Date:
2023-10-04 19:47:17 UTC
From:
To:
* Package name    : pass-secret-service
  Version         : no release published
  Upstream Contact: Matthias Dellweg <https://github.com/mdellweg>
* URL             : https://github.com/mdellweg/pass_secret_service/
* License         : GPL-3
  Programming Lang: Python
  Description     : dbus-service to serve secret-service api with pass backend

Expose the libsecret dbus api with pass as backend.
----

I am not aware of any other wrapper around pass that provides a
standard interface for other applications to store their secrets into
it, is anyone else?

Requirements mention a few problematic deps:

git+https://github.com/mdellweg/python-dbus-next@master
secretstorage (python library not packaged in Debian)

It also depends on pypass, but that's already packaged in Debian
(interesting!).

#1053477#10
Date:
2023-12-06 08:32:49 UTC
From:
To:
Hi Antoine,

I'm started here:

https://salsa.debian.org/python-team/packages/pass-secret-service

So far, it doesn't work for me.
Maybe I'm missing sth. about D-Bus activation?

Any help appreciated, because I'm a little bit short on time.

Cheers

Btw. I tested with Gajim, which uses python3-keyring, and configured

~/.config/python_keyring/keyringrc.cfg

with:

[backend]
default-keyring=keyring.backends.SecretService.Keyring

#1053477#15
Date:
2023-12-06 14:25:54 UTC
From:
To:
sorry, i'm kind of swamped until 2024 over here, really interested in
the software, but i didn't even try it out so i don't know if i can
help... did you try reaching out upstream?

#1053477#20
Date:
2023-12-06 14:32:24 UTC
From:
To:
Not yet, and I'm pretty much -ENOTIME. Will just leave things as they
are in salsa, until somebody (you, me, whoever) has more time.

#1053477#25
Date:
2025-01-02 02:49:21 UTC
From:
To:
So I've just been told an almost identically named package exists,
written in Rust with a bespoke pass implementation that talks directly
with gpg:

https://github.com/grimsteel/pass-secret-service

I'm not familiar enough with rust packaging to tell whether it
works. But anyway, thought I would mention it. :)

I have tried keepassxc as a secrets provider, and it doesn't work until
keepassxc is running and unlocked.

I did find out how to test this more easily than "fire up an app and see
what happens". Here's how to store a secret named "test" with attributes
"key=value", the actual secret is prompted.

$ secret-tool store --label test key value
Password:

When keepassxc is not running, I get:

secret-tool: The name org.freedesktop.secrets was not provided by any .service files

To retrieve that secret, I need:

$ secret-tool lookup key value
test

So this works while keepassxc is started, but from supersonic, i get:

2025/01/01 21:45:32 error getting password from keyring: org.freedesktop.Secret.Error.IsLocked

Ugh.

Fluffychat, for some reason, can fetch the credentials from keepassxc
properly. go figure.

anyways, all this to say that "this doesn't work" might not be the fault
of your package, it seems implementation can fail on both sides here,
although I haven't seen the supersonic problems with gnome-keyring...

#1053477#30
Date:
2025-01-02 09:32:46 UTC
From:
To:
I don't have any experience with Rust, so far.

And never tried keepassxc neither ;-)

Let's see, if somebody™ has time for pass-secret-service this year...