The validation material a document security store scopes to one signature.
A /VRI entry is the same three kinds of DER blob the store carries at
document level, narrowed to a single signature and keyed by a digest of that
signature's :contents. PdfElixide.Signature.DSS.vri_for/2 is how you reach
the entry belonging to a signature you hold.
Nothing here is validated, parsed or checked; see PdfElixide.Signature.DSS
for what that means and how to decode a blob.
Summary
Types
@type t() :: %PdfElixide.Signature.DSS.VRI{ certificates: [binary()], crls: [binary()], ocsp_responses: [binary()], signature_digest: String.t(), timestamp: String.t() | nil }
One /VRI entry.
:signature_digest— the key this entry was filed under: the uppercase hexadecimal SHA-1 of a signature's:contents, over the raw padded bytes rather than the DER value inside them. It is reported exactly as the document spelled it, so a document that wrote the key in lowercase will not match a lookup.:certificates,:crls,:ocsp_responses— DER blobs scoped to that one signature, in document order.:timestamp— the entry's/TUvalidation time as a raw PDF date string such as"D:20240102030405+02'00'", ornilwhen the entry carries none. Not parsed into aDateTime, matchingPdfElixide.Signature's:signing_time. It is decoded as UTF-8, so bytes that are not (which a conforming date string does not contain) come back as replacement characters.