gnome-keyring valid password not unlocking keyring



Hi.

Since upgrading from Fedora 24 to 25, on one particular machine, I
cannot unlock the Login keyring.  Interestingly it seems that GKR
remained at the same version from F24 to F25.

GKR just keeps telling me the password is wrong, but I know what I am
typing has to be right because it's the same password I log into the
machine with and simply logging in has unlocked that keyring for years
now.

I'm at a bit of a loss as to where to continue debugging.  I have
verified that GKR daemon running under my account does indeed opening
and reading /home/brian/.gnome2/keyrings/login.keyring:

...
[pid 14533] open("/home/brian/.gnome2/keyrings/login.keyring", O_RDONLY <unfinished ...>
...
[pid 14533] <... open resumed> )        = 20
[pid 14533] read(20,  <unfinished ...>
...
[pid 14533] <... read resumed> "GnomeKeyring\n\r\0\n\0\0\0\0\0\0\0\5Login\0\0\0"..., 727650) = 727650
...
[pid 14533] close(20 <unfinished ...>
...
[pid  3069] <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8
...
[pid 14533] <... close resumed> )       = 0

dbus-monitor says this is going on when I try to unlock the Login
keyring with seahorse:

method call time=1482176748.371930 sender=:1.71 -> destination=:1.58 serial=14 
path=/org/gnome/keyring/Prompt/p12; interface=org.gnome.keyring.internal.Prompter.Callback; member=PromptReady
   string "yes"
   array [
      dict entry(
         string "warning"
         variant             variant                string ""
      )
      dict entry(
         string "password-strength"
         variant             variant                int32 1
      )
      dict entry(
         string "choice-chosen"
         variant             variant                boolean true
      )
      dict entry(
         string "message"
         variant             variant                string "Enter password to unlock your login keyring"
      )
      dict entry(
         string "choice-label"
         variant             variant                string ""
      )
      dict entry(
         string "cancel-label"
         variant             variant                string "Cancel"
      )
      dict entry(
         string "description"
         variant             variant                string "The login keyring did not get unlocked when you 
logged into your computer."
      )
      dict entry(
         string "continue-label"
         variant             variant                string "Unlock"
      )
      dict entry(
         string "caller-window"
         variant             variant                string ""
      )
      dict entry(
         string "title"
         variant             variant                string "Unlock Login Keyring"
      )
   ]
   string "[sx-aes-1]
public=[redacted]
secret=[redacted]
iv=[redacted]
"
method return time=1482176748.372129 sender=:1.58 -> destination=:1.71 serial=805 reply_serial=14
method call time=1482176748.372237 sender=:1.58 -> destination=org.freedesktop.DBus serial=806 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string 
"type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gnome.keyring.SystemPrompter'"
method return time=1482176748.372251 sender=org.freedesktop.DBus -> destination=:1.58 serial=154 
reply_serial=806
method call time=1482176748.380371 sender=:1.58 -> destination=org.freedesktop.DBus serial=807 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string 
"type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.gnome.keyring.SystemPrompter'"
method return time=1482176748.380386 sender=org.freedesktop.DBus -> destination=:1.58 serial=155 
reply_serial=807
method call time=1482176748.380390 sender=:1.58 -> destination=org.freedesktop.DBus serial=808 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
   string "org.gnome.keyring.SystemPrompter"
method return time=1482176748.380410 sender=org.freedesktop.DBus -> destination=:1.58 serial=156 
reply_serial=808
   string ":1.71"
method call time=1482176748.380427 sender=:1.58 -> destination=org.gnome.keyring.SystemPrompter serial=809 
path=/org/gnome/keyring/Prompter; interface=org.gnome.keyring.internal.Prompter; member=PerformPrompt
   object path "/org/gnome/keyring/Prompt/p12"
   string "password"
   array [
      dict entry(
         string "choice-label"
         variant             string ""
      )
      dict entry(
         string "description"
         variant             string "The login keyring did not get unlocked when you logged into your 
computer."
      )
      dict entry(
         string "continue-label"
         variant             string "Unlock"
      )
      dict entry(
         string "message"
         variant             string "Enter password to unlock your login keyring"
      )
      dict entry(
         string "title"
         variant             string "Unlock Login Keyring"
      )
      dict entry(
         string "warning"
         variant             string "The unlock password was incorrect"
      )
   ]
   string "[sx-aes-1]
public=[redacted]
"
method return time=1482176748.382010 sender=:1.71 -> destination=:1.58 serial=15 reply_serial=809

I've tried with a little python programlet:

python -c "import gnomekeyring;gnomekeyring.unlock_sync(None, '[redacted]');"
Gkr-Message: secret service operation failed: The password was invalid
Traceback (most recent call last):
  File "<string>", line 1, in <module>
gnomekeyring.IOError

Although the dbus conversation is different with the above python
programlet:

method call time=1482177095.011718 sender=:1.76 -> destination=org.freedesktop.DBus serial=1 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1482177095.011738 sender=org.freedesktop.DBus -> destination=:1.76 serial=1 reply_serial=1
   string ":1.76"
signal time=1482177095.011745 sender=org.freedesktop.DBus -> destination=(null destination) serial=166 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.76"
   string ""
   string ":1.76"
signal time=1482177095.011755 sender=org.freedesktop.DBus -> destination=:1.76 serial=2 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.76"
method call time=1482177095.011838 sender=:1.76 -> destination=org.freedesktop.DBus serial=2 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',interface='org.gnome.secrets.Prompt',member='Completed'"
method call time=1482177095.011853 sender=:1.76 -> destination=org.freedesktop.DBus serial=3 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',member='NameOwnerChanged',interface='org.freedesktop.DBus'"
method call time=1482177095.011859 sender=:1.76 -> destination=org.freedesktop.secrets serial=4 
path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=OpenSession
   string "dh-ietf1024-sha256-aes128-cbc-pkcs7"
   variant       array of bytes [
         [redacted]
      ]
method return time=1482177095.015868 sender=:1.58 -> destination=:1.76 serial=819 reply_serial=4
   variant       array of bytes [
         [redacted]
      ]
   object path "/org/freedesktop/secrets/session/s4"
method call time=1482177095.017636 sender=:1.76 -> destination=org.freedesktop.secrets serial=5 
path=/org/freedesktop/secrets; interface=org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface; 
member=UnlockWithMasterPassword
   object path "/org/freedesktop/secrets/aliases/default"
   struct {
      object path "/org/freedesktop/secrets/session/s4"
      array of bytes [
         16 8f 44 fe ba 78 fc 74 b7 55 e3 33 73 0f d5 16
      ]
      array of bytes [
         6c c2 6b fd f1 54 6b ec e1 70 e9 60 3a 23 4a 9d
      ]
      string "text/plain; charset=utf8"
   }
error time=1482177095.025930 sender=:1.58 -> destination=:1.76 error_name=org.gnome.keyring.Error.Denied 
reply_serial=5
   string "The password was invalid"
signal time=1482177095.043893 sender=org.freedesktop.DBus -> destination=:1.76 serial=5 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.76"
signal time=1482177095.043913 sender=org.freedesktop.DBus -> destination=(null destination) serial=167 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.76"
   string ":1.76"
   string ""
method call time=1482177096.575567 sender=:1.71 -> destination=org.freedesktop.DBus serial=20 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName
   string "org.gnome.keyring.SystemPrompter"
signal time=1482177096.575619 sender=org.freedesktop.DBus -> destination=:1.71 serial=14 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string "org.gnome.keyring.SystemPrompter"
signal time=1482177096.575639 sender=org.freedesktop.DBus -> destination=(null destination) serial=168 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string "org.gnome.keyring.SystemPrompter"
   string ":1.71"
   string ""
method return time=1482177096.575657 sender=org.freedesktop.DBus -> destination=:1.71 serial=15 
reply_serial=20
   uint32 1
method call time=1482177096.575956 sender=:1.71 -> destination=org.freedesktop.DBus serial=21 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName
   string "org.gnome.keyring.PrivatePrompter"
signal time=1482177096.575974 sender=org.freedesktop.DBus -> destination=:1.71 serial=16 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string "org.gnome.keyring.PrivatePrompter"
signal time=1482177096.575984 sender=org.freedesktop.DBus -> destination=(null destination) serial=169 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string "org.gnome.keyring.PrivatePrompter"
   string ":1.71"
   string ""
method return time=1482177096.575996 sender=org.freedesktop.DBus -> destination=:1.71 serial=17 
reply_serial=21
   uint32 1
signal time=1482177096.578029 sender=org.freedesktop.DBus -> destination=:1.71 serial=6 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.71"
signal time=1482177096.578048 sender=org.freedesktop.DBus -> destination=(null destination) serial=170 
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.71"
   string ":1.71"
   string ""

Maybe that python programlet is too old and doesn't exercise the API
correctly.

But everything points to bad password but I cannot at all see how I can
be providing an incorrect password when as I said above, I have always
relied on PAM unlocking the keyring for me with my login password and I
am trying to use my login password to unlock now when it says it's not
the correct password.

Any ideas?

Cheers,
b.

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]