/*
* DSS - Digital Signature Services
*
* Copyright (C) 2013 European Commission, Directorate-General Internal Market and Services (DG MARKT), B-1049 Bruxelles/Brussel
*
* Developed by: 2013 ARHS Developments S.A. (rue Nicolas Bové 2B, L-1253 Luxembourg) http://www.arhs-developments.com
*
* This file is part of the "DSS - Digital Signature Services" project.
*
* "DSS - Digital Signature Services" is free software: you can redistribute it and/or modify it under the terms of
* the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the
* License, or (at your option) any later version.
*
* DSS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* "DSS - Digital Signature Services". If not, see <http://www.gnu.org/licenses/>.
*/
package eu.europa.ec.markt.dss.validation102853;
import java.io.Serializable;
import eu.europa.ec.markt.dss.validation102853.crl.CRLSource;
import eu.europa.ec.markt.dss.validation102853.crl.ListCRLSource;
import eu.europa.ec.markt.dss.validation102853.loader.DataLoader;
import eu.europa.ec.markt.dss.validation102853.ocsp.ListOCSPSource;
import eu.europa.ec.markt.dss.validation102853.ocsp.OCSPSource;
/**
* Provides information on the sources to be used in the validation process in the context of a signature.
*
* @version $Revision: 946 $ - $Date: 2011-06-06 17:15:14 +0200 (Mon, 06 Jun 2011) $
*/
public interface CertificateVerifier extends Serializable {
/**
* Returns the OCSP source associated with this verifier.
*
* @return
*/
public OCSPSource getOcspSource();
/**
* Returns the CRL source associated with this verifier.
*
* @return
*/
public CRLSource getCrlSource();
/**
* Defines the source of CRL used by this class
*
* @param crlSource the crlSource to set
*/
public void setCrlSource(final CRLSource crlSource);
/**
* Defines the source of OCSP used by this class
*
* @param ocspSource the ocspSource to set
*/
public void setOcspSource(final OCSPSource ocspSource);
CertificatePool getValidationPool();
void setValidationPool(CertificatePool validationPool);
/**
* Returns the trusted certificates source associated with this verifier. This source is used to identify the trusted anchor.
*
* @return
*/
public TrustedCertificateSource getTrustedCertSource();
/**
* Sets the trusted certificates source.
*
* @param certSource The certificates source to set
*/
public void setTrustedCertSource(final TrustedCertificateSource certSource);
/**
* Returns the adjunct certificates source associated with this verifier.
*
* @return
*/
public CertificateSource getAdjunctCertSource();
/**
* Associates an adjunct certificates source to this verifier.
*
* @param adjunctCertSource
*/
public void setAdjunctCertSource(final CertificateSource adjunctCertSource);
/**
* The data loader used to access AIA certificate source.
*
* @return
*/
public DataLoader getDataLoader();
/**
* The data loader used to access AIA certificate source. If this property is not set the default {@code CommonsHttpDataLoader} is created.
*
* @param dataLoader
*/
public void setDataLoader(final DataLoader dataLoader);
/**
* This method returns the CRL source (information extracted from signatures).
*/
public ListCRLSource getSignatureCRLSource();
/**
* This method allows to set the CRL source (information extracted from signatures).
*
* @param signatureCRLSource
*/
public void setSignatureCRLSource(final ListCRLSource signatureCRLSource);
/**
* This method returns the OCSP source (information extracted from signatures).
*/
public ListOCSPSource getSignatureOCSPSource();
/**
* This method allows to set the OCSP source (information extracted from signatures).
*
* @param signatureOCSPSource
*/
public void setSignatureOCSPSource(final ListOCSPSource signatureOCSPSource);
/**
* This method creates the validation pool of certificates which is used during the validation process. It contains the certificates that compose the trusted and the adjunct
* certificate source.
*/
public CertificatePool createValidationPool();
}