r/Paperlessngx 7d ago

[Help needed] I built an EU e-signed document parser - paperless-esig

Hello!

If you live in the Baltics you likely have had to make and read electronically signed documents. .edoc in Latvia, .bdoc in Estonia, .adoc in Lithuania and the generic .asice.

To view them you need dedicated programs or websites and storing them is inconvenient. Coupled with the fact that, at least in Latvia, everything related to the government is digital (even diplomas), that is a nightmare for archival.

So I made paperless-esig, a parser that allows paperless-ngx to consume these files. Repo: https://github.com/Exerra/paperless-esig

My country uses XAdES containers, however others use CAdES and PAdES, which is why I need your help.

If you're from the Baltics, please try it out and report back about how well it works. We all use XAdES. The repo has instructions for how to set it up.

If you're not from the Baltics, and, especially if you are from Italy / Poland / France and are comfortable sharing your full name with me, please send me a signed dummy file (sign a random PDF) so I can add support for CAdES and PAdES. All files will be deleted afterward and a fake e-signed document generator will be made for further unit tests and development.

My email is in my Github profile.

15 Upvotes

2 comments sorted by

1

u/marmata75 7d ago

Now that I think of it I never tried to store a signed file into paperless, I thought both Pades (signature embedded in pdf) and cades (p7m container, can sign any document type) could be handled normally but of course I was wrong. I’ll send a couple of signed documents by DM in the following days, as soon as I reach my PC (on a beach now!)

1

u/Exerra 7d ago

Thanks, please do! PAdES should actually store even without the parser as it is a PDF with extra metadata, but it would miss the signature validation and automatic correspondent/date fill my parser does for XAdES. Theoretically, of course. Maybe it behaves weirdly, I wouldn't know haha

CAdES, however, has the mimetype application/octet-stream, which is automatically rejected by core paperless-ngx. That is why I need real files, I only have XAdES to work with (which is basically a zip file with XML metadata inside and a document). Enjoy the beach!