Class PDFSingleSignatureValidatorImpl
java.lang.Object
se.swedenconnect.sigval.pdf.verify.impl.PDFSingleSignatureValidatorImpl
- All Implemented Interfaces:
PDFSingleSignatureValidator
Implements verification of a PDF signature, validating the actual signature and signing certificates
- Author:
- Martin Lindström (martin@idsec.se), Stefan Santesson (stefan@idsec.se)
-
Constructor Summary
ConstructorsConstructorDescriptionPDFSingleSignatureValidatorImpl
(se.idsec.signservice.security.certificate.CertificateValidator certificateValidator) ConstructorPDFSingleSignatureValidatorImpl
(se.idsec.signservice.security.certificate.CertificateValidator certificateValidator, TimeStampPolicyVerifier timeStampPolicyVerifier) ConstructorPDFSingleSignatureValidatorImpl
(se.idsec.signservice.security.certificate.CertificateValidator certificateValidator, PDFSignaturePolicyValidator pdfSignaturePolicyValidator, TimeStampPolicyVerifier timeStampPolicyVerifier) Constructor -
Method Summary
Modifier and TypeMethodDescriptionse.idsec.signservice.security.certificate.CertificateValidator
Returns the certificate validator used to validate certificatesverifyDocumentTimestamps
(List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature> documentTimestampSignatures, byte[] pdfDocument) Verifies document timestampsvoid
verifyPadesProperties
(org.bouncycastle.cms.SignerInformation signer, ExtendedPdfSigValResult sigResult) Verifies the PAdES properties of this signatureverifySignature
(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfDocument, List<PDFDocTimeStamp> documentTimestamps, PDFSignatureContext signatureContext) Verifies the signature on a PDF document
-
Constructor Details
-
PDFSingleSignatureValidatorImpl
public PDFSingleSignatureValidatorImpl(se.idsec.signservice.security.certificate.CertificateValidator certificateValidator) Constructor- Parameters:
certificateValidator
- the validator used to verify signing certificate chains
-
PDFSingleSignatureValidatorImpl
public PDFSingleSignatureValidatorImpl(se.idsec.signservice.security.certificate.CertificateValidator certificateValidator, TimeStampPolicyVerifier timeStampPolicyVerifier) Constructor- Parameters:
certificateValidator
- the validator used to verify signing certificate chainstimeStampPolicyVerifier
- verifier validating time stamps to a defined policy
-
PDFSingleSignatureValidatorImpl
public PDFSingleSignatureValidatorImpl(se.idsec.signservice.security.certificate.CertificateValidator certificateValidator, PDFSignaturePolicyValidator pdfSignaturePolicyValidator, TimeStampPolicyVerifier timeStampPolicyVerifier) Constructor- Parameters:
certificateValidator
- the validator used to verify signing certificate chainspdfSignaturePolicyValidator
- verifier of the signature results according to a defined policytimeStampPolicyVerifier
- verifier validating time stamps to a defined policy
-
-
Method Details
-
verifySignature
public ExtendedPdfSigValResult verifySignature(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfDocument, List<PDFDocTimeStamp> documentTimestamps, PDFSignatureContext signatureContext) throws Exception Verifies the signature on a PDF document- Specified by:
verifySignature
in interfacePDFSingleSignatureValidator
- Parameters:
signature
- PDF signaturepdfDocument
- PDF documentdocumentTimestamps
- document timestamps of the signed PDF documentsignatureContext
- signature context data- Returns:
- Signature validation result
- Throws:
Exception
- on errors during signature validation
-
verifyDocumentTimestamps
public List<PDFDocTimeStamp> verifyDocumentTimestamps(List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature> documentTimestampSignatures, byte[] pdfDocument) Verifies document timestamps- Specified by:
verifyDocumentTimestamps
in interfacePDFSingleSignatureValidator
- Parameters:
documentTimestampSignatures
- list of PDF signatures holding document timestampspdfDocument
- the PDF document bytes of the PDF document containing the document timestamps- Returns:
- list of PDF document timestamp objects
PDFDocTimeStamp
-
getCertificateValidator
public se.idsec.signservice.security.certificate.CertificateValidator getCertificateValidator()Returns the certificate validator used to validate certificates- Specified by:
getCertificateValidator
in interfacePDFSingleSignatureValidator
- Returns:
- certificate validator
-
verifyPadesProperties
public void verifyPadesProperties(org.bouncycastle.cms.SignerInformation signer, ExtendedPdfSigValResult sigResult) Verifies the PAdES properties of this signature- Parameters:
signer
- SignerInformation of this signaturesigResult
- signature result object for this signature
-