The slightly more awesome standard unix password manager for teams

Overview

gopass Gopher by Vincent Leinweber, remixed from the Renée French original Gopher

gopass

Build Status Go Report Card MIT License Github All Releases codecov CII Best Practices Gopass Slack

Introduction

gopass is a password manager for the command line written in Go. It supports all major operating systems (Linux, MacOS, BSD) as well as Windows.

For detailed usage and installation instructions please check out our documentation.

Design Principles

Gopass is a versatile command line based password manager that is being developed with the following principles in mind:

  • Easy: For technical users (i.e. those who are used to the command line) it should be easy to get started with gopass.
  • Secure: Security is hard. We aim to make it as easy as possible while still providing a good level of protection against common adversaries. Caution: If your personal threat level is very high, we might not offer a good tool for you.
  • Extensible: While Gopass includes a fair amount of useful features, we can't cover every use-case. To support more special use cases we want to provide a clean and simple API to integration gopass into your own binaries.

Screenshot

screenshot

Features

Please see docs/features.md for an extensive list of all features along with several usage examples. Some examples are available in our example password store.

Feature State Description
Secure secret storage stable Securely storing encrypted secrets
Recipient management beta Easily manage multiple users of each store
Multiple stores stable Mount multiple stores in your root store, like file systems
password quality assistance beta Checks existing or new passwords for common flaws
password leak checker integration Perform offline checks against known leaked passwords
PAGER support stable Automatically invoke a pager on long output
JSON API integration Allow gopass to be used as a native extension for browser plugins
Automatic fuzzy search stable Automatically search for matching store entries if a literal entry was not found
gopass sync stable Easy to use syncing of remote repos and GPG keys
Desktop Notifications stable Display desktop notifications and completing long running operations
REPL beta Integrated Read-Eval-Print-Loop shell with autocompletion.
Extensions Extend gopass with custom commands using our API

Installation

Please see docs/setup.md.

If you have Go 1.14 (or greater) installed:

GO111MODULE=on go get github.com/gopasspw/gopass

WARNING: Please prefer releases, unless you want to contribute to the development of gopass. The master branch might not be very well tested and can contain breaking changes without further notice.

Upgrade

To upgrade with Go installed, run:

go get -u github.com/gopasspw/gopass

Otherwise, use the setup docs mentioned in the installation section to reinstall the latest version.

Development

This project uses GitHub Flow. In other words, create feature branches from master, open an PR against master, and rebase onto master if necessary.

We aim for compatibility with the latest stable Go Release only.

While this project is maintained by volunteers in their free time we aim to triage issues weekly and release a new version at least every quarter.

Credit & License

gopass is licensed under the terms of the MIT license. You can find the complete text in LICENSE.

Please refer to the Git commit log for a complete list of contributors.

Community

gopass is developed in the open. Here are some of the channels we use to communicate and contribute:

Integrations

Mobile apps

Contributing

We welcome any contributions. Please see the CONTRIBUTING.md file for instructions on how to submit changes.

Further Documentation

External Documentation

Issues
  • RFC: Handling breaking changes

    RFC: Handling breaking changes

    TL;DR: How should we handle truly breaking changes? With a major version bump or a fork?

    Background

    gopass has accumulated a lot of features in the past. Some of them were contributed, some never truly finished. Also supporting troublesome dependencies like GnuPG and git adds to the maintenance burden.

    It has become clear that we don't have enough time to support all of these feature and dependencies and we prefer to have a stable, polished core feature set over a huge number of partly broken features.

    We had some small breaking changes in the last minor release and we will have more small breaking changes while we continue to clean up the code base leading up to a major breaking change in the next major release.

    Upcoming Changes

    Going forward we consider to:

    • Drop GPG support, including most tooling we built around that (e.g. key export / import and such)
    • Drop Git support
    • Drop most configuration options
    • Reduce the number of CLI subcommands and command line options
    • Break compatibility with other pass implementations

    This will break most existing setups and will require careful planning and execution.

    If you care about any of these features the only (!) way to keep them from being removed are sustained, high quality contributions, e.g. triaging issues, improving documentation, test coverage and finally refactoring the code to make them better maintainable. Unless contributors step up to work on these, the aforementioned features will be dropped. Probably before the end of this year.

    Upcoming Changes

    While our goal is clear, it's not so clear how we want to get there.

    Obviously we want to keep supporting our existing users (but not necessarily on their current stack).

    Right now I see two options moving forward.

    Both have in common that we will make smaller (possibly) breaking changes in the minor releases leading up to the next major release. We will try to limit the impact but features which are already broken, rarely used or poorly implemented will either be changed or removed.

    Also we will work to add support for the storage and crypto backends that will be used in the next major release.

    Crypto Backend

    In the next major release our age might become our default crypto backend.

    I have a very strong preference for age, but this is only possible if the project receives sustained attention and provides answers for some open questions (e.g. Go library support, agent support).

    Storage / RCS Backend

    While git itself is muss less troublesome to support than GnuPG it still adds unnecessary overhead. If you think about how we use git you'll realize that we don't need most of it's features, e.g. we don't need merging (useless with encrypted files), branches, tags, or actually almost any other feature it has.

    What do we really need in terms of storage / revision control?

    • a Key-Value stores resembling a file system (tree)
    • versioned values

    Since we can't really merge or diff entries the versioning can just be a list ordered by the revision timestamp. Optionally we'd like to be able to hide the names of the keys (#673, #674).

    These properties can trivially be implemented in Go.

    Implementation cleanup

    It's clear that in the next major release we'll reduce support for different backends, reducing the amount of code.

    Eventually we'd like to get rid of complicated recipient key handling. If we're using age the recipient list will already include the whole public key with no need to additionally export or import keys to and from huge keyrings. We might even default to using GitHub username as the default mechanism (age can encrypt for ssh public keys which are publicly visible on GitHub).

    Options

    This section lists possible options how to reach a major reduction in tech debt with the next major release without loosing most of our users on the way.

    Hard Fork

    This would be the easiest option. We would implement all required changes as detailed above in the 1.9 branch and before we start to actually remove features we'd fork the gopass repo to e.g. github.com/gopasspw/gopass2 and keep both repos around: One for the 1.x branch and the other for the 2.x branch.

    Obviously we could also do that in the gopass repo with a different branch, but I think that might be more confusing.

    However this approach has two big disadvantages:

    1. We'd still have to maintain the old gopass 1.x repo. Since our time is very limited this will slowly rot up to a point where it's unuseable. For a security critical project this isn't a good idea.
    2. Many users won't make the switch, cf. the Perl5/6 or Python 2/3 situation.

    Provide an automated migration path

    The second option would be to (try to) automatically migrate all users to the new backends.

    This would require us to implement the migration tooling that would automatically migrate the users stores to the new backends in the 1.x branch. If a user misses one of the releases with this migration tooling they would need to resort to the last 1.x release before the can use the 2.x releases.

    The big advantage is that this avoid the disadvantages of the first option.

    The disadvantage that this is a pretty disruptive change.

    Users will need to replace their remote setup (git) with something else (which doesn't exist, yet). Also they will need to trust a different kind of crypto (which is likely much safer, but in some cases it might be perceived as a step back).

    Request for Comments

    Please let me know what you think. But please keep in mind that this is an open source project run by volunteers.

    Feel free to share this proposal with any gopass users you know.

    The question here is not if or when we'll make these breaking changes, only how! The only way to prevent a feature from being dropped is to make sustained high quality contributions!

    Edit: Updated to better reflect to current plans.

    help-wanted 
    opened by dominikschulz 79
  • GPG 2.3.1-2.3.2 don't show recipients

    GPG 2.3.1-2.3.2 don't show recipients

    Summary

    i get failed to read recipient IDs from raw secret on gopass fsck on some passwords.

    Steps To Reproduce

    i run gopass fsck.

    Environment

    • OS: ubuntu 20.04
    • OS version: Linux troy 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
    • gopass Version:
    gopass 1.12.7 (2021-07-02 09:20:21) go1.16.6 linux amd64
    <root>     -  gpg 2.3.1 - git 2.32.0
    Available Crypto Backends: age, gpgcli, plain
    Available Storage Backends: fs, gitfs
    
    • Installation method: brew install gopass

    Additional context

    i can decrypt the files manually with gpg --decrypt .password-store/websites/bla.gpg. with gopass show they get shown. but with rofi-gopass i get empty secret in the debug logs. after that i tried the gopass fsck and ran in this. i have the feeling that this happens on passwords i added the last. here is a snippet from the debug log:

    2021/08/17 14:46:06.798912 leaf/store.go:68     leaf.New        Instantiated  at /home/marv/.password-store - storage: &gitfs.Git{fs:(*fs.Store)(0xc000098890)} - crypto: &cli.GPG{binary:"/usr/bin/gpg", args:[]string{"--quiet", "--yes", "--compress-algo=none", "--no-encrypt-to", "--no-auto-check-trustdb"}, pubKeys:gpg.KeyList(nil), privKeys:gpg.KeyList(nil), listCache:(*lru.TwoQueueCache)(0xc000319860), throwKids:false}
    2021/08/17 14:46:06.798918 root/init.go:71      root.(*Store).initialize        Root Store initialized at /home/marv/.password-store
    2021/08/17 14:46:06.798927 fs/store.go:109      fs.(*Store).Exists      Checking if .gpg-id exists at /home/marv/.password-store/.gpg-id: true
    2021/08/17 14:46:06.798933 action/init.go:36    action.(*Action).IsInitialized  Store is already initialized
    2021/08/17 14:46:06.798985 fs/store.go:156      fs.(*Store).IsDir       websites/amazon/[email protected] at /home/marv/.password-store/websites/amazon/[email protected] is a directory? false
    2021/08/17 14:46:06.798993 fs/store.go:156      fs.(*Store).IsDir       websites/amazon/[email protected] at /home/marv/.password-store/websites/amazon/[email protected] is a directory? false
    2021/08/17 14:46:06.799001 fs/store.go:41       fs.(*Store).Get Reading websites/amazon/[email protected] from /home/marv/.password-store/websites/amazon/[email protected]
    2021/08/17 14:46:06.799017 cli/decrypt.go:22    cli.(*GPG).Decrypt      /usr/bin/gpg [/usr/bin/gpg --quiet --yes --compress-algo=none --no-encrypt-to --no-auto-check-trustdb --decrypt]
    2021/08/17 14:46:07.025924 secparse/parse.go:20 secparse.Parse  failed to parse as MIME: EOF
    2021/08/17 14:46:07.025951 secrets/yaml.go:95   secrets.ParseYAML       Parsing
    2021/08/17 14:46:07.025965 secparse/parse.go:30 secparse.Parse  failed to parse as YAML: EOF
    
    2021/08/17 14:46:07.025971 secparse/parse.go:37 secparse.Parse  failed to parse as KV: EOF
    2021/08/17 14:46:07.025976 secparse/parse.go:40 secparse.Parse  parsed as plain:
    2021/08/17 14:46:07.025992 action/show.go:147   action.(*Action).showHandleOutput       empty secret - stacktrace: empty secret
    2021/08/17 14:46:07.026000 action/show.go:63    action.(*Action).Show   empty secret - stacktrace: empty secret
    

    and all the newer passwords are also not readable by the classic pass command. did something changed in the format?

    bug 
    opened by xsteadfastx 27
  • gpg: [stdin]: encryption failed: No public key

    gpg: [stdin]: encryption failed: No public key

    Summary

    There a git repository that has been cloned.

    My public key in the repo is matching mine in Kleopatra, but still I can't add a new password, gopass keeps returning: gpg: [stdin]: encryption failed: No public key

    Steps To Reproduce

    [email protected]  ~\Desktop\Work\Passwords\pass   master ≣                                             [16:08]
    ❯ $env:GOPASS_DEBUG = 'true'
    [email protected]  ~\Desktop\Work\Passwords\pass   master ≣                                             [16:09]
    ❯ gopass insert pass/dev/pgsql-rm/read_model_migrations
    [DEBUG] Trying to load config from C:\Users\Meow\.config\gopass\config.yml
    [DEBUG] Loaded config: Config[Root:StoreConfig[AskForMore:false,AutoClip:true,AutoImport:true,AutoSync:false,ClipTimeout:45,Concurrency:1,EditRecipients:false,NoColor:false,NoConfirm:true,NoPager:false,Notifications:true,Path:gpgcli-gitcli-fs+file:///C:%5CUsers%5CMeow%5CDesktop%5CWork%5CPasswords%5Cpass,SafeContent:false,UseSymbols:false],Mounts()]
    [DEBUG] Loaded config from C:\Users\Meow\.config\gopass\config.yml: Config[Root:StoreConfig[AskForMore:false,AutoClip:true,AutoImport:true,AutoSync:false,ClipTimeout:45,Concurrency:1,EditRecipients:false,NoColor:false,NoConfirm:true,NoPager:false,Notifications:true,Path:gpgcli-gitcli-fs+file:///C:%5CUsers%5CMeow%5CDesktop%5CWork%5CPasswords%5Cpass,SafeContent:false,UseSymbols:false],Mounts()]
    [DEBUG] store/root/init.go:18 initializing store and possible sub-stores
    [DEBUG] store/sub/store.go:43 sub.New - URL: gpgcli-gitcli-fs+file:///C:%5CUsers%5CMeow%5CDesktop%5CWork%5CPasswords%5Cpass
    [DEBUG] store/sub/store.go:57 sub.New - Using storage backend from ctx: fs
    [DEBUG] backend/storage/fs/loader.go:23 Using Storage Backend: fs(v0.1.0,path:C:\Users\Meow\Desktop\Work\Passwords\pass)
    [DEBUG] store/sub/store.go:66 sub.New - Using RCS backend from ctx: gitcli
    [DEBUG] store/sub/store.go:75 sub.New - Using Crypto backend from ctx: gpgcli
    [DEBUG] backend/crypto/gpg/cli/loader.go:23 Using Crypto Backend: gpgcli
    [DEBUG] store/sub/store.go:81 sub.New - initialized - storage: fs (0xc0002305f0) - rcs: git (0xc00035e000) - crypto: gpg (0xc0002000c0)
    [DEBUG] store/root/init.go:116 Root Store initialized with URL gpgcli-gitcli-fs+file:///C:%5CUsers%5CMeow%5CDesktop%5CWork%5CPasswords%5Cpass
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\.gpg-id
    [DEBUG] action/init.go:31 Store is already initialized
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass/dev/pgsql-rm/read_model_migrations.gpg) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\pgsql-rm\read_model_migrations.gpg
    Enter password for pass/dev/pgsql-rm/read_model_migrations []: mypassword
    Retype password for pass/dev/pgsql-rm/read_model_migrations []: mypassword
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass/dev/pgsql-rm/read_model_migrations.gpg) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\pgsql-rm\read_model_migrations.gpg
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\dev\pgsql-rm\.pass-template) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\pgsql-rm\.pass-template
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\dev\.pass-template) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\.pass-template
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\.pass-template) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\.pass-template
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(.pass-template) - C:\Users\Meow\Desktop\Work\Passwords\pass\.pass-template
    [DEBUG] action/templates.go:120 No template found for pass/dev/pgsql-rm/read_model_migrations
    [DEBUG] backend/storage/fs/store.go:130 fs.Isdir(pass/dev/pgsql-rm/read_model_migrations) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\pgsql-rm\read_model_migrations -> false
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\dev\pgsql-rm\read_model_migrations\.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\pgsql-rm\read_model_migrations\.gpg-id
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\dev\pgsql-rm\.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\pgsql-rm\.gpg-id
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\dev\.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\dev\.gpg-id
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(pass\.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\pass\.gpg-id
    [DEBUG] backend/storage/fs/store.go:91 fs.Exists(.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\.gpg-id
    [DEBUG] backend/storage/fs/store.go:37 fs.Get(.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\.gpg-id
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 007B8FCE310A5A369C5FA1E023D166DB074B6BC6]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 007B8FCE310A5A369C5FA1E023D166DB074B6BC6]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 08B3C0F62B5039919325BC5FDE40A9898D3DC818]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 08B3C0F62B5039919325BC5FDE40A9898D3DC818]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 092A67EBD261FE479D15A858078425A332F77857]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 092A67EBD261FE479D15A858078425A332F77857]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 2A05CC76C821EDAA9D67C52C407172741190894B]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 2A05CC76C821EDAA9D67C52C407172741190894B]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 69CB13B55D75DEF6E4A08297CD3833FA2ACF816C]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 7FC147A251D1C008B01A9FECBACFA90D099FBC3C]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 7FC147A251D1C008B01A9FECBACFA90D099FBC3C]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys CBDA8515A67EFCFDEA8A8909F0CCC407C152420A]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys CBDA8515A67EFCFDEA8A8909F0CCC407C152420A]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys F1BB9612D02D33FD7C39F6D1A80448BDFEC0BCBE]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys F1BB9612D02D33FD7C39F6D1A80448BDFEC0BCBE]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys F22854456422B6AA080DDC0F41FE7D6F018E72BD]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys F22854456422B6AA080DDC0F41FE7D6F018E72BD]
    
    [DEBUG] backend/storage/fs/store.go:37 fs.Get(.gpg-id) - C:\Users\Meow\Desktop\Work\Passwords\pass\.gpg-id
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 007B8FCE310A5A369C5FA1E023D166DB074B6BC6]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 007B8FCE310A5A369C5FA1E023D166DB074B6BC6]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 08B3C0F62B5039919325BC5FDE40A9898D3DC818]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 08B3C0F62B5039919325BC5FDE40A9898D3DC818]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 092A67EBD261FE479D15A858078425A332F77857]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 092A67EBD261FE479D15A858078425A332F77857]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 2A05CC76C821EDAA9D67C52C407172741190894B]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 2A05CC76C821EDAA9D67C52C407172741190894B]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 7FC147A251D1C008B01A9FECBACFA90D099FBC3C]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 7FC147A251D1C008B01A9FECBACFA90D099FBC3C]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys CBDA8515A67EFCFDEA8A8909F0CCC407C152420A]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys CBDA8515A67EFCFDEA8A8909F0CCC407C152420A]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys F1BB9612D02D33FD7C39F6D1A80448BDFEC0BCBE]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys F1BB9612D02D33FD7C39F6D1A80448BDFEC0BCBE]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys F22854456422B6AA080DDC0F41FE7D6F018E72BD]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-public-keys F22854456422B6AA080DDC0F41FE7D6F018E72BD]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 007B8FCE310A5A369C5FA1E023D166DB074B6BC6]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 08B3C0F62B5039919325BC5FDE40A9898D3DC818]
    
    (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 092A67EBD261FE479D15A858078425A332F77857]
    
    [DEBUG] backend/crypto/gpg/cli/keyring.go:25 gpg.listKeys: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys 2A05CC76C821EDAA9D67C52C407172741190894B]
    
    [DEBUG] backend/crypto/gpg/cli/gpg.go:131 gpg.Encrypt: C:\Program Files (x86)\GnuPG\bin\gpg.exe [C:\Program Files (x86)\GnuPG\bin\gpg.exe --quiet --yes --compress-algo=none --no-encrypt-to --no-auto-check-trustdb --encrypt --trust-model=always --recipient 007B8FCE310A5A369C5FA1E023D166DB074B6BC6 --recipient 08B3C0F62B5039919325BC5FDE40A9898D3DC818 --recipient 092A67EBD261FE479D15A858078425A332F77857 --recipient 2A05CC76C821EDAA9D67C52C407172741190894B --recipient 69CB13B55D75DEF6E4A08297CD3833FA2ACF816C --recipient 7FC147A251D1C008B01A9FECBACFA90D099FBC3C --recipient CBDA8515A67EFCFDEA8A8909F0CCC407C152420A --recipient F1BB9612D02D33FD7C39F6D1A80448BDFEC0BCBE --recipient F22854456422B6AA080DDC0F41FE7D6F018E72BD --recipient 0xCD3833FA2ACF816C]
    gpg: F22854456422B6AA080DDC0F41FE7D6F018E72BD: skipped: No public key
    gpg: [stdin]: encryption failed: No public key
    [DEBUG] store/sub/write.go:49 Failed encrypt secret: exit status 2
    [DEBUG] action/errors.go:60 Stacktrace: Failed to encrypt
    github.com/gopasspw/gopass/pkg/store.init.ializers
            /home/tex/src/go/src/github.com/gopasspw/gopass/pkg/store/err.go:11
    runtime.main
            /usr/local/go/src/runtime/proc.go:188
    runtime.goexit
            /usr/local/go/src/runtime/asm_amd64.s:1337
    
    Error: failed to write secret 'pass/dev/pgsql-rm/read_model_migrations': Failed to encrypt
    ⨯ [email protected]  ~\Desktop\Work\Passwords\pass   master ≣                                           [16:10]
    ❯ gpg.exe --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys
    sec:u:4096:1:CD3833FA2ACF816C:1576667410:::u:::scESC:::+:::23::0:
    fpr:::::::::69CB13B55D75DEF6E4A08297CD3833FA2ACF816C:
    grp:::::::::8F49FFDEBA8442D6CD01B8FC20F9346B865626FF:
    uid:u::::1576667410::880A25962758AA323EC520E5B4857E9236B84BEF::Kerry Perret (Meow) <[email protected]>::::::::::0:
    ssb:u:4096:1:7C8692C8A3446CBA:1576667410::::::e:::+:::23:
    fpr:::::::::61884AAE4E84CA04B677C1437C8692C8A3446CBA:
    grp:::::::::D2E15DA41C162B457032B13DBD7B1809E6B663CB:
    

    My config.yml file content:

    root:
      askformore: false
      autoclip: true
      autoprint: false
      autoimport: true
      autosync: false
      check_recipient_hash: false
      cliptimeout: 45
      concurrency: 1
      editrecipients: false
      nocolor: false
      noconfirm: true
      nopager: false
      notifications: true
      path: gpgcli-gitcli-fs+file:///C:%5CUsers%5CMichelle%5CDesktop%5CWork%5CPasswords%5Cpass
      recipient_hash:
        .gpg-id: 3078434433383333464132414346383136430aa69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
      safecontent: false
      usesymbols: false
    mounts: {}
    

    I'm not too sure whether this is ok but the content of the file in the root repo .gpg-id file (aka from the origin repo) differs from the one config.yml file, does it really matter?

    See above

    Expected behavior

    Should add the password to my pass store.

    Environment

    • OS: Windows 10 Pro

    Relevant bits of the PowerShell Get-ComputerInfo:

    OsName                                                  : Microsoft Windows 10 Enterprise
    OsType                                                  : WINNT
    OsOperatingSystemSKU                                    : EnterpriseEdition
    OsVersion                                               : 10.0.18363
    OsCSDVersion                                            :
    OsBuildNumber                                           : 18363
    OsHotFixes                                              : {KB4578974, KB4497165, KB4513661, KB4516115...}
    OsBootDevice                                            : \Device\HarddiskVolume3
    OsSystemDevice                                          : \Device\HarddiskVolume5
    OsSystemDirectory                                       : C:\WINDOWS\system32
    OsSystemDrive                                           : C:
    OsWindowsDirectory                                      : C:\WINDOWS
    OsCountryCode                                           : 33
    OsCurrentTimeZone                                       : 60
    OsLocaleID                                              : 040c
    OsLocale                                                : fr-FR
    OsLocalDateTime                                         : 10/30/2020 4:21:57 PM
    OsLastBootUpTime                                        : 10/26/2020 3:00:52 AM
    OsUptime                                                : 4.13:21:04.6356128
    OsBuildType                                             : Multiprocessor Free
    OsCodeSet                                               : 1252
    OsDataExecutionPreventionAvailable                      : True
    OsDataExecutionPrevention32BitApplications              : True
    OsDataExecutionPreventionDrivers                        : True
    OsDataExecutionPreventionSupportPolicy                  : OptIn
    OsDebug                                                 : False
    OsDistributed                                           : False
    OsEncryptionLevel                                       : 256
    OsForegroundApplicationBoost                            : Maximum
    OsTotalVisibleMemorySize                                : 16622560
    OsFreePhysicalMemory                                    : 3087436
    OsTotalVirtualMemorySize                                : 30192852
    OsFreeVirtualMemory                                     : 5673484
    OsInUseVirtualMemory                                    : 24519368
    OsTotalSwapSpaceSize                                    :
    OsSizeStoredInPagingFiles                               : 13570292
    OsFreeSpaceInPagingFiles                                : 10825424
    OsPagingFiles                                           : {C:\pagefile.sys}
    OsHardwareAbstractionLayer                              : 10.0.18362.752
    OsInstallDate                                           : 2/10/2020 11:00:49 PM
    OsManufacturer                                          : Microsoft Corporation
    OsMaxNumberOfProcesses                                  : 4294967295
    OsMaxProcessMemorySize                                  : 137438953344
    OsMuiLanguages                                          : {en-US, fr-FR}
    OsNumberOfLicensedUsers                                 :
    OsNumberOfProcesses                                     : 367
    OsNumberOfUsers                                         : 2
    OsArchitecture                                          : 64-bit
    OsLanguage                                              : en-US
    OsProductSuites                                         : {TerminalServicesSingleSession}
    OsOtherTypeDescription                                  :
    OsPAEEnabled                                            :
    OsPortableOperatingSystem                               : False
    OsPrimary                                               : True
    OsProductType                                           : WorkStation
    OsSerialNumber                                          : 00329-10180-00000-AA421
    OsServicePackMajorVersion                               : 0
    OsServicePackMinorVersion                               : 0
    OsStatus                                                : OK
    OsSuites                                                : {TerminalServices, TerminalServicesSingleSession}
    OsServerLevel                                           :
    
    • gopass Version: 1.8.6
    • Installation method: chocolatey, see https://chocolatey.org/packages/gopass
    help-wanted bug gpg good-first-issue 
    opened by natalie-o-perret 27
  • Command not found for zsh completion

    Command not found for zsh completion

    I use zsh -d -f to start zsh without an rc.

    ❯ zsh -d -f
    bianca2% source <(gopass completion zsh)
    _gopass:213: command not found: _describe
    _gopass:214: command not found: _arguments
    _gopass_complete_passwords:1: command not found: _arguments
    _gopass_complete_passwords:3: command not found: _values
    
    help-wanted pinned 
    opened by SevereOverfl0w 25
  • Ubuntu PPA repository

    Ubuntu PPA repository

    This is awesome tool, I looked for something like this for ages! Is there any chances that you'll set the PPA repository for Ubuntu so users like me can mirror it and use it in their companies?

    help-wanted 
    opened by nike38rus 22
  • No gpg binary found: mkdir /nonexistent: permission denied

    No gpg binary found: mkdir /nonexistent: permission denied

    Hello,

    I'm trying to update FreeBSD gopass port from 1.11.0 to 1.12.1 and I verifying a very strange behavior when port do a post-build to create completions:

    post-build:
    .for SHELL in bash fish zsh
            ${WRKDIR}/bin/${PORTNAME} completion ${SHELL} > ${WRKSRC}/${SHELL}
    .endfor
    

    And it gives the error:

    /wrkdirs/usr/ports/security/gopass/work/bin/gopass completion bash > /wrkdirs/usr/ports/security/gopass/work/gopass-1.12.1/bash
    ❌ No gpg binary found: mkdir /nonexistent: permission denied
    *** Error code 19
    
    Stop.
    make: stopped in /usr/ports/security/gopass
    build of security/gopass | gopass-1.12.1 ended at Thu Mar 11 12:09:45 WET 2021
    build time: 00:00:58
    !!! build failure encountered !!!
    
    

    It works ok with 1.11.0.

    Any hints on this issue?

    Thanks,

    Nuno Teixeira

    bug gpg 
    opened by nunotexbsd 21
  • gopass find includes symlinks

    gopass find includes symlinks

    As the pass itself and buggy tree,

    % gopass find linux
    ...password-store
    ├── IT
    │   └── linux.org.ru.gpg
    └── shops
        ├── amazon.ca.gpg -> amazon.gpg
        ├── amazon.co.uk.gpg -> amazon.gpg
        ├── amazon.com.gpg -> amazon.gpg
        ├── amazon.de.gpg -> amazon.gpg
        ├── ebay.ca.gpg -> ebay.gpg
        ├── ebay.co.uk.gpg -> ebay.gpg
    
    help-wanted can-not-reproduce 
    opened by 532910 21
  • The Windows 32-bit and 64-bit binary don't seem to work out of the box

    The Windows 32-bit and 64-bit binary don't seem to work out of the box

    Steps to reproduce:

    1. Download the 64-bit, located here.
    2. Extract it to some directory.
    3. Add that directory to the PATH variable with the instructions located here.
    4. Open a new command window via Start --> Run --> cmd
    5. Do a go init command.
    Microsoft Windows [Version 10.0.14393]
    (c) 2016 Microsoft Corporation. All rights reserved.
    
    C:\Users\Zamiell>gopass
    
    Error: password-store is not initialized. Try 'gopass init'
    
    C:\Users\Zamiell>gopass init
    
    Error: exec: "": executable file not found in %PATH%
    
    C:\Users\Zamiell>
    

    These steps were performed on a Windows 10 OS. I also tried using the 32-bit binary, and I received the same error. Any tips?

    help-wanted windows 
    opened by Zamiell 21
  • Added `gopass audit` command

    Added `gopass audit` command

    gopass audit validates known passwords against common flaws, like being too short or systematic.

    This uses my own Golang implementation of cracklib: https://github.com/muesli/crunchy

    Wordlist / dictionary checking is still on my TODO-list, but the API should remain stable for that. A simple vendor-bump would be enough in that case.

    EDIT: renamed to gopass audit after lengthy discussion below, to avoid confusion.

    opened by muesli 21
  • Failed to decrypt on Firefox addon

    Failed to decrypt on Firefox addon

    I've been using gopass for few months already. Unfortunately I'm not sure since when but gopass bridge is failing with failed to get secret: Failed to decrypt. I don't recall playing with gpg lately. The gopass cli client works fine, and gopass bridge in Chromium works fine as well. Can't figure out what might be the problem or how to fix that. I'd be happy if someone could help.

    Versions:

    • gopass 1.7.2 (39fb91ab96c8ba59b67c33d6b938a474dcbb5000) go1.10 linux amd64
    • Mozilla Firefox 63.0
    • gopass bridge 0.4.0, last updated November 5, 2018
    • Ubuntu 18.04
    • gpg (GnuPG) 2.2.4
    • libgcrypt 1.8.1
    help-wanted bug 
    opened by kleewho 20
  • Inconsistency for newlines

    Inconsistency for newlines

    Hi. I have an issue with msmtp which requires me to add ; echo at the end of passwordeval "gopass show -f mail", otherwise, I get the following error:

    msmtp: output of 'gopass show -f mail' is longer than 500 characters, or is not terminated by newline
    

    I think it's because the newline is not output when it's not in a tty. I think it would be better to have a consistent behavior to avoid this issue. Thanks.

    bug pinned 
    opened by antoyo 20
  • Bump github.com/urfave/cli/v2 from 2.6.0 to 2.7.1

    Bump github.com/urfave/cli/v2 from 2.6.0 to 2.7.1

    Bumps github.com/urfave/cli/v2 from 2.6.0 to 2.7.1.

    Release notes

    Sourced from github.com/urfave/cli/v2's releases.

    v2.7.1

    What's Changed

    Full Changelog: https://github.com/urfave/cli/compare/v2.7.0...v2.7.1

    v2.7.0

    What's Changed

    Full Changelog: https://github.com/urfave/cli/compare/v2.6.0...v2.7.0

    Commits
    • 5c1c2ea Merge pull request #1400 from urfave/docs-publish-debugging
    • b3359c3 Re-enable workflow conditions
    • e7f3925 Use correct yaml multiline :facepalm:
    • e592640 Unshallow the clone + toc cleanups
    • 5988cc6 Try running mkdocs steps directly
    • 70e1ed4 Attempt to work around materialx yaml loader boom
    • 522b7e0 Use existing secret name in docs publish step
    • 061250a Use correctly spelled repo name in mkdocs config
    • e770ee9 Merge pull request #1390 from urfave/saschagrunert-suggestions
    • f3cf764 Backing out build tag for suggestions per recommendation
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 0
  • Add flag '--keep-capitalization' to env subcommend

    Add flag '--keep-capitalization' to env subcommend

    By adding this boolean flag to the gopass env cmd, the original capitalization of the secret is maintained. This fixes #2225.

    RELEASE_NOTES=[ENHANCEMENT] Add flag to keep env variable capitalization in gopass env subcmd

    Signed-off-by: dotcs [email protected]

    opened by dotcs 0
  • env subcommand converts entry name to all upper case when setting them as environment variables

    env subcommand converts entry name to all upper case when setting them as environment variables

    Summary

    Env subcommand converts the entry name to all upper case and sets them as environment variable. This doesn't work with CLI tools that are case-sensitive.

    Terraform for example lets you pass values for variables as environment variables and requires them to be prefixed with TF_VAR_ but rest of the variable name needs to be lower case, i.e. TF_VAR_example_var. More info https://www.terraform.io/cli/config/environment-variables#tf_var_name. As the subcommand sets them all upper case, Terraform doesn't read it as it is case sensitive and instead prompts the user to enter a value for the variable.

    Steps To Reproduce

    1. Create a new entry in gopass by running
    echo "text-goes-here" | gopass insert test/env/TF_VAR_example_var
    
    1. Run the following command to view the entry you just created set as environment variable.
    gopass env test/env printenv | grep TF_VAR
    

    Expected behavior

    env subcommand retains the original case when setting the entry name as environment variable. Something like below

    ❯ gopass env test/env printenv | grep TF_VAR
    TF_VAR_example_var=text-goes-here
    

    Environment

    • OS: macOS Monterey
    • OS version: Darwin MBP 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64
    • gopass Version: 1.14.1
    • Installation method: brew

    Additional context

    Using gopass with age crypto & git backend if that makes a difference.

    Maybe this could be implemented as a flag to env subcommand to keep the case as it is from entry name and leave the current behaviour, so it doesn't break other people's work flows.

    opened by nirojan 2
  • feature-request: fsck argument for secret

    feature-request: fsck argument for secret

    Summary

    • Fsck only checks the entire root or a submount
    • If you want to check a subset of secrets, there is no easy way

    Steps To Reproduce

    • Have a folder with it's own recipients
    • Change the recipients
    • Want to fsck just that folder

    Expected behavior

    gopass fsck --decrypt should take an argument of folder or secret to check.

    Environment

    • OS: Gentoo
    • OS version: 5.17.1-x86_64-00002-gREDACTED
    • gopass Version: 1.13.0
    • Installation method: package manager
    opened by robbat2 1
  • No public key found (newline '\r')

    No public key found (newline '\r')

    Summary

    Fails to encrypt using my main key. I'm on Windows (11) and I installed gopass with scoop.

    I checked .gpg-key with vim and did set ff=unix :w. I don't see any additional \r character that shouldn't be there when I used :set list

    Error message

    gpg: all values passed to '--default-key' ignored
    gpg: [email protected]\r: skipped: No public key
    gpg: [stdin]: encryption failed: No public key
    

    Versions

    gopass 1.14.1 go1.18.1 windows amd64
    gpg (GnuPG) 2.3.4
    libgcrypt 1.9.4
    

    However, rolling back to gopass 1.13.1, things work again

    gopass 1.13.1+ebb790ccf21e01e4aa16cb770b6e8356d82133a3 (ebb790ccf21e01e4aa16cb770b6e8356d82133a3) go1.17.6 windows amd64
    

    maybe helps with a bisect?

    config (from gopass 1.13.1):

    autoclip: false
    autoimport: true
    cliptimeout: 35
    exportkeys: true
    nopager: false
    notifications: true
    parsing: false
    path: C:\Users\olive\.private\password-store
    safecontent: false
    

    Steps To Reproduce

    gopass edit secret

    irrelevant?

    I have subkeys as encryption targets, however I believe it is failing with my main key as I think it passes the \r carriage return character.

    opened by ixil 0
Releases(v1.14.1)
Owner
Gopass
Gopass - An awesome password manager for awesome teams
Gopass
Secure, private and feature-rich CLI password manager

Kure Kure is a free and open-source password manager for the command-line. This project aims to offer the most secure and private way of operating wit

Gastón Palomeque 121 May 9, 2022
A CLI password manager written in Go

vlt A CLI password vault written in Go vlt is a command line tool for storing passwords in encrypted files. Files are stored on a per-user basis in $H

Michael Green 1 Oct 23, 2021
A simple command line functionality to convert your Kaspersky Password Manager exported file to CSV format

A simple command line functionality to convert your Kaspersky Password Manager exported file to CSV format

Vlad Plaiasu 7 Apr 20, 2022
A CLI / TUI for Microsoft Teams

teams-cli A Command Line Interface (or TUI) to interact with Microsoft Teams Status The CLI only let you log-in and fetches your user and conversation

null 161 May 15, 2022
A golang CLI to display various stats about Hockey teams and their players

A golang CLI to display various stats about Hockey teams and their players

Jonathan Mainguy 1 Oct 26, 2021
arcli - Awesome Redmine CLI

arcli is CLI for Redmine that simplifies some actions such as checking for issue details and tracking time. It supports Redmine v3.3.1+

Matija Pevec 24 Mar 2, 2022
painless task queue manager for shell commands with an intuitive cli interface (execute shell commands in distributed cloud-native queue manager).

