Class ValidatorChainBuilder
- java.lang.Object
-
- com.itextpdf.signatures.validation.ValidatorChainBuilder
-
public class ValidatorChainBuilder extends java.lang.ObjectA builder class to construct all necessary parts of a validation chain. The builder can be reused to create multiple instances of a validator.
-
-
Field Summary
Fields Modifier and Type Field Description private AdESReportAggregatoradESReportAggregatorprivate java.util.function.Supplier<CertificateChainValidator>certificateChainValidatorFactoryprivate java.util.function.Supplier<IssuingCertificateRetriever>certificateRetrieverFactoryprivate java.util.function.Supplier<ICrlClient>crlClientFactoryprivate java.util.function.Supplier<CRLValidator>crlValidatorFactoryprivate java.util.function.Supplier<DocumentRevisionsValidator>documentRevisionsValidatorFactoryprivate java.util.Collection<java.security.cert.Certificate>knownCertificatesprivate java.util.function.Supplier<IOcspClientBouncyCastle>ocspClientFactoryprivate java.util.function.Supplier<OCSPValidator>ocspValidatorFactoryprivate SignatureValidationPropertiespropertiesprivate java.util.function.Supplier<IResourceRetriever>resourceRetrieverFactoryprivate java.util.function.Supplier<RevocationDataValidator>revocationDataValidatorFactoryprivate java.util.Collection<java.security.cert.Certificate>trustedCertificates
-
Constructor Summary
Constructors Constructor Description ValidatorChainBuilder()Creates a ValidatorChainBuilder using default implementations
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CertificateChainValidatorbuildCertificateChainValidator()Create a newCertificateChainValidatorinstance.CRLValidatorbuildCRLValidator()Create a newCRLValidatorinstance.DocumentRevisionsValidatorbuildDocumentRevisionsValidator()Create a bewDocumentRevisionsValidatorinstance with the current configuration.private IssuingCertificateRetrieverbuildIssuingCertificateRetriever()OCSPValidatorbuildOCSPValidator()Create a newOCSPValidatorinstance.RevocationDataValidatorbuildRevocationDataValidator()Create a newRevocationDataValidatorinstance This method can be used to create multiple validators.SignatureValidatorbuildSignatureValidator(PdfDocument document)Create a newSignatureValidatorinstance with the current configuration.AdESReportAggregatorgetAdESReportAggregator()Retrieves the explicitly added or automatically createdAdESReportAggregatorinstance.(package private) CertificateChainValidatorgetCertificateChainValidator()Retrieves the explicitly added or automatically createdCertificateChainValidatorinstance.IssuingCertificateRetrievergetCertificateRetriever()Retrieves the explicitly added or automatically createdIssuingCertificateRetrieverinstance.(package private) ICrlClientgetCrlClient()Retrieves the explicitly added or automatically createdICrlClientinstance.(package private) CRLValidatorgetCRLValidator()Retrieves the explicitly added or automatically createdCRLValidatorinstance.(package private) DocumentRevisionsValidatorgetDocumentRevisionsValidator()Retrieves the explicitly added or automatically createdDocumentRevisionsValidatorinstance.(package private) IOcspClientBouncyCastlegetOcspClient()Retrieves the explicitly added or automatically createdIOcspClientBouncyCastleinstance.(package private) OCSPValidatorgetOCSPValidator()Retrieves the explicitly added or automatically createdOCSPValidatorinstance.SignatureValidationPropertiesgetProperties()Retrieves the explicitly added or automatically createdSignatureValidationPropertiesinstance.IResourceRetrievergetResourceRetriever()Retrieves the explicitly added or automatically createdIResourceRetrieverinstance.(package private) RevocationDataValidatorgetRevocationDataValidator()Retrieves the explicitly added or automatically createdRevocationDataValidatorinstance.ValidatorChainBuilderwithAdESReportAggregator(AdESReportAggregator adESReportAggregator)Use this AdES report aggregator to enable AdES compliant report generation.ValidatorChainBuilderwithCertificateChainValidatorFactory(java.util.function.Supplier<CertificateChainValidator> certificateChainValidatorFactory)Use this factory method to create instances ofCertificateChainValidatorfor use in the validation chain.ValidatorChainBuilderwithCrlClient(java.util.function.Supplier<ICrlClient> crlClientFactory)Use this factory to create instances ofICrlClientfor use in the validation chain.ValidatorChainBuilderwithCRLValidatorFactory(java.util.function.Supplier<CRLValidator> crlValidatorFactory)Use this factory method to create instances ofCRLValidatorfor use in the validation chain.ValidatorChainBuilderwithDocumentRevisionsValidatorFactory(java.util.function.Supplier<DocumentRevisionsValidator> documentRevisionsValidatorFactory)Use this factory method to create instances ofDocumentRevisionsValidatorfor use in the validation chain.ValidatorChainBuilderwithIssuingCertificateRetrieverFactory(java.util.function.Supplier<IssuingCertificateRetriever> certificateRetrieverFactory)Use this factory method to create instances ofIssuingCertificateRetrieverfor use in the validation chain.ValidatorChainBuilderwithKnownCertificates(java.util.Collection<java.security.cert.Certificate> knownCertificates)Adds known certificates to theIssuingCertificateRetriever.ValidatorChainBuilderwithOcspClient(java.util.function.Supplier<IOcspClientBouncyCastle> ocspClientFactory)Use this factory to create instances ofIOcspClientBouncyCastlefor use in the validation chain.ValidatorChainBuilderwithOCSPValidatorFactory(java.util.function.Supplier<OCSPValidator> ocspValidatorFactory)Use this factory method to create instances ofOCSPValidatorfor use in the validation chain.ValidatorChainBuilderwithResourceRetriever(java.util.function.Supplier<IResourceRetriever> resourceRetrieverFactory)Use this factory method to create instances ofIResourceRetrieverfor use in the validation chain.ValidatorChainBuilderwithRevocationDataValidatorFactory(java.util.function.Supplier<RevocationDataValidator> revocationDataValidatorFactory)Use this factory method to create instances ofRevocationDataValidatorfor use in the validation chain.ValidatorChainBuilderwithSignatureValidationProperties(SignatureValidationProperties properties)Use this instance of aSignatureValidationPropertiesin the validation chain.ValidatorChainBuilderwithTrustedCertificates(java.util.Collection<java.security.cert.Certificate> trustedCertificates)Sets the trusted certificates to theIssuingCertificateRetriever.
-
-
-
Field Detail
-
properties
private SignatureValidationProperties properties
-
certificateRetrieverFactory
private java.util.function.Supplier<IssuingCertificateRetriever> certificateRetrieverFactory
-
certificateChainValidatorFactory
private java.util.function.Supplier<CertificateChainValidator> certificateChainValidatorFactory
-
revocationDataValidatorFactory
private java.util.function.Supplier<RevocationDataValidator> revocationDataValidatorFactory
-
ocspValidatorFactory
private java.util.function.Supplier<OCSPValidator> ocspValidatorFactory
-
crlValidatorFactory
private java.util.function.Supplier<CRLValidator> crlValidatorFactory
-
resourceRetrieverFactory
private java.util.function.Supplier<IResourceRetriever> resourceRetrieverFactory
-
documentRevisionsValidatorFactory
private java.util.function.Supplier<DocumentRevisionsValidator> documentRevisionsValidatorFactory
-
ocspClientFactory
private java.util.function.Supplier<IOcspClientBouncyCastle> ocspClientFactory
-
crlClientFactory
private java.util.function.Supplier<ICrlClient> crlClientFactory
-
trustedCertificates
private java.util.Collection<java.security.cert.Certificate> trustedCertificates
-
knownCertificates
private java.util.Collection<java.security.cert.Certificate> knownCertificates
-
adESReportAggregator
private AdESReportAggregator adESReportAggregator
-
-
Method Detail
-
buildSignatureValidator
public SignatureValidator buildSignatureValidator(PdfDocument document)
Create a newSignatureValidatorinstance with the current configuration. This method can be used to create multiple validators.- Parameters:
document-PdfDocumentinstance which will be validated- Returns:
- a new instance of a signature validator.
-
buildDocumentRevisionsValidator
public DocumentRevisionsValidator buildDocumentRevisionsValidator()
Create a bewDocumentRevisionsValidatorinstance with the current configuration. This method can be used to create multiple validators.- Returns:
- a new instance of a document revisions validator.
-
buildCertificateChainValidator
public CertificateChainValidator buildCertificateChainValidator()
Create a newCertificateChainValidatorinstance. This method can be used to create multiple validators.- Returns:
- a new instance of a CertificateChainValidator.
-
buildRevocationDataValidator
public RevocationDataValidator buildRevocationDataValidator()
Create a newRevocationDataValidatorinstance This method can be used to create multiple validators.- Returns:
- a new instance of a RevocationDataValidator.
-
buildOCSPValidator
public OCSPValidator buildOCSPValidator()
Create a newOCSPValidatorinstance. This method can be used to create multiple validators.- Returns:
- a new instance of a OCSPValidator.
-
buildCRLValidator
public CRLValidator buildCRLValidator()
Create a newCRLValidatorinstance. This method can be used to create multiple validators.- Returns:
- a new instance of a CRLValidator.
-
withDocumentRevisionsValidatorFactory
public ValidatorChainBuilder withDocumentRevisionsValidatorFactory(java.util.function.Supplier<DocumentRevisionsValidator> documentRevisionsValidatorFactory)
Use this factory method to create instances ofDocumentRevisionsValidatorfor use in the validation chain.- Parameters:
documentRevisionsValidatorFactory- the document revisions validator factory method to use- Returns:
- the current ValidatorChainBuilder.
-
withCRLValidatorFactory
public ValidatorChainBuilder withCRLValidatorFactory(java.util.function.Supplier<CRLValidator> crlValidatorFactory)
Use this factory method to create instances ofCRLValidatorfor use in the validation chain.- Parameters:
crlValidatorFactory- the CRLValidatorFactory method to use- Returns:
- the current ValidatorChainBuilder.
-
withResourceRetriever
public ValidatorChainBuilder withResourceRetriever(java.util.function.Supplier<IResourceRetriever> resourceRetrieverFactory)
Use this factory method to create instances ofIResourceRetrieverfor use in the validation chain.- Parameters:
resourceRetrieverFactory- the ResourceRetrieverFactory method to use.- Returns:
- the current ValidatorChainBuilder.
-
withOCSPValidatorFactory
public ValidatorChainBuilder withOCSPValidatorFactory(java.util.function.Supplier<OCSPValidator> ocspValidatorFactory)
Use this factory method to create instances ofOCSPValidatorfor use in the validation chain.- Parameters:
ocspValidatorFactory- the OCSPValidatorFactory method to use- Returns:
- the current ValidatorChainBuilder.
-
withRevocationDataValidatorFactory
public ValidatorChainBuilder withRevocationDataValidatorFactory(java.util.function.Supplier<RevocationDataValidator> revocationDataValidatorFactory)
Use this factory method to create instances ofRevocationDataValidatorfor use in the validation chain.- Parameters:
revocationDataValidatorFactory- the RevocationDataValidator factory method to use- Returns:
- the current ValidatorChainBuilder.
-
withCertificateChainValidatorFactory
public ValidatorChainBuilder withCertificateChainValidatorFactory(java.util.function.Supplier<CertificateChainValidator> certificateChainValidatorFactory)
Use this factory method to create instances ofCertificateChainValidatorfor use in the validation chain.- Parameters:
certificateChainValidatorFactory- the CertificateChainValidator factory method to use- Returns:
- the current ValidatorChainBuilder.
-
withSignatureValidationProperties
public ValidatorChainBuilder withSignatureValidationProperties(SignatureValidationProperties properties)
Use this instance of aSignatureValidationPropertiesin the validation chain.- Parameters:
properties- the SignatureValidationProperties instance to use- Returns:
- the current ValidatorChainBuilder.
-
withIssuingCertificateRetrieverFactory
public ValidatorChainBuilder withIssuingCertificateRetrieverFactory(java.util.function.Supplier<IssuingCertificateRetriever> certificateRetrieverFactory)
Use this factory method to create instances ofIssuingCertificateRetrieverfor use in the validation chain.- Parameters:
certificateRetrieverFactory- the IssuingCertificateRetriever factory method to use- Returns:
- the current ValidatorChainBuilder.
-
withOcspClient
public ValidatorChainBuilder withOcspClient(java.util.function.Supplier<IOcspClientBouncyCastle> ocspClientFactory)
Use this factory to create instances ofIOcspClientBouncyCastlefor use in the validation chain.- Parameters:
ocspClientFactory- the IOcspClient factory method to use- Returns:
- the current ValidatorChainBuilder.
-
withCrlClient
public ValidatorChainBuilder withCrlClient(java.util.function.Supplier<ICrlClient> crlClientFactory)
Use this factory to create instances ofICrlClientfor use in the validation chain.- Parameters:
crlClientFactory- the ICrlClient factory method to use- Returns:
- the current ValidatorChainBuilder.
-
withKnownCertificates
public ValidatorChainBuilder withKnownCertificates(java.util.Collection<java.security.cert.Certificate> knownCertificates)
Adds known certificates to theIssuingCertificateRetriever.- Parameters:
knownCertificates- the list of known certificates to add- Returns:
- the current ValidatorChainBuilder.
-
withTrustedCertificates
public ValidatorChainBuilder withTrustedCertificates(java.util.Collection<java.security.cert.Certificate> trustedCertificates)
Sets the trusted certificates to theIssuingCertificateRetriever.- Parameters:
trustedCertificates- the list of trusted certificates to set- Returns:
- the current ValidatorChainBuilder.
-
withAdESReportAggregator
public ValidatorChainBuilder withAdESReportAggregator(AdESReportAggregator adESReportAggregator)
Use this AdES report aggregator to enable AdES compliant report generation.Generated
PadesValidationReportreport could be provided toXmlReportGenerator.generate(PadesValidationReport, Writer).- Parameters:
adESReportAggregator- the report aggregator to use- Returns:
- the current ValidatorChainBuilder
-
getCertificateRetriever
public IssuingCertificateRetriever getCertificateRetriever()
Retrieves the explicitly added or automatically createdIssuingCertificateRetrieverinstance.- Returns:
- the explicitly added or automatically created
IssuingCertificateRetrieverinstance.
-
getProperties
public SignatureValidationProperties getProperties()
Retrieves the explicitly added or automatically createdSignatureValidationPropertiesinstance.- Returns:
- the explicitly added or automatically created
SignatureValidationPropertiesinstance.
-
getAdESReportAggregator
public AdESReportAggregator getAdESReportAggregator()
Retrieves the explicitly added or automatically createdAdESReportAggregatorinstance. Default is theNullAdESReportAggregator.- Returns:
- the explicitly added or automatically created
AdESReportAggregatorinstance.
-
getDocumentRevisionsValidator
DocumentRevisionsValidator getDocumentRevisionsValidator()
Retrieves the explicitly added or automatically createdDocumentRevisionsValidatorinstance.- Returns:
- the explicitly added or automatically created
DocumentRevisionsValidatorinstance.
-
getCertificateChainValidator
CertificateChainValidator getCertificateChainValidator()
Retrieves the explicitly added or automatically createdCertificateChainValidatorinstance.- Returns:
- the explicitly added or automatically created
CertificateChainValidatorinstance.
-
getRevocationDataValidator
RevocationDataValidator getRevocationDataValidator()
Retrieves the explicitly added or automatically createdRevocationDataValidatorinstance.- Returns:
- the explicitly added or automatically created
RevocationDataValidatorinstance.
-
getCrlClient
ICrlClient getCrlClient()
Retrieves the explicitly added or automatically createdICrlClientinstance.- Returns:
- the explicitly added or automatically created
ICrlClientinstance.
-
getOcspClient
IOcspClientBouncyCastle getOcspClient()
Retrieves the explicitly added or automatically createdIOcspClientBouncyCastleinstance.- Returns:
- the explicitly added or automatically created
IOcspClientBouncyCastleinstance.
-
getResourceRetriever
public IResourceRetriever getResourceRetriever()
Retrieves the explicitly added or automatically createdIResourceRetrieverinstance.- Returns:
- the explicitly added or automatically created
IResourceRetrieverinstance.
-
getCRLValidator
CRLValidator getCRLValidator()
Retrieves the explicitly added or automatically createdCRLValidatorinstance.- Returns:
- the explicitly added or automatically created
CRLValidatorinstance.
-
getOCSPValidator
OCSPValidator getOCSPValidator()
Retrieves the explicitly added or automatically createdOCSPValidatorinstance.- Returns:
- the explicitly added or automatically created
OCSPValidatorinstance.
-
buildIssuingCertificateRetriever
private IssuingCertificateRetriever buildIssuingCertificateRetriever()
-
-