From e559a5fe6c31428d3da2bec13886a8dbf407cb1f Mon Sep 17 00:00:00 2001 From: Gusted Date: Tue, 30 Dec 2025 05:05:38 +0100 Subject: [PATCH] fix: use correct GPG key for export `GPGKeyToEntity` incorrectly assumed that within a keyring with multiple keys that the first key is verified and should be exported. Look at all keys and find the one that matches the verified key ID. --- models/asymkey/gpg_key.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/models/asymkey/gpg_key.go b/models/asymkey/gpg_key.go index 64866da076..cae717011e 100644 --- a/models/asymkey/gpg_key.go +++ b/models/asymkey/gpg_key.go @@ -111,7 +111,13 @@ func GPGKeyToEntity(ctx context.Context, k *GPGKey) (*openpgp.Entity, error) { if err != nil { return nil, err } - return keys[0], err + + for _, key := range keys { + if key.PrimaryKey.KeyIdString() == k.KeyID { + return key, nil + } + } + return nil, fmt.Errorf("key with %s id not found", k.KeyID) } // parseSubGPGKey parse a sub Key