You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PGPPublicKey.join modifies the key passed in #2508
PGPPublicKey.join(key, copy, …), and through it PGPPublicKeyRing.join and OpenPGPCertificate's merging, copies key.idSigs only shallowly and then merges the copy's certifications into the inner lists. As a result, joining also adds certifications to the caller's key, or replaces them in it. For example, after PGPPublicKeyRing.join(base, cert2SignsBase) (the Sequoia merge vectors in PGPPublicKeyMergeTest), base.getEncoded() has changed.
This has been the behavior since join was added in 1.71.
Fix: copy each user ID's signature list as well, as the PGPPublicKey copy constructor already does.
Activity
Added a regression test for PGPPublicKey.join leaving the key it is g…
winne42 commentedon Oct 25, 2026
solved in 5122510, thx!
Added github #2508 reference to the PGPPublicKey.join release note en…