diff --git a/age/keysource.go b/age/keysource.go index c0b9c6561..941f422dc 100644 --- a/age/keysource.go +++ b/age/keysource.go @@ -179,6 +179,7 @@ func MasterKeysFromRecipients(commaSeparatedRecipients string) ([]*MasterKey, er // MasterKeyFromRecipient takes a Bech32-encoded public key and returns a new MasterKey. func MasterKeyFromRecipient(recipient string) (*MasterKey, error) { + recipient = strings.TrimSpace(recipient) parsedRecipient, err := parseRecipient(recipient) if err != nil { diff --git a/age/keysource_test.go b/age/keysource_test.go index 2a3bebdfd..35891b20f 100644 --- a/age/keysource_test.go +++ b/age/keysource_test.go @@ -20,6 +20,16 @@ func TestMasterKeysFromRecipientsEmpty(t *testing.T) { assert.Equal(recipients, make([]*MasterKey, 0)) } +func TestMasterKeyFromRecipientWithLeadingAndTrailingSpaces(t *testing.T) { + assert := assert.New(t) + + key, err := MasterKeyFromRecipient(" age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw ") + + assert.NoError(err) + + assert.Equal(key.Recipient, "age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw") +} + func TestAge(t *testing.T) { assert := assert.New(t)