EXEQ DOCS STILL IN PROGRESS. Execute shell commands in queues via cli or http interface. Features Simple intuitive tiny cli app. Modular queue backend

Mohammed Al Ashaal 12 Jan 29, 2022
A modern UNIX ed (line editor) clone written in Go

ed (the awesome UNIX line editor) ed is a clone of the UNIX command-line tool by the same name ed a line editor that was nortorious for being and most

James Mills 45 May 29, 2021
A go library for easy configure and run command chains. Such like pipelining in unix shells.

go-command-chain A go library for easy configure and run command chains. Such like pipelining in unix shells. Example cat log_file.txt | grep error |

null 23 Apr 3, 2022
Pack a Go workflow/function as a Unix-style pipeline command

tpack Pack a Go workflow/function as a Unix-style pipeline command. Wiki In Unix-like computer operating systems, a pipeline is a mechanism for inter-

Eugene R. 54 Mar 3, 2022
Guillaume J. Charmes 1.2k May 12, 2022
A command line tool for quickly converting Unix timestamps to human readable form.

stamp A command line tool to quickly format a Unix timestamp in a human-readable form. Installation Go is required to build this software. To just bui

Ricco Førgaard 1 Oct 30, 2021
PickleShell - best shell for unix-like os

?? PickleShell shell for super users Compilation Windows go build -o PickleShell.exe

null 1 Nov 8, 2021
NYAGOS - The hybrid Commandline Shell between UNIX & DOS

The Nihongo Yet Another GOing Shell English / Japanese NYAGOS is the commandline-shell written with the Programming Language GO and Lua. There are som

nyaos.org 298 May 2, 2022
A command line utility that automagically replaces UNIX timestamps with human interpretable timestamps.

Unfy unfy is a command line utility that automagically identifies and translated UNIX timestamps (since epoch) to human readable timestamps. Example B

Jens Rantil 39 Jan 15, 2022
Commandline Utility To Create Secure Password Hashes (scrypt / bcrypt / pbkdf2)

passhash Create Secure Password Hashes with different algorithms. I/O format is base64 conforming to RFC 4648 (also known as url safe base64 encoding)

Michael Gebetsroither 14 Jan 22, 2021
The standard library flag package with its missing features

cmd Package cmd is a minimalistic library that enables easy sub commands with the standard flag library. This library extends the standard library fla

Eyal Posener 33 Sep 23, 2021
Read from standard input and output a Haags translation of the given input.

haags Read from standard input and output a Haags translation of the given input. Building make && sudo make install You may also run go build on syst

Kees van Voorthuizen 3 Sep 13, 2021
A lightweight replacement for the standard fmt package, reduces binary size by roughly 400kb in a hello world

console This is a lightweight replacement for the fmt package, reduces the binary size by roughly 400kb in a hello world program. Please note: This pa

null 1 Nov 7, 2021