Skip to content

Some applications do not work with this service #10

@mbainter

Description

@mbainter

I was hoping maybe this would work where pass_secret_service and others have failed, but I am starting to think that gnome-keyring has functionality that other apps are depending on that isn't actually part of the FreeDesktop API. None of the alternatives I've tried work with everything, not even KeyPassXC.

In case it's helpful for you, two consistent examples are aws-sso-cli and 1Password.

With aws-sso-cli it works if I configure it to use pass directly, but if I set it to use the secret-service backend, then aws-sso gets the secret from it when the login succeeds and puts it in the store but follow-up attempts to use it always fail with:
WARN unable to load keyring data error="The specified item could not be found in the keyring" and an error that I have to log in before using it. Every login creates a new credential in the store:

❯ gopass list secret-service/
secret-service/
└── awsssocli_XXXX/
    └── YYYYYYYY

It even appears to find it when aws-sso-cli tries to retrieve it:

method call time=1752113828.755153 sender=:1.149 -> destination=org.freedesktop.secrets serial=4 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "plain"
   variant       string ""
method return time=1752113828.755299 sender=:1.40 -> destination=:1.149 serial=104 reply_serial=4
   variant       string ""
   object path "/org/freedesktop/secrets/session/ZZZZZZZZ"
method call time=1752113828.755441 sender=:1.149 -> destination=org.freedesktop.secrets serial=5 path=/org/freedesktop/secrets; interface=org.freedesktop.DBus.Properties; member=Get
   string "org.freedesktop.Secret.Service"
   string "Collections"
method return time=1752113828.755595 sender=:1.40 -> destination=:1.149 serial=105 reply_serial=5
   variant       array [
         object path "/org/freedesktop/secrets/collection/awsssocli_XXXX"
         object path "/org/freedesktop/secrets/collection/default_AAAA"
      ]
signal time=1752113828.758187 sender=org.freedesktop.DBus -> destination=:1.149 serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost

1password by contrast doesn't work with any backend I've tried so far except gnome-keyring. I would bet it works with kwallet as well, as it seems to try that by default if no secret service exists. When it attempts to write its token to the store this is the output in dbus:

method call time=1752113124.634310 sender=:1.135 -> destination=org.freedesktop.secrets serial=2 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "dh-ietf1024-sha256-aes128-cbc-pkcs7"
   variant       array of bytes [
         40 d8 93 <snip> 1d 2c 2c
      ]
error time=1752113124.634736 sender=:1.40 -> destination=:1.135 error_name=org.freedesktop.DBus.Error.NotSupported reply_serial=2
   string "Algorithm is not supported"

I don't know what all your plans are for this service, but if you're looking for it to be a fully compatible replacement hopefully this helps. If these aren't problems you aren't looking to solve please feel free to close this. If there is any other data I can gather that you'd find helpful let me know and I'll try to test it further.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions