mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-23 04:42:06 +01:00
Fix KeyAccessor.ViaKeyId sourcing primary user-id signature
This commit is contained in:
parent
e177dafd60
commit
b58bdf8ff1
1 changed files with 5 additions and 10 deletions
|
@ -110,18 +110,13 @@ public abstract class KeyAccessor {
|
|||
|
||||
@Override
|
||||
public @Nonnull PGPSignature getSignatureWithPreferences() {
|
||||
PGPSignature signature;
|
||||
if (key.getPrimaryKeyId() != key.getSubkeyId()) {
|
||||
signature = info.getCurrentSubkeyBindingSignature(key.getSubkeyId());
|
||||
} else {
|
||||
String primaryUserId = info.getPrimaryUserId();
|
||||
// If the key is located by Key ID, the algorithm of the primary User ID of the key provides the
|
||||
// preferred symmetric algorithm.
|
||||
PGPSignature signature = info.getLatestUserIdCertification(primaryUserId);
|
||||
if (signature == null) {
|
||||
signature = info.getLatestDirectKeySelfSignature();
|
||||
}
|
||||
|
||||
if (signature != null) {
|
||||
return signature;
|
||||
}
|
||||
|
||||
signature = info.getLatestUserIdCertification(info.getPrimaryUserId());
|
||||
if (signature == null) {
|
||||
throw new IllegalStateException("No valid signature found.");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue