You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds a toolbar doorhanger that lists every digital signature in the
opened PDF, runs verification asynchronously on document load, and
reports per-signature trust status with grouped sub-revisions and
the certificate chain.
Worker (src/core/document.js, worker.js, src/display/api.js):
getSignatures() walks /AcroForm/Fields, slices ByteRange detached
payloads, maps SubFilter to the PDFSignatureAlgorithm enum, and
groups sub-signatures by ByteRange containment.
Bridge: web/external_services.js exposes createSignatureVerifier();
web/firefoxcom.js implements it via FirefoxCom.requestAsync against
NSS (verifyPdfSignature, viewPdfCertificate); web/genericcom.js +
web/generic_signature_verifier.js opt-in via
enableSignatureVerification with mock fixtures so the GENERIC
build doesn't ship a button that can't return real results.
UI: web/signature_properties_manager.js owns the doorhanger DOM,
auto-verifies on load, and updates the toolbar button with one of
four state icons (loading dots, green verified, orange warn, red
error). View certificate opens about:certificate in MOZCENTRAL.
Banner severity collapses to verified / warn / error with messages
keyed to the actual return-code combination (verified, untrusted,
expired, revoked, invalid, unknown). Sub-signatures render
recursively; the green status / certificate check is reserved for
the top-level card when every signature in the document is
verified. The "Certificate: <kind>" parenthetical shows specific
information per case: actual expiration date for expired (walking
the chain to find the truly-expired entry), issuer CN for
unknown-issuer / self-signed / untrusted-issuer, one-word reason
for revoked or generic untrusted.
Three full-color SVGs ship for the toolbar state icons (verified,
warn, error). The loading state uses pure-CSS animated dots.
Gated by the enableSignatureVerification AppOption — true in
MOZCENTRAL (real NSS path), false in GENERIC by default.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments