Class ValidatorChainBuilder
- java.lang.Object
-
- com.itextpdf.signatures.validation.ValidatorChainBuilder
-
public class ValidatorChainBuilder extends java.lang.Object
A 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 AdESReportAggregator
adESReportAggregator
private java.util.function.Supplier<CertificateChainValidator>
certificateChainValidatorFactory
private java.util.function.Supplier<IssuingCertificateRetriever>
certificateRetrieverFactory
private java.util.function.Supplier<ICrlClient>
crlClientFactory
private java.util.function.Supplier<CRLValidator>
crlValidatorFactory
private java.util.function.Supplier<DocumentRevisionsValidator>
documentRevisionsValidatorFactory
private java.util.Collection<java.security.cert.Certificate>
knownCertificates
private java.util.function.Supplier<IOcspClientBouncyCastle>
ocspClientFactory
private java.util.function.Supplier<OCSPValidator>
ocspValidatorFactory
private SignatureValidationProperties
properties
private java.util.function.Supplier<IResourceRetriever>
resourceRetrieverFactory
private java.util.function.Supplier<RevocationDataValidator>
revocationDataValidatorFactory
private 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 CertificateChainValidator
buildCertificateChainValidator()
Create a newCertificateChainValidator
instance.CRLValidator
buildCRLValidator()
Create a newCRLValidator
instance.DocumentRevisionsValidator
buildDocumentRevisionsValidator()
Create a bewDocumentRevisionsValidator
instance with the current configuration.private IssuingCertificateRetriever
buildIssuingCertificateRetriever()
OCSPValidator
buildOCSPValidator()
Create a newOCSPValidator
instance.RevocationDataValidator
buildRevocationDataValidator()
Create a newRevocationDataValidator
instance This method can be used to create multiple validators.SignatureValidator
buildSignatureValidator(PdfDocument document)
Create a newSignatureValidator
instance with the current configuration.AdESReportAggregator
getAdESReportAggregator()
Retrieves the explicitly added or automatically createdAdESReportAggregator
instance.(package private) CertificateChainValidator
getCertificateChainValidator()
Retrieves the explicitly added or automatically createdCertificateChainValidator
instance.IssuingCertificateRetriever
getCertificateRetriever()
Retrieves the explicitly added or automatically createdIssuingCertificateRetriever
instance.(package private) ICrlClient
getCrlClient()
Retrieves the explicitly added or automatically createdICrlClient
instance.(package private) CRLValidator
getCRLValidator()
Retrieves the explicitly added or automatically createdCRLValidator
instance.(package private) DocumentRevisionsValidator
getDocumentRevisionsValidator()
Retrieves the explicitly added or automatically createdDocumentRevisionsValidator
instance.(package private) IOcspClientBouncyCastle
getOcspClient()
Retrieves the explicitly added or automatically createdIOcspClientBouncyCastle
instance.(package private) OCSPValidator
getOCSPValidator()
Retrieves the explicitly added or automatically createdOCSPValidator
instance.SignatureValidationProperties
getProperties()
Retrieves the explicitly added or automatically createdSignatureValidationProperties
instance.IResourceRetriever
getResourceRetriever()
Retrieves the explicitly added or automatically createdIResourceRetriever
instance.(package private) RevocationDataValidator
getRevocationDataValidator()
Retrieves the explicitly added or automatically createdRevocationDataValidator
instance.ValidatorChainBuilder
withAdESReportAggregator(AdESReportAggregator adESReportAggregator)
Use this AdES report aggregator to enable AdES compliant report generation.ValidatorChainBuilder
withCertificateChainValidatorFactory(java.util.function.Supplier<CertificateChainValidator> certificateChainValidatorFactory)
Use this factory method to create instances ofCertificateChainValidator
for use in the validation chain.ValidatorChainBuilder
withCrlClient(java.util.function.Supplier<ICrlClient> crlClientFactory)
Use this factory to create instances ofICrlClient
for use in the validation chain.ValidatorChainBuilder
withCRLValidatorFactory(java.util.function.Supplier<CRLValidator> crlValidatorFactory)
Use this factory method to create instances ofCRLValidator
for use in the validation chain.ValidatorChainBuilder
withDocumentRevisionsValidatorFactory(java.util.function.Supplier<DocumentRevisionsValidator> documentRevisionsValidatorFactory)
Use this factory method to create instances ofDocumentRevisionsValidator
for use in the validation chain.ValidatorChainBuilder
withIssuingCertificateRetrieverFactory(java.util.function.Supplier<IssuingCertificateRetriever> certificateRetrieverFactory)
Use this factory method to create instances ofIssuingCertificateRetriever
for use in the validation chain.ValidatorChainBuilder
withKnownCertificates(java.util.Collection<java.security.cert.Certificate> knownCertificates)
Adds known certificates to theIssuingCertificateRetriever
.ValidatorChainBuilder
withOcspClient(java.util.function.Supplier<IOcspClientBouncyCastle> ocspClientFactory)
Use this factory to create instances ofIOcspClientBouncyCastle
for use in the validation chain.ValidatorChainBuilder
withOCSPValidatorFactory(java.util.function.Supplier<OCSPValidator> ocspValidatorFactory)
Use this factory method to create instances ofOCSPValidator
for use in the validation chain.ValidatorChainBuilder
withResourceRetriever(java.util.function.Supplier<IResourceRetriever> resourceRetrieverFactory)
Use this factory method to create instances ofIResourceRetriever
for use in the validation chain.ValidatorChainBuilder
withRevocationDataValidatorFactory(java.util.function.Supplier<RevocationDataValidator> revocationDataValidatorFactory)
Use this factory method to create instances ofRevocationDataValidator
for use in the validation chain.ValidatorChainBuilder
withSignatureValidationProperties(SignatureValidationProperties properties)
Use this instance of aSignatureValidationProperties
in the validation chain.ValidatorChainBuilder
withTrustedCertificates(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 newSignatureValidator
instance with the current configuration. This method can be used to create multiple validators.- Parameters:
document
-PdfDocument
instance which will be validated- Returns:
- a new instance of a signature validator.
-
buildDocumentRevisionsValidator
public DocumentRevisionsValidator buildDocumentRevisionsValidator()
Create a bewDocumentRevisionsValidator
instance 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 newCertificateChainValidator
instance. This method can be used to create multiple validators.- Returns:
- a new instance of a CertificateChainValidator.
-
buildRevocationDataValidator
public RevocationDataValidator buildRevocationDataValidator()
Create a newRevocationDataValidator
instance This method can be used to create multiple validators.- Returns:
- a new instance of a RevocationDataValidator.
-
buildOCSPValidator
public OCSPValidator buildOCSPValidator()
Create a newOCSPValidator
instance. This method can be used to create multiple validators.- Returns:
- a new instance of a OCSPValidator.
-
buildCRLValidator
public CRLValidator buildCRLValidator()
Create a newCRLValidator
instance. 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 ofDocumentRevisionsValidator
for 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 ofCRLValidator
for 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 ofIResourceRetriever
for 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 ofOCSPValidator
for 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 ofRevocationDataValidator
for 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 ofCertificateChainValidator
for 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 aSignatureValidationProperties
in 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 ofIssuingCertificateRetriever
for 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 ofIOcspClientBouncyCastle
for 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 ofICrlClient
for 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
PadesValidationReport
report 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 createdIssuingCertificateRetriever
instance.- Returns:
- the explicitly added or automatically created
IssuingCertificateRetriever
instance.
-
getProperties
public SignatureValidationProperties getProperties()
Retrieves the explicitly added or automatically createdSignatureValidationProperties
instance.- Returns:
- the explicitly added or automatically created
SignatureValidationProperties
instance.
-
getAdESReportAggregator
public AdESReportAggregator getAdESReportAggregator()
Retrieves the explicitly added or automatically createdAdESReportAggregator
instance. Default is theNullAdESReportAggregator
.- Returns:
- the explicitly added or automatically created
AdESReportAggregator
instance.
-
getDocumentRevisionsValidator
DocumentRevisionsValidator getDocumentRevisionsValidator()
Retrieves the explicitly added or automatically createdDocumentRevisionsValidator
instance.- Returns:
- the explicitly added or automatically created
DocumentRevisionsValidator
instance.
-
getCertificateChainValidator
CertificateChainValidator getCertificateChainValidator()
Retrieves the explicitly added or automatically createdCertificateChainValidator
instance.- Returns:
- the explicitly added or automatically created
CertificateChainValidator
instance.
-
getRevocationDataValidator
RevocationDataValidator getRevocationDataValidator()
Retrieves the explicitly added or automatically createdRevocationDataValidator
instance.- Returns:
- the explicitly added or automatically created
RevocationDataValidator
instance.
-
getCrlClient
ICrlClient getCrlClient()
Retrieves the explicitly added or automatically createdICrlClient
instance.- Returns:
- the explicitly added or automatically created
ICrlClient
instance.
-
getOcspClient
IOcspClientBouncyCastle getOcspClient()
Retrieves the explicitly added or automatically createdIOcspClientBouncyCastle
instance.- Returns:
- the explicitly added or automatically created
IOcspClientBouncyCastle
instance.
-
getResourceRetriever
public IResourceRetriever getResourceRetriever()
Retrieves the explicitly added or automatically createdIResourceRetriever
instance.- Returns:
- the explicitly added or automatically created
IResourceRetriever
instance.
-
getCRLValidator
CRLValidator getCRLValidator()
Retrieves the explicitly added or automatically createdCRLValidator
instance.- Returns:
- the explicitly added or automatically created
CRLValidator
instance.
-
getOCSPValidator
OCSPValidator getOCSPValidator()
Retrieves the explicitly added or automatically createdOCSPValidator
instance.- Returns:
- the explicitly added or automatically created
OCSPValidator
instance.
-
buildIssuingCertificateRetriever
private IssuingCertificateRetriever buildIssuingCertificateRetriever()
-
-