Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M mercurial_keyring
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 7
    • Issues 7
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • mercurialmercurial
  • mercurial_keyring
  • Issues
  • #69
Closed
Open
Issue created Jul 06, 2020 by Andrew Whalan@whalan

Error when trying to save password, Cannot import backend

When trying to use mercurial keyring I get the following error:

keyring: keyring backend doesn't seem to work, password was not saved. Error details: cannot import name 'backend' from 'cryptography.hazmat.backends.openssl.backend' (/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py)

However keyring works fine on the commandline:

$ keyring set system user
Password for 'user' in 'system': 
$ keyring get system user
test

And from within python itself:

Python 3.8.2 (default, Apr 27 2020, 15:53:34) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import keyring
>>> keyring.get_password("system","user")
'test'

I've tried both the default installed versions: keyring==18.0.1 keyrings.alt==3.4.0 mercurial-keyring==1.3.0

And the latest version from this repo, specifying it specifically in .hgrc

I'm not sure what packages I might be missing as following the steps in the README.rst work fine:

$ keyring --list-backends
keyrings.alt.file.PlaintextKeyring (priority: 0.5)
keyrings.alt.file.EncryptedKeyring (priority: 0.6)
keyring.backends.SecretService.Keyring (priority: 5)
keyring.backends.fail.Keyring (priority: 0)
keyring.backends.chainer.ChainerBackend (priority: 10)
$ keyring -b keyring.backends.SecretService.Keyring set service user
Password for 'user' in 'service': 
$ keyring -b keyring.backends.SecretService.Keyring get service user
test
$ keyring -b keyring.backends.chainer.ChainerBackend get service user
test

and I've forced the backend:

$ cat ~/.local/share/python_keyring/keyringrc.cfg
[backend]
default-keyring=keyring.backends.SecretService.Keyring

What should I do next?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking