1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-11-18 02:12:06 +01:00

Add documentation to SignatureVerification class

This commit is contained in:
Paul Schaub 2021-09-13 18:18:50 +02:00
parent f28232893c
commit 0a45f4de9e
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311

View file

@ -21,38 +21,83 @@ import org.bouncycastle.openpgp.PGPSignature;
import org.pgpainless.exception.SignatureValidationException; import org.pgpainless.exception.SignatureValidationException;
import org.pgpainless.key.SubkeyIdentifier; import org.pgpainless.key.SubkeyIdentifier;
/**
* Tuple of a signature and an identifier of its corresponding verification key.
* Semantic meaning of the signature verification (success, failure) is merely given by context.
* E.g. {@link OpenPgpMetadata#getVerifiedInbandSignatures()} contains verified verifications,
* while the class {@link Failure} contains failed verifications.
*/
public class SignatureVerification { public class SignatureVerification {
private final PGPSignature signature; private final PGPSignature signature;
private final SubkeyIdentifier signingKey; private final SubkeyIdentifier signingKey;
/**
* Construct a verification tuple.
*
* @param signature PGPSignature object
* @param signingKey identifier of the signing key
*/
public SignatureVerification(PGPSignature signature, @Nullable SubkeyIdentifier signingKey) { public SignatureVerification(PGPSignature signature, @Nullable SubkeyIdentifier signingKey) {
this.signature = signature; this.signature = signature;
this.signingKey = signingKey; this.signingKey = signingKey;
} }
/**
* Return the {@link PGPSignature}.
*
* @return signature
*/
public PGPSignature getSignature() { public PGPSignature getSignature() {
return signature; return signature;
} }
/**
* Return a {@link SubkeyIdentifier} of the (sub-) key that is used for signature verification.
* Note, that this method might return null, e.g. in case of a {@link Failure} due to missing verification key.
*
* @return verification key identifier
*/
@Nullable @Nullable
public SubkeyIdentifier getSigningKey() { public SubkeyIdentifier getSigningKey() {
return signingKey; return signingKey;
} }
/**
* Tuple object of a {@link SignatureVerification} and the corresponding {@link SignatureValidationException}
* that caused the verification to fail.
*/
public static class Failure { public static class Failure {
private final SignatureVerification signatureVerification; private final SignatureVerification signatureVerification;
private final SignatureValidationException validationException; private final SignatureValidationException validationException;
/**
* Construct a signature verification failure object.
*
* @param verification verification
* @param validationException exception that caused the verification to fail
*/
public Failure(SignatureVerification verification, SignatureValidationException validationException) { public Failure(SignatureVerification verification, SignatureValidationException validationException) {
this.signatureVerification = verification; this.signatureVerification = verification;
this.validationException = validationException; this.validationException = validationException;
} }
/**
* Return the verification (tuple of {@link PGPSignature} and corresponding {@link SubkeyIdentifier}
* of the signing/verification key.
*
* @return verification
*/
public SignatureVerification getSignatureVerification() { public SignatureVerification getSignatureVerification() {
return signatureVerification; return signatureVerification;
} }
/**
* Return the {@link SignatureValidationException} that caused the verification to fail.
*
* @return exception
*/
public SignatureValidationException getValidationException() { public SignatureValidationException getValidationException() {
return validationException; return validationException;
} }