private void UpdateDss()
{
PdfDictionary catalog = reader.Catalog;
writer.MarkUsed(catalog);
PdfDictionary dss = catalog.GetAsDict(PdfName.DSS);
PdfArray ocsps = dss.GetAsArray(PdfName.OCSPS);
PdfArray crls = dss.GetAsArray(PdfName.CRLS);
PdfArray certs = dss.GetAsArray(PdfName.CERTS);
dss.Remove(PdfName.OCSPS);
dss.Remove(PdfName.CRLS);
dss.Remove(PdfName.CERTS);
PdfDictionary vrim = dss.GetAsDict(PdfName.VRI);
//delete old validations
if (vrim != null)
{
foreach (PdfName n in vrim.Keys)
{
if (validated.ContainsKey(n))
{
PdfDictionary vri = vrim.GetAsDict(n);
if (vri != null)
{
DeleteOldReferences(ocsps, vri.GetAsArray(PdfName.OCSP));
DeleteOldReferences(crls, vri.GetAsArray(PdfName.CRL));
DeleteOldReferences(certs, vri.GetAsArray(PdfName.CERT));
}
}
}
}
if (ocsps == null)
{
ocsps = new PdfArray();
}
if (crls == null)
{
crls = new PdfArray();
}
if (certs == null)
{
certs = new PdfArray();
}
OutputDss(dss, vrim, ocsps, crls, certs);
}