anchor.diff:  include::{sourcetestdir}/eu/europa/esig/dss/cookbook/example/snippets/OCSPSourceSnippet.java[tags=demo-online]
   ----
   
  +=== Other implementations of CRL and OCSP Sources
   
  -=== Other implementations of CRL and OCSP Sources
  -Such sources find the status of a certificate either from a list stored locally or using the information contained in the advanced signature or online way. Here is the list of sources already implemented in the DSS framework:
  +Other revocation sources find the status of a certificate either from a list stored locally or using the information contained in the advanced signature or online way. Here is the list of sources already implemented in the DSS framework:
   
   * CRL sources
   ** `OfflineCRLSource` : This class implements the `OfflineRevocationSource` and retrieves the revocation data from extracted information. The code is common for all signature formats and CRL contents are injected by its sub-classes :
  
positive.code: include::{sourcetestdir}/eu/europa/esig/dss/cookbook/example/snippets/CRLSourceSnippet.java[tags=demo]
  ----
  
  The interface OCSPSource defines the method which returns OCSPToken for the given certificate/issuer certificate couple:
  
  [source,java,indent=0]
  .OCSPSource usage
  
negative.code: include::{sourcetestdir}/eu/europa/esig/dss/cookbook/example/snippets/OCSPSourceSnippet.java[tags=demo-cached]
  ----
  
  === Online fetching
  
  DSS provides utilities for online fetching of revocation data from remote sources, during the signature augmentation and validation processes.
  
  WARNING: By default, revocation data are not fetched from untrusted sources.
  
  ==== CRL
  This is a representation of an Online CRL repository. This implementation will contact using HTTP protocol the CRL Responder to download the CRLs from the given URI. Note that the certificate's Authority Information Access (AIA) extension is used to find issuer's resources location like CRL file and/or Online Certificate Status Protocol (OCSP). The URIs of CRL server will be extracted from this property (OID value: 1.3.6.1.5.5.7.48.1.3).
  
  It allows the following configuration :
  