mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-12-07 21:01:16 +01:00
Support version 3 signature packets
This commit is contained in:
parent
6c2331d4e6
commit
30771f470a
3 changed files with 75 additions and 3 deletions
|
|
@ -158,8 +158,10 @@ public abstract class SignatureValidator {
|
|||
@Override
|
||||
public void verify(PGPSignature signature) throws SignatureValidationException {
|
||||
signatureIsNotMalformed(signingKey).verify(signature);
|
||||
signatureDoesNotHaveCriticalUnknownNotations(policy.getNotationRegistry()).verify(signature);
|
||||
signatureDoesNotHaveCriticalUnknownSubpackets().verify(signature);
|
||||
if (signature.getVersion() >= 4) {
|
||||
signatureDoesNotHaveCriticalUnknownNotations(policy.getNotationRegistry()).verify(signature);
|
||||
signatureDoesNotHaveCriticalUnknownSubpackets().verify(signature);
|
||||
}
|
||||
signatureUsesAcceptableHashAlgorithm(policy).verify(signature);
|
||||
signatureUsesAcceptablePublicKeyAlgorithm(policy, signingKey).verify(signature);
|
||||
}
|
||||
|
|
@ -373,7 +375,9 @@ public abstract class SignatureValidator {
|
|||
return new SignatureValidator() {
|
||||
@Override
|
||||
public void verify(PGPSignature signature) throws SignatureValidationException {
|
||||
signatureHasHashedCreationTime().verify(signature);
|
||||
if (signature.getVersion() >= 4) {
|
||||
signatureHasHashedCreationTime().verify(signature);
|
||||
}
|
||||
signatureDoesNotPredateSigningKey(creator).verify(signature);
|
||||
if (signature.getSignatureType() != SignatureType.PRIMARYKEY_BINDING.getCode()) {
|
||||
signatureDoesNotPredateSigningKeyBindingDate(creator).verify(signature);
|
||||
|
|
|
|||
|
|
@ -141,6 +141,9 @@ public final class SignatureSubpacketsUtil {
|
|||
* @return signature creation time subpacket
|
||||
*/
|
||||
public static @Nullable SignatureCreationTime getSignatureCreationTime(PGPSignature signature) {
|
||||
if (signature.getVersion() == 3) {
|
||||
return new SignatureCreationTime(false, signature.getCreationTime());
|
||||
}
|
||||
return hashed(signature, SignatureSubpacket.signatureCreationTime);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue