Summary: | PDFs digitally signed with Okular become locked in Adobe Acrobat so no one else can sign it | ||
---|---|---|---|
Product: | [Applications] okular | Reporter: | Cengiz Gunay <cengique> |
Component: | PDF backend | Assignee: | Okular developers <okular-devel> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | aacid, nate, nicolas.fella, oliver.sander |
Priority: | NOR | ||
Version: | 21.08.3 | ||
Target Milestone: | --- | ||
Platform: | Manjaro | ||
OS: | Linux | ||
Latest Commit: | https://gitlab.freedesktop.org/poppler/poppler/-/commit/c5bc25a0094b3fd10e8eea5296a006a4f530a771 | Version Fixed In: | Poppler 23.05.0 |
Sentry Crash Report: |
Description
Cengiz Gunay
2022-11-03 18:53:44 UTC
A colleague of mine just confirmed this. PDF allows for some fine-grained control about what you can do with a signed document and what not Looking at https://www.verypdf.com/document/pdf-format-reference/pg_0733.htm I see this: The access permissions granted for this document. Valid values are: 1 No changes to the document are permitted; any change to the document invalidates the signature 2 Permitted changes are filling in forms, instantiating page templates, and signing; other changes invalidate the signature. 3 Permitted changes are the same as for 2, as well as annotation creation, deletion, and modification; other changes invalidate the signature Default value: 2 Okular/Poppler doesn't set this, so the default (2) applies. That should explain why you cannot add a new signature (which is technically similar to adding an annotation). You should be able to do the things described in 2, like filling in forms. Note that this is my understanding based on reading the linked site and the poppler source, I haven't reproduced the issue to confirm yet It looks like this does not explain the problem. Signing https://invent.kde.org/graphics/okular/-/blob/master/autotests/data/hello_with_dummy_signature.pdf with Acrobat doesn't add a DocMDP entry either. The relevant part of the document signed by Okular: %% Original object ID: 32 0 29 0 obj << /ByteRange [ 0 490918 499126 378 ] /Contents /Filter /Adobe.PPKLite /M (D:20230428140625+02'00') /Name (Nicolas Fella) /SubFilter /adbe.pkcs7.detached /Type /Sig >> endobj And by Acrobat: %% Original object ID: 18 0 23 0 obj << /ByteRange [ 0 3871 8413 9388 ] /Contents /Filter /Adobe.PPKLite /M (D:20230428140204+02'00') /Name (Nicolas Fella) /Prop_Build << /App << /Name /Adobe#20Acrobat#20Reader#20#2864-bit#29 /OS [ /Win ] /R 1507584 /REx (2023.001.20143) /TrustedMode true >> /Filter << /Date (Apr 4 2023 18:35:16) /Name /Adobe.PPKLite /R 131104 /V 2 >> /PubSec << /Date (Apr 4 2023 18:35:16) /R 131105 >> >> /SubFilter /adbe.pkcs7.detached /Type /Sig >> endobj The difference is the /Prop_Build entry, but not sure this explains the issue https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/1372 fixes the issue for me I asked the colleague I mentioned above to test this, and it seems that the issue is indeed fixed for us as well. Thank you! |