mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-12-08 21:31:08 +01:00
Reject data signatures made by non-signing primary key
This commit is contained in:
parent
741d72eadc
commit
a6f3a223b1
2 changed files with 240 additions and 1 deletions
|
|
@ -169,6 +169,17 @@ class CertificateValidator {
|
|||
return true
|
||||
}
|
||||
}
|
||||
// Reject sigs by non-signing keys
|
||||
if (userIdSignatures.none { (_, sigs) ->
|
||||
sigs.any {
|
||||
SignatureSubpacketsUtil.getKeyFlags(it)?.let { f ->
|
||||
KeyFlag.hasKeyFlag(f.flags, KeyFlag.SIGN_DATA)
|
||||
} == true
|
||||
}
|
||||
}) {
|
||||
throw SignatureValidationException(
|
||||
"Signature was generated by non-signing key.")
|
||||
}
|
||||
} else { // signing key is subkey
|
||||
val subkeySigs = mutableListOf<PGPSignature>()
|
||||
signingSubkey
|
||||
|
|
@ -183,7 +194,7 @@ class CertificateValidator {
|
|||
}
|
||||
} catch (e: SignatureValidationException) {
|
||||
rejections[it] = e
|
||||
LOGGER.debug("REjecting subkey revocation signature: ${e.message}", e)
|
||||
LOGGER.debug("Rejecting subkey revocation signature: ${e.message}", e)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue