<div dir="ltr"><div>When encrypting with a gpg key that has multiple encryption subkeys ONLY the newest encryption subkey is used when encrypting.<br></div><div>This leads to potential problems in pass when using such a key.</div><div><br></div><div>Consider this scenario:</div><div>Let's say we are using a key K with encryption subkey A.</div><div>We set up two password stores(S1 and S2) plus a git repository(G) with this key.</div><div>All fine so far.<br></div><div>Let's say now that S1 adds a encryption subkey(B) to K.</div><div>S2 is still unchanged.<br></div><div>S1 then adds a new password P, and pushes this to G, which S2 then pulls.<br></div><div>When S2 tries to read password P it will get an error message from gpg:</div><div>"gpg: decryption failed: No secret key".</div><div>Even more dangerous: if S1 after adding the key does a "pass init" with K, S2 will not be able to read a single password, if it pulls this change.</div><div><br></div><div>Patch 1,2,3 is just some tests exposing the problem.</div><div>The actual fix is in patch 4.</div><div><br></div></div>