public void SwitchToPreviousRevision()
{
LOGGER.Info("Switching to previous revision.");
latestRevision = false;
dss = reader.Catalog.GetAsDict(PdfName.DSS);
DateTime cal = pkcs7.TimeStampDate;
if (cal == DateTime.MaxValue)
cal = pkcs7.SignDate;
// TODO: get date from signature
signDate = cal;
List<String> names = fields.GetSignatureNames();
if (names.Count > 1) {
signatureName = names[names.Count - 2];
reader = new PdfReader(fields.ExtractRevision(signatureName));
fields = reader.AcroFields;
names = fields.GetSignatureNames();
signatureName = names[names.Count - 1];
pkcs7 = CoversWholeDocument();
LOGGER.Info(String.Format("Checking {0}signature {1}", pkcs7.IsTsp ? "document-level timestamp " : "", signatureName));
}
else {
LOGGER.Info("No signatures in revision");
pkcs7 = null;
}
}