protected void addReferencesFromOfflineCRLSource(List<TimestampReference> references){
  OfflineCRLSource crlSource=getCRLSource();
  if (crlSource != null) {
    List<X509CRL> containedX509CRLs=crlSource.getContainedX509CRLs();
    if (CollectionUtils.isNotEmpty(containedX509CRLs)) {
      usedCertificatesDigestAlgorithms.add(DigestAlgorithm.SHA1);
      for (      X509CRL x509crl : containedX509CRLs) {
        final byte[] digest=DSSUtils.digest(DigestAlgorithm.SHA1,DSSUtils.getEncoded(x509crl));
        references.add(new TimestampReference(DigestAlgorithm.SHA1,Base64.encodeBase64String(digest),TimestampReferenceCategory.REVOCATION));
      }
    }
  }
}

protected void addReferencesFromOfflineCRLSource ( List < TimestampReference > references ) { OfflineCRLSource crlSource = getCRLSource ( ) ; if ( crlSource != null ) { List < X509CRL > containedX509CRLs = crlSource . getContainedX509CRLs ( ) ; if ( CollectionUtils . isNotEmpty ( containedX509CRLs ) ) { usedCertificatesDigestAlgorithms . add ( DigestAlgorithm . SHA1 ) ; for ( X509CRL x509crl : containedX509CRLs ) { final byte [ ] digest = DSSUtils . digest ( DigestAlgorithm . SHA1 , DSSUtils . getEncoded ( x509crl ) ) ; references . add ( new TimestampReference ( DigestAlgorithm . SHA1 , Base64 . encodeBase64String ( digest ) , TimestampReferenceCategory . REVOCATION ) ) ; } } } }
this method adds references to retrieved crl responses from lt level . with lta level , we have a proof of existence
