-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use the keyring approach to encrypting the secrets DB #25
Comments
Hello, as I shared your concern I created an authenticator which store secrets in the keyring: https://github.com/endorama/two-factor-authenticator A bit of shameless self promotion, but obviously the code is fairly simple and could be ported to this project easily :) Currently supports Gnome Keyring and MacOSX Keychain (mainly due to testing availability), but the library on which is based has wider support (including Windows, KDE, file and even pass). |
Another easy-to-use go module to do cross-platform keychain interactions is https://github.com/zalando/go-keyring |
Hey thanks for the suggestion. I'd suggest putting this into a different binary as this would fall a bit too far on the side of "bloat" for the small portable tool |
Oh nevermind go-keyring does not look like a portability mess, worth exploring. Don't know if I'll have any time to think through what the UX should be or study the impact on binary size etc. This could be worth a v2 that lets you manipulate the store interactively (through subcommands and/or its own prompt). |
This is Python, but I'm sure something similar probably exists for golang. https://pypi.org/project/keyring/#what-is-python-keyring-lib
It is used in https://github.com/jjfalling/TOTP-Generator and it's pretty good, except that you have to choose to either be constantly prompted to "Allow" Python to access your keychain, or to "Always Allow" Python. And the latter means that after that, anything Python can access your keychain if it is unlocked. Not good. Compiling a binary solves this.
The text was updated successfully, but these errors were encountered: