Skip to content
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

Error on gopass sync: Failed to decode public key 0xC6C033490CF29EF1: failed to read key ring: openpgp: unsupported feature: public key type: 22 #2192

Closed
JonasGroeger opened this issue Apr 20, 2022 · 7 comments · Fixed by #2193
Labels
bug Defects gpg GPG related
Milestone

Comments

@JonasGroeger
Copy link

JonasGroeger commented Apr 20, 2022

Summary

The command gopass sync fails to read / import cv25519 keys. A workaround is to run

$ gpg2 --import ~/.local/share/gopass/stores/store-name/.public-keys/*

before every gopass sync.

From what I can see is that gopass uses the crypto package of Go. This supports ed25519. Is there something I'm missing?

Steps To Reproduce

$ gopass --yes setup \
  --remote https://git.company.com/product/development-secrets \
  --alias company/product/development \
  --name "Jonas Gröger" \
  --email "jonas.groeger@codecentric.de"

$ gopass sync
🚥 Syncing with all remotes ...
[<root>] 
   git pull and push ... Skipped (no remote)
[company/product/development] 
   git pull and push ... OK (no changes)

   importing missing keys ... ❌ [company/product/development] Failed to decode public key 0xC6C033490CF29EF1: failed to read key ring: openpgp: unsupported feature: public key type: 22
   exporting missing keys ... nothing to do
   done
✅ All done

Expected behavior

I expected gopass to import the GPG keys into my keyring;

[company/product/development] 
  ...
  importing missing keys ... OK
  ...

Environment

  • OS: Ubuntu 21.10
  • OS version: Linux jonas-cc 5.13.0-40-generic #45-Ubuntu SMP Tue Mar 29 14:48:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • gopass Version: gopass 1.14.0 go1.18 linux amd64
  • Installation method: dpkg -i ...deb

Additional context

  • The GPG key above is published on keyserver.ubuntu.com.
$ gpg2 --list-keys 0xC6C033490CF29EF1
pub   ed25519 2021-06-28 [SC] [expires: 2024-06-27]
      45CDAE4F06CE8DDFC3EAC3EAC6C033490CF29EF1
uid           [ultimate] Jonas Gröger <jonas.groeger@codecentric.de>
sub   cv25519 2021-06-28 [E] [expires: 2024-06-27]

$ gpgconf
gpg:OpenPGP:/usr/bin/gpg
gpg-agent:Private Keys:/usr/bin/gpg-agent
scdaemon:Smartcards:/usr/lib/gnupg/scdaemon
gpgsm:S/MIME:/usr/bin/gpgsm
dirmngr:Network:/usr/bin/dirmngr
pinentry:Passphrase Entry:/usr/bin/pinentry

$ /usr/bin/gpg --version
gpg (GnuPG) 2.2.20
libgcrypt 1.8.8
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/jonas/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

@AnomalRoil
Copy link
Member

This should work in any case since gopass is actually calling gpg under the hood and not Go's crypto for that...
So if it works with your GPG, it should work with gopass.

Maybe you could consider running the command with a DEBUG log file:

GOPASS_DEBUG_LOG=/home/jonas/gopass.log gopass sync

and share with us the (redacted) log?

Do you have the same binary for both gpg2 and gpg?
(You can show us the output of gpg2 --version, since we already have the gpg one above.)

@AnomalRoil AnomalRoil added bug Defects gpg GPG related labels Apr 20, 2022
@AnomalRoil AnomalRoil added this to the 1.14.1 milestone Apr 20, 2022
@JonasGroeger
Copy link
Author

JonasGroeger commented Apr 20, 2022

Hey @AnomalRoil ,

  • The gpg2 binary is the same as the gpg binary:
$ ls -l /usr/bin/gpg2
lrwxrwxrwx 1 root root 3 Jun 21  2021 /usr/bin/gpg2 -> gpg

$ gpg2 --version
gpg (GnuPG) 2.2.20
libgcrypt 1.8.8
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/jonas/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

The full log is here:

$ GOPASS_DEBUG_LOG=/root/gopass.log gopass sync
🚥 Syncing with all remotes ...
[<root>] 
   git pull and push ... Skipped (no remote)[company/product/development] 
   git pull and push ... 
OK (no changes)
   importing missing keys ... ❌ [company/product/development] Failed to decode public key 0x11DE5B83C9263EC2: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0x146F38513F8CFB4E: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0x407588621F0A03C6: failed to read key ring: openpgp: unsupported feature: public key algorithm 22❌ [company/product/development] Failed to decode public key 0x4D5260F5511E36A3: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0x8191659EECC90D0A: failed to read key ring: openpgp: unsupported feature: public key algorithm 22❌ [company/product/development] Failed to decode public key 0x90F09CE5674FDD9E: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0xA6F1249CB257D4BA: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0xC6C033490CF29EF1: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0xD2505628F70706CA: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 0xD91DFF100D3B7C8B: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key 434DA425D3C24DB72CCCF07DA96166A45AEAE8E6: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key BF34400B610F852F8C84EBDE805F417E459415FF: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key EFABA1E7F71173EAF50C491263A26630CC3FCC3B: failed to read key ring: openpgp: unsupported feature: public key type: 22❌ [company/product/development] Failed to decode public key FF852911AB48C1B8B6C8516416A8690E6237016B: failed to read key ring: openpgp: unsupported feature: public key type: 22OK
   exporting missing keys ... nothing to do
   done
✅ All done

root@3a5278a56a91:~# cat gopass.log 
2022/04/20 13:37:00.560604 pwrules/aliases.go:52	pwrules.loadCustomAliases	no custom aliases found at /root/.config/gopass/domain-aliases.json
2022/04/20 13:37:00.561118 config/io.go:44	config.loadConfig	Trying to load config from /root/.config/gopass/config.yml
2022/04/20 13:37:00.561333 config/io.go:132	config.decode	Trying to unmarshal config into *config.Config
2022/04/20 13:37:00.561508 config/io.go:155	config.decode	Loaded config: *config.Config: &config.Config{AutoClip:false, AutoImport:false, ClipTimeout:45, ExportKeys:true, NoPager:false, Notifications:true, Parsing:true, Path:"/root/.local/share/gopass/stores/root", SafeContent:false, Mounts:map[string]string{"company/product/development":"/root/.local/share/gopass/stores/company-product-development"}, ConfigPath:"", XXX:map[string]interface {}(nil)}
2022/04/20 13:37:00.561527 config/io.go:52	config.loadConfig	Loaded config from /root/.config/gopass/config.yml: &config.Config{AutoClip:false, AutoImport:false, ClipTimeout:45, ExportKeys:true, NoPager:false, Notifications:true, Parsing:true, Path:"/root/.local/share/gopass/stores/root", SafeContent:false, Mounts:map[string]string{"company/product/development":"/root/.local/share/gopass/stores/company-product-development"}, ConfigPath:"/root/.config/gopass/config.yml", XXX:map[string]interface {}(nil)}
2022/04/20 13:37:00.561551 root/store.go:34	root.New	created store Store(Path: , Mounts: )
2022/04/20 13:37:00.561559 cache/disk.go:25	cache.NewOnDisk	New on disk cache reminder created at /root/.cache/gopass/gopass/reminder
2022/04/20 13:37:00.561652 action/commands.go:981	action.(*Action).GetCommands	Backend age added 1 commands
2022/04/20 13:37:00.561668 action/commands.go:977	action.(*Action).GetCommands	Backend gpgcli does not implement commander interface
2022/04/20 13:37:00.561680 action/commands.go:977	action.(*Action).GetCommands	Backend plain does not implement commander interface
2022/04/20 13:37:00.561693 action/commands.go:987	action.(*Action).GetCommands	Backend fs does not implement commander interface
2022/04/20 13:37:00.561703 action/commands.go:987	action.(*Action).GetCommands	Backend fossilfs does not implement commander interface
2022/04/20 13:37:00.561721 action/commands.go:997	action.(*Action).GetCommands	Backend gitfs added 1 commands
2022/04/20 13:37:00.561817 root/init.go:17	root.(*Store).IsInitialized	initializing store and possible sub-stores
2022/04/20 13:37:00.561822 root/init.go:69	root.(*Store).initialize	initialize - /root/.local/share/gopass/stores/root
2022/04/20 13:37:00.561829 leaf/store.go:49	leaf.New	Instantiating  at /root/.local/share/gopass/stores/root
2022/04/20 13:37:00.561839 backend/storage.go:78	backend.DetectStorage	Trying gitfs for /root/.local/share/gopass/stores/root
2022/04/20 13:37:00.561852 backend/storage.go:83	backend.DetectStorage	Using detected gitfs for /root/.local/share/gopass/stores/root
2022/04/20 13:37:00.562853 leaf/store.go:60	leaf.New	Storage for  => /root/.local/share/gopass/stores/root initialized as gitfs(2.25.1,path:/root/.local/share/gopass/stores/root)
2022/04/20 13:37:00.563717 backend/crypto.go:78	backend.DetectCrypto	Trying gpgcli for gitfs(2.25.1,path:/root/.local/share/gopass/stores/root)
2022/04/20 13:37:00.563752 fs/store.go:108	fs.(*Store).Exists	Checking if .gpg-id exists at /root/.local/share/gopass/stores/root/.gpg-id: true
2022/04/20 13:37:00.564387 backend/crypto.go:83	backend.DetectCrypto	Using gpgcli for gitfs(2.25.1,path:/root/.local/share/gopass/stores/root)
2022/04/20 13:37:00.564397 cli/loader.go:26	cli.loader.New	Using Crypto Backend: gpgcli
2022/04/20 13:37:00.564422 cli/gpg.go:57	cli.New	failed to read GPG config: open /root/.gnupg/gpg.conf: no such file or directory
2022/04/20 13:37:00.564892 gpgconf/binary_others.go:28	gpgconf.detectBinary	gpgconf returned "/usr/bin/gpg" for gpg
2022/04/20 13:37:00.564900 cli/gpg.go:78	cli.New	binary detected as /usr/bin/gpg
2022/04/20 13:37:00.564919 leaf/store.go:66	leaf.New	Crypto for  => /root/.local/share/gopass/stores/root initialized as &{/usr/bin/gpg [--quiet --yes --compress-algo=none --no-encrypt-to --no-auto-check-trustdb] [] [] 0xc0001e1800 false}
2022/04/20 13:37:00.564935 root/init.go:74	root.(*Store).initialize	Root Store initialized at /root/.local/share/gopass/stores/root
2022/04/20 13:37:00.564941 root/mount.go:38	root.(*Store).addMount	addMount - Path: /root/.local/share/gopass/stores/company-product-development - Full: /root/.local/share/gopass/stores/company-product-development
2022/04/20 13:37:00.564948 leaf/store.go:49	leaf.New	Instantiating company/product/development at /root/.local/share/gopass/stores/company-product-development
2022/04/20 13:37:00.564961 backend/storage.go:78	backend.DetectStorage	Trying gitfs for /root/.local/share/gopass/stores/company-product-development
2022/04/20 13:37:00.564974 backend/storage.go:83	backend.DetectStorage	Using detected gitfs for /root/.local/share/gopass/stores/company-product-development
2022/04/20 13:37:00.565534 leaf/store.go:60	leaf.New	Storage for company/product/development => /root/.local/share/gopass/stores/company-product-development initialized as gitfs(2.25.1,path:/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:00.566082 backend/crypto.go:78	backend.DetectCrypto	Trying gpgcli for gitfs(2.25.1,path:/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:00.566094 fs/store.go:108	fs.(*Store).Exists	Checking if .gpg-id exists at /root/.local/share/gopass/stores/company-product-development/.gpg-id: true
2022/04/20 13:37:00.566580 backend/crypto.go:83	backend.DetectCrypto	Using gpgcli for gitfs(2.25.1,path:/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:00.566588 cli/loader.go:26	cli.loader.New	Using Crypto Backend: gpgcli
2022/04/20 13:37:00.566596 cli/gpg.go:57	cli.New	failed to read GPG config: open /root/.gnupg/gpg.conf: no such file or directory
2022/04/20 13:37:00.567007 gpgconf/binary_others.go:28	gpgconf.detectBinary	gpgconf returned "/usr/bin/gpg" for gpg
2022/04/20 13:37:00.567012 cli/gpg.go:78	cli.New	binary detected as /usr/bin/gpg
2022/04/20 13:37:00.567021 leaf/store.go:66	leaf.New	Crypto for company/product/development => /root/.local/share/gopass/stores/company-product-development initialized as &{/usr/bin/gpg [--quiet --yes --compress-algo=none --no-encrypt-to --no-auto-check-trustdb] [] [] 0xc0005a0420 false}
2022/04/20 13:37:00.567027 fs/store.go:108	fs.(*Store).Exists	Checking if .gpg-id exists at /root/.local/share/gopass/stores/company-product-development/.gpg-id: true
2022/04/20 13:37:00.567032 leaf/init.go:18	leaf.(*Store).IsInitialized	store "/root/.local/share/gopass/stores/company-product-development" is initialized: true
2022/04/20 13:37:00.567037 root/mount.go:52	root.(*Store).addMount	Added mount company/product/development -> /root/.local/share/gopass/stores/company-product-development (/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:00.567041 root/init.go:84	root.(*Store).initialize	Sub-Store mounted at company/product/development from /root/.local/share/gopass/stores/company-product-development
2022/04/20 13:37:00.567045 root/init.go:23	root.(*Store).IsInitialized	root store is initialized
2022/04/20 13:37:00.567051 fs/store.go:108	fs.(*Store).Exists	Checking if .gpg-id exists at /root/.local/share/gopass/stores/root/.gpg-id: true
2022/04/20 13:37:00.567055 leaf/init.go:18	leaf.(*Store).IsInitialized	store "/root/.local/share/gopass/stores/root" is initialized: true
2022/04/20 13:37:00.567060 action/init.go:37	action.(*Action).IsInitialized	Store is fully initialized and ready to go

All systems go. 🚀
2022/04/20 13:37:00.567093 reminder/reminder.go:36	reminder.(*Store).lastSeen	failed to read "overdue" from cache: failed to stat /root/.cache/gopass/gopass/reminder/overdue: stat /root/.cache/gopass/gopass/reminder/overdue: no such file or directory
2022/04/20 13:37:00.567143 reminder/reminder.go:36	reminder.(*Store).lastSeen	failed to read "env" from cache: failed to stat /root/.cache/gopass/gopass/reminder/env: stat /root/.cache/gopass/gopass/reminder/env: no such file or directory
2022/04/20 13:37:00.567194 action/sync.go:27	action.(*Action).sync	🚥 Syncing with all remotes ...
2022/04/20 13:37:00.567207 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/root/
2022/04/20 13:37:00.567249 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:00.567269 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:00.567275 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id]
2022/04/20 13:37:00.567280 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/root/
2022/04/20 13:37:00.567300 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:00.567315 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:00.567322 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/company-product-development/
2022/04/20 13:37:00.567354 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:00.567379 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:00.567426 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id README.md example-secret.gpg]
2022/04/20 13:37:00.567447 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/company-product-development/
2022/04/20 13:37:00.567469 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:00.567495 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:00.567538 action/sync.go:78	action.(*Action).syncMount	[<root>] 
2022/04/20 13:37:00.567547 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/root/
2022/04/20 13:37:00.567572 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:00.567588 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:00.567592 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id]
2022/04/20 13:37:00.567598 action/sync.go:96	action.(*Action).syncMount	
   git pull and push ... 
2022/04/20 13:37:00.567618 gitfs/git.go:133	gitfs.(*Git).captureCmd	store.defaultBranch: /usr/bin/git [git rev-parse --abbrev-ref HEAD] (/root/.local/share/gopass/stores/root)
2022/04/20 13:37:00.568258 gitfs/config.go:128	gitfs.(*Git).ConfigList	/usr/bin/git [git config --list]
2022/04/20 13:37:00.568977 gitfs/config.go:107	gitfs.(*Git).ConfigGet	/usr/bin/git [git config --get remote.origin.url]
2022/04/20 13:37:00.569598 action/sync.go:103	action.(*Action).syncMount	Skipped (no remote)
2022/04/20 13:37:00.569619 action/sync.go:104	action.(*Action).syncMount	Failed to push "<root>" to its remote: git has no remote origin
2022/04/20 13:37:00.569628 action/sync.go:78	action.(*Action).syncMount	[company/product/development] 
2022/04/20 13:37:00.569637 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/company-product-development/
2022/04/20 13:37:00.569682 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:00.569706 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:00.569747 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id README.md example-secret.gpg]
2022/04/20 13:37:00.569754 action/sync.go:96	action.(*Action).syncMount	
   git pull and push ... 
2022/04/20 13:37:00.569776 gitfs/git.go:133	gitfs.(*Git).captureCmd	store.defaultBranch: /usr/bin/git [git rev-parse --abbrev-ref HEAD] (/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:00.570428 gitfs/config.go:128	gitfs.(*Git).ConfigList	/usr/bin/git [git config --list]
2022/04/20 13:37:00.570992 gitfs/config.go:107	gitfs.(*Git).ConfigGet	/usr/bin/git [git config --get remote.origin.url]
2022/04/20 13:37:00.571645 gitfs/git.go:133	gitfs.(*Git).captureCmd	store.gitPush: /usr/bin/git [git pull origin main] (/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:08.671477 gitfs/git.go:133	gitfs.(*Git).captureCmd	store.gitLsFiles: /usr/bin/git [git ls-files . --exclude-standard --others] (/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:08.673872 gitfs/git.go:133	gitfs.(*Git).captureCmd	store.gitPush: /usr/bin/git [git push origin main] (/root/.local/share/gopass/stores/company-product-development)
2022/04/20 13:37:13.346526 action/sync.go:100	action.(*Action).syncMount	Push succeeded
2022/04/20 13:37:13.346596 action/sync.go:101	action.(*Action).syncMount	OK
2022/04/20 13:37:13.346638 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/company-product-development/
2022/04/20 13:37:13.346838 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:13.346954 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:13.347158 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id README.md example-secret.gpg]
2022/04/20 13:37:13.347207 action/sync.go:175	action.syncPrintDiff	diff - added: 0 - removed: 0
2022/04/20 13:37:13.347230 action/sync.go:183	action.syncPrintDiff	 (no changes)
2022/04/20 13:37:13.347265 action/sync.go:121	action.(*Action).syncMount	Syncing Mount company/product/development. Exportkeys: true
2022/04/20 13:37:13.347282 action/sync.go:136	action.syncImportKeys	
   importing missing keys ... 
2022/04/20 13:37:13.347306 fs/store.go:40	fs.(*Store).Get	Reading .gpg-id from /root/.local/share/gopass/stores/company-product-development/.gpg-id
2022/04/20 13:37:13.347369 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0x11DE5B83C9263EC2 ...
2022/04/20 13:37:13.347397 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0x11DE5B83C9263EC2]
2022/04/20 13:37:13.352140 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0x11DE5B83C9263EC2: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.352165 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x11DE5B83C9263EC2 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x11DE5B83C9263EC2: true
2022/04/20 13:37:13.352171 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0x11DE5B83C9263EC2 from /root/.local/share/gopass/stores/company-product-development/.public-keys/0x11DE5B83C9263EC2
2022/04/20 13:37:13.352238 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0x11DE5B83C9263EC2: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.352252 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0x146F38513F8CFB4E ...
2022/04/20 13:37:13.352262 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0x146F38513F8CFB4E]
2022/04/20 13:37:13.353732 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0x146F38513F8CFB4E: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.353745 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x146F38513F8CFB4E exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x146F38513F8CFB4E: true
2022/04/20 13:37:13.353749 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0x146F38513F8CFB4E from /root/.local/share/gopass/stores/company-product-development/.public-keys/0x146F38513F8CFB4E
2022/04/20 13:37:13.353789 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0x146F38513F8CFB4E: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.353804 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0x407588621F0A03C6 ...
2022/04/20 13:37:13.353813 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0x407588621F0A03C6]
2022/04/20 13:37:13.355102 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0x407588621F0A03C6: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.355116 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x407588621F0A03C6 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x407588621F0A03C6: true
2022/04/20 13:37:13.355120 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0x407588621F0A03C6 from /root/.local/share/gopass/stores/company-product-development/.public-keys/0x407588621F0A03C6
2022/04/20 13:37:13.355369 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0x407588621F0A03C6: failed to read key ring: openpgp: unsupported feature: public key algorithm 22
2022/04/20 13:37:13.355379 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0x4D5260F5511E36A3 ...
2022/04/20 13:37:13.355385 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0x4D5260F5511E36A3]
2022/04/20 13:37:13.356624 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0x4D5260F5511E36A3: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.356641 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x4D5260F5511E36A3 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x4D5260F5511E36A3: true
2022/04/20 13:37:13.356646 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0x4D5260F5511E36A3 from /root/.local/share/gopass/stores/company-product-development/.public-keys/0x4D5260F5511E36A3
2022/04/20 13:37:13.356682 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0x4D5260F5511E36A3: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.356692 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0x8191659EECC90D0A ...
2022/04/20 13:37:13.356700 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0x8191659EECC90D0A]
2022/04/20 13:37:13.357954 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0x8191659EECC90D0A: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.357974 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x8191659EECC90D0A exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x8191659EECC90D0A: true
2022/04/20 13:37:13.357980 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0x8191659EECC90D0A from /root/.local/share/gopass/stores/company-product-development/.public-keys/0x8191659EECC90D0A
2022/04/20 13:37:13.358196 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0x8191659EECC90D0A: failed to read key ring: openpgp: unsupported feature: public key algorithm 22
2022/04/20 13:37:13.358211 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0x90F09CE5674FDD9E ...
2022/04/20 13:37:13.358219 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0x90F09CE5674FDD9E]
2022/04/20 13:37:13.359690 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0x90F09CE5674FDD9E: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.359708 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x90F09CE5674FDD9E exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x90F09CE5674FDD9E: true
2022/04/20 13:37:13.359712 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0x90F09CE5674FDD9E from /root/.local/share/gopass/stores/company-product-development/.public-keys/0x90F09CE5674FDD9E
2022/04/20 13:37:13.359751 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0x90F09CE5674FDD9E: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.359760 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0xA6F1249CB257D4BA ...
2022/04/20 13:37:13.359767 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0xA6F1249CB257D4BA]
2022/04/20 13:37:13.361149 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0xA6F1249CB257D4BA: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.361163 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xA6F1249CB257D4BA exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xA6F1249CB257D4BA: true
2022/04/20 13:37:13.361167 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0xA6F1249CB257D4BA from /root/.local/share/gopass/stores/company-product-development/.public-keys/0xA6F1249CB257D4BA
2022/04/20 13:37:13.361210 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0xA6F1249CB257D4BA: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.361220 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0xC6C033490CF29EF1 ...
2022/04/20 13:37:13.361229 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0xC6C033490CF29EF1]
2022/04/20 13:37:13.362502 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0xC6C033490CF29EF1: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.362518 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xC6C033490CF29EF1 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xC6C033490CF29EF1: true
2022/04/20 13:37:13.362522 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0xC6C033490CF29EF1 from /root/.local/share/gopass/stores/company-product-development/.public-keys/0xC6C033490CF29EF1
2022/04/20 13:37:13.362580 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0xC6C033490CF29EF1: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.362589 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0xD2505628F70706CA ...
2022/04/20 13:37:13.362596 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0xD2505628F70706CA]
2022/04/20 13:37:13.363888 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0xD2505628F70706CA: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.363911 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xD2505628F70706CA exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xD2505628F70706CA: true
2022/04/20 13:37:13.363918 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0xD2505628F70706CA from /root/.local/share/gopass/stores/company-product-development/.public-keys/0xD2505628F70706CA
2022/04/20 13:37:13.364004 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0xD2505628F70706CA: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.364027 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 0xD91DFF100D3B7C8B ...
2022/04/20 13:37:13.364043 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 0xD91DFF100D3B7C8B]
2022/04/20 13:37:13.365475 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 0xD91DFF100D3B7C8B: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.365502 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xD91DFF100D3B7C8B exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xD91DFF100D3B7C8B: true
2022/04/20 13:37:13.365507 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/0xD91DFF100D3B7C8B from /root/.local/share/gopass/stores/company-product-development/.public-keys/0xD91DFF100D3B7C8B
2022/04/20 13:37:13.365551 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 0xD91DFF100D3B7C8B: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.365562 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients 434DA425D3C24DB72CCCF07DA96166A45AEAE8E6 ...
2022/04/20 13:37:13.365572 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys 434DA425D3C24DB72CCCF07DA96166A45AEAE8E6]
2022/04/20 13:37:13.367083 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for 434DA425D3C24DB72CCCF07DA96166A45AEAE8E6: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.367104 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/434DA425D3C24DB72CCCF07DA96166A45AEAE8E6 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/434DA425D3C24DB72CCCF07DA96166A45AEAE8E6: true
2022/04/20 13:37:13.367109 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/434DA425D3C24DB72CCCF07DA96166A45AEAE8E6 from /root/.local/share/gopass/stores/company-product-development/.public-keys/434DA425D3C24DB72CCCF07DA96166A45AEAE8E6
2022/04/20 13:37:13.367146 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key 434DA425D3C24DB72CCCF07DA96166A45AEAE8E6: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.367157 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients BF34400B610F852F8C84EBDE805F417E459415FF ...
2022/04/20 13:37:13.367165 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys BF34400B610F852F8C84EBDE805F417E459415FF]
2022/04/20 13:37:13.368528 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for BF34400B610F852F8C84EBDE805F417E459415FF: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.368537 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/BF34400B610F852F8C84EBDE805F417E459415FF exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/BF34400B610F852F8C84EBDE805F417E459415FF: true
2022/04/20 13:37:13.368540 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/BF34400B610F852F8C84EBDE805F417E459415FF from /root/.local/share/gopass/stores/company-product-development/.public-keys/BF34400B610F852F8C84EBDE805F417E459415FF
2022/04/20 13:37:13.368573 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key BF34400B610F852F8C84EBDE805F417E459415FF: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.368581 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients EFABA1E7F71173EAF50C491263A26630CC3FCC3B ...
2022/04/20 13:37:13.368588 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys EFABA1E7F71173EAF50C491263A26630CC3FCC3B]
2022/04/20 13:37:13.369915 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for EFABA1E7F71173EAF50C491263A26630CC3FCC3B: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.369930 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/EFABA1E7F71173EAF50C491263A26630CC3FCC3B exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/EFABA1E7F71173EAF50C491263A26630CC3FCC3B: true
2022/04/20 13:37:13.369934 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/EFABA1E7F71173EAF50C491263A26630CC3FCC3B from /root/.local/share/gopass/stores/company-product-development/.public-keys/EFABA1E7F71173EAF50C491263A26630CC3FCC3B
2022/04/20 13:37:13.369964 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key EFABA1E7F71173EAF50C491263A26630CC3FCC3B: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.369972 leaf/crypto.go:44	leaf.(*Store).ImportMissingPublicKeys	Checking recipients FF852911AB48C1B8B6C8516416A8690E6237016B ...
2022/04/20 13:37:13.369977 cli/keyring.go:33	cli.(*GPG).listKeys	/usr/bin/gpg [/usr/bin/gpg --with-colons --with-fingerprint --fixed-list-mode --list-public-keys FF852911AB48C1B8B6C8516416A8690E6237016B]
2022/04/20 13:37:13.371291 leaf/crypto.go:52	leaf.(*Store).ImportMissingPublicKeys	[company/product/development] Failed to get public key for FF852911AB48C1B8B6C8516416A8690E6237016B: exit status 2: tru::1:1650461780:0:3:1:5
|gpg: error reading key: No public key

2022/04/20 13:37:13.371301 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/FF852911AB48C1B8B6C8516416A8690E6237016B exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/FF852911AB48C1B8B6C8516416A8690E6237016B: true
2022/04/20 13:37:13.371305 fs/store.go:40	fs.(*Store).Get	Reading .public-keys/FF852911AB48C1B8B6C8516416A8690E6237016B from /root/.local/share/gopass/stores/company-product-development/.public-keys/FF852911AB48C1B8B6C8516416A8690E6237016B
2022/04/20 13:37:13.371330 leaf/crypto.go:62	leaf.(*Store).ImportMissingPublicKeys	ERROR: [company/product/development] Failed to decode public key FF852911AB48C1B8B6C8516416A8690E6237016B: failed to read key ring: openpgp: unsupported feature: public key type: 22
2022/04/20 13:37:13.371341 action/sync.go:141	action.syncImportKeys	OK
2022/04/20 13:37:13.371356 action/sync.go:147	action.syncExportKeys	
   exporting missing keys ... 
2022/04/20 13:37:13.371363 fs/store.go:40	fs.(*Store).Get	Reading .gpg-id from /root/.local/share/gopass/stores/company-product-development/.gpg-id
2022/04/20 13:37:13.371386 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x11DE5B83C9263EC2 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x11DE5B83C9263EC2: true
2022/04/20 13:37:13.371398 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x146F38513F8CFB4E exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x146F38513F8CFB4E: true
2022/04/20 13:37:13.371404 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x407588621F0A03C6 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x407588621F0A03C6: true
2022/04/20 13:37:13.371409 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x4D5260F5511E36A3 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x4D5260F5511E36A3: true
2022/04/20 13:37:13.371415 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x8191659EECC90D0A exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x8191659EECC90D0A: true
2022/04/20 13:37:13.371420 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0x90F09CE5674FDD9E exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0x90F09CE5674FDD9E: true
2022/04/20 13:37:13.371425 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xA6F1249CB257D4BA exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xA6F1249CB257D4BA: true
2022/04/20 13:37:13.371434 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xC6C033490CF29EF1 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xC6C033490CF29EF1: true
2022/04/20 13:37:13.371440 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xD2505628F70706CA exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xD2505628F70706CA: true
2022/04/20 13:37:13.371445 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/0xD91DFF100D3B7C8B exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/0xD91DFF100D3B7C8B: true
2022/04/20 13:37:13.371451 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/434DA425D3C24DB72CCCF07DA96166A45AEAE8E6 exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/434DA425D3C24DB72CCCF07DA96166A45AEAE8E6: true
2022/04/20 13:37:13.371456 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/BF34400B610F852F8C84EBDE805F417E459415FF exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/BF34400B610F852F8C84EBDE805F417E459415FF: true
2022/04/20 13:37:13.371461 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/EFABA1E7F71173EAF50C491263A26630CC3FCC3B exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/EFABA1E7F71173EAF50C491263A26630CC3FCC3B: true
2022/04/20 13:37:13.371466 fs/store.go:108	fs.(*Store).Exists	Checking if .public-keys/FF852911AB48C1B8B6C8516416A8690E6237016B exists at /root/.local/share/gopass/stores/company-product-development/.public-keys/FF852911AB48C1B8B6C8516416A8690E6237016B: true
2022/04/20 13:37:13.371471 action/sync.go:161	action.syncExportKeys	nothing to do
2022/04/20 13:37:13.371480 action/sync.go:130	action.(*Action).syncMount	
   done
2022/04/20 13:37:13.371487 action/sync.go:52	action.(*Action).sync	OK: All done
2022/04/20 13:37:13.371495 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/root/
2022/04/20 13:37:13.371538 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:13.371556 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:13.371561 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id]
2022/04/20 13:37:13.371565 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/root/
2022/04/20 13:37:13.371585 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:13.371598 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:13.371604 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/company-product-development/
2022/04/20 13:37:13.371629 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:13.371653 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:13.371692 leaf/list.go:25	leaf.(*Store).List	Listing : [.gitattributes .gpg-id README.md example-secret.gpg]
2022/04/20 13:37:13.371713 fs/store.go:117	fs.(*Store).List	Listing /root/.local/share/gopass/stores/company-product-development/
2022/04/20 13:37:13.371734 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .git/, prefix: )
2022/04/20 13:37:13.371754 fs/store.go:125	fs.(*Store).List.func1	skipping dot dir (relPath: .public-keys/, prefix: )
2022/04/20 13:37:13.371830 notify/notify_dbus.go:23	notify.Notify	DBus failure: exec: "dbus-launch": executable file not found in $PATH
2022/04/20 13:37:13.371844 queue/background.go:89	queue.(*Queue).run	all tasks done

Note that there are two different errors:

  • failed to read key ring: openpgp: unsupported feature: public key type: 22
  • failed to read key ring: openpgp: unsupported feature: public key algorithm 22

@JonasGroeger
Copy link
Author

JonasGroeger commented Apr 20, 2022

Here is where it blows up https://github.com/gopasspw/gopass/blob/v1.14.0/internal/store/leaf/crypto.go#L62

Then in

func (s *Store) decodePublicKey(ctx context.Context, r string) ([]string, error) {
it
func (g *GPG) ReadNamesFromKey(ctx context.Context, buf []byte) ([]string, error) {
and then
el, err := openpgp.ReadArmoredKeyRing(bytes.NewReader(buf))

So openpgp.ReadArmoredKeyRing(bytes.NewReader(buf)) which apparently is frozen and deprecated


import (
    ...
	//lint:ignore SA1019 we'll try to migrate away later
	"golang.org/x/crypto/openpgp"
)

but does not support ed25519 keys.

This also explains why the manual import works as a workaround. I have never written a single line of go (and not planning to) so (as I'm unable to provide a patch) I'm living with the workaround.

@JonasGroeger
Copy link
Author

@kastnerp Do you have any more input?

@AnomalRoil
Copy link
Member

Okay, I guess it's time to simply try to migrate to the maintained https://github.com/ProtonMail/go-crypto openpgp instead ^^'

AnomalRoil added a commit that referenced this issue Apr 20, 2022
RELEASE_NOTES=[REFACTORING] Migrating to a maintained version of openpgp

Fixes #2192
AnomalRoil added a commit that referenced this issue Apr 20, 2022
RELEASE_NOTES=[REFACTORING] Migrating to a maintained version of openpgp

Fixes #2192

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
AnomalRoil added a commit that referenced this issue Apr 20, 2022
RELEASE_NOTES=[CLEANUP] Migrating to a maintained version of openpgp

Fixes #2192

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
dominikschulz pushed a commit that referenced this issue Apr 20, 2022
RELEASE_NOTES=[CLEANUP] Migrating to a maintained version of openpgp

Fixes #2192

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
@JonasGroeger
Copy link
Author

Using a compiled version of the master branch it works as expected:

./gopass sync -s company/product/development
🚥 Syncing with all remotes ...
[company/product/development] 
   gitfs pull and push ... OK (no changes)
   importing missing keys ... Do you want to import the public key "0x90F09CE5674FDD9E" into your keyring? [y/N/q]: y
[company/product/development] Imported public key for 0x90F09CE5674FDD9E into KeyringOK
   exporting missing keys ... nothing to do
   done
✅ All done

/tmp/gopass on master ❯ ./gopass version
gopass 1.14.0-git+HEAD go1.18.1 linux amd64
<root>     - gpg 2.2.20 - gitfs 2.32.0
Available Crypto Backends: age, gpgcli, plain
Available Storage Backends: fossilfs, fs, gitfs

I didn't expect this to be fixed that fast!

@AnomalRoil
Copy link
Member

AnomalRoil commented Apr 20, 2022

Well, this one is really thanks to the work done by the amazing team at Protonmail!
It was really just a drop-in replacement to their maintained module on our side.

And also thanks to your investigative work that allowed us to quickly pinpoint the issue. I had forgotten we were relying on a native lib as well as on gpg for public key stuff.

kpitt pushed a commit to kpitt/gopass that referenced this issue Jul 21, 2022
RELEASE_NOTES=[CLEANUP] Migrating to a maintained version of openpgp

Fixes gopasspw#2192

Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Defects gpg GPG related
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants