diff --git a/openpgp/keys.go b/openpgp/keys.go index a071353e2..22b99de0d 100644 --- a/openpgp/keys.go +++ b/openpgp/keys.go @@ -122,17 +122,17 @@ func shouldPreferIdentity(existingId, potentialNewId *Identity) bool { // EncryptionKey returns the best candidate Key for encrypting a message to the // given Entity. func (e *Entity) EncryptionKey(now time.Time) (Key, bool) { - // Fail to find any encryption key if the... primarySelfSignature, primaryIdentity := e.PrimarySelfSignature() if primarySelfSignature == nil || // no self-signature found e.PrimaryKey.KeyExpired(primarySelfSignature, now) || // primary key has expired e.Revoked(now) || // primary key has been revoked primarySelfSignature.SigExpired(now) || // user ID or or direct self-signature has expired (primaryIdentity != nil && primaryIdentity.Revoked(now)) { // user ID has been revoked (for v4 keys) + // No valid encryption key can be found return Key{}, false } - // Iterate the keys to find the newest, unexpired one + // Iterate the keys to find the newest, unexpired one. candidateSubkey := -1 var maxTime time.Time for i, subkey := range e.Subkeys {