diff --git a/actions_resource.go b/actions_resource.go index ad0454c1cc7414bb62197597b83e5e444abb7c53..c31d952d60f8ab10ac8ed0c0a7d883bf0064590a 100644 --- a/actions_resource.go +++ b/actions_resource.go @@ -442,8 +442,15 @@ func parseOpenPGPKey(data []byte, email string) (key *crypto.Key, err error) { var found bool var identities []string for _, identity := range entity.Identities { - identities = append(identities, identity.UserId.Email) - if identity.UserId.Email == email { + // Some keys can have an empty Email field, but will + // contain an email address in the Id field. + idEmail := identity.UserId.Email + if idEmail == "" && strings.Contains(identity.UserId.Id, "@") { + idEmail = identity.UserId.Id + } + + identities = append(identities, idEmail) + if idEmail == email { found = true break }