PdfElixide.Signature.DSS.VRI (pdf_elixide v0.15.1)

Copy Markdown View Source

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

t()

One /VRI entry.

Types

t()

@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 /TU validation time as a raw PDF date string such as "D:20240102030405+02'00'", or nil when the entry carries none. Not parsed into a DateTime, matching PdfElixide.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.