diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyAccessor.java b/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyAccessor.java index b4f61090..c27d3531 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyAccessor.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/info/KeyAccessor.java @@ -110,7 +110,13 @@ public abstract class KeyAccessor { @Override public @Nonnull PGPSignature getSignatureWithPreferences() { - PGPSignature signature = info.getLatestDirectKeySelfSignature(); + PGPSignature signature; + if (key.getPrimaryKeyId() != key.getSubkeyId()) { + signature = info.getCurrentSubkeyBindingSignature(key.getSubkeyId()); + } else { + signature = info.getLatestDirectKeySelfSignature(); + } + if (signature != null) { return signature; }