Digital signature handler for PDF written in GO (golang).
A first concept that parses the PDF file and verifies the digital signature (based on [url removed, login to view]) is available to the developer that is awarded the project. The concept currently verifies multiple signatures and embedded certificates/revocation information, but can't sign documents and doesn't do timestamping ([url removed, login to view]), different signature types and doesn't have any logical structure, test cases, benchmarks etc.
In the concept we used the pkcs7 library from Mozilla ([url removed, login to view]) and the standard OCSP package ([url removed, login to view]).
The goal of this project is to create a library to:
- Verify and return signatures and related information in an existing document.
- Sign/certify an existing PDF document.
- Add a signature to an existing PDF document.
- All functions should include signatures, certificates, timestamping and revocation checks according to the PAdES standard. Hashing algorithms etc should be configurable and the signer used should be the [url removed, login to view] interface ([url removed, login to view]) so that a private key on an HSM can be used.
Test cases should at least include:
- Document with valid/invalid/no or corrupted signatures
- Retrieve and check timestamp of signature(s)
- Verify certificate chains (detect trusted or self-signed certs)
- Verify revocation status of certificates with embedded sources.
- Verify timestamp signature and certificate in embedded document.
Benchmarks should at least include:
- Document loading
- Document verification
- Document signing (without external dependencies as timestamping and revocation checks)
Personally, I know the digital signature scope quite well and willing to support you here and there, I don't have a lot of experience in raw PDF programming or the time to work this all out myself.
The final library should include good documentation (godoc style), tests cases and benchmarks using the standard golang framework. Code should be fully gometalinter compliant.
Some good resources about the PDF/PAdES structures and digital signatures in PDF documents are available on request.
You will probably need to write a PDF parser/writer from scratch and understand DocMDP and FieldMDP handling. Support of Linearized files is not a requirement for the first release but the design should allow adding support for this later.
Please only submit a proposal if you have a good understanding of raw PDF structures.
** Please provide details in your proposal about your experience with handling raw PDF files (not using any libraries), proposals not containing how they will approach this project will be deleted! **
13 freelancers están ofertando el promedio de €2460 para este trabajo
Hello Sir, We are an Indian company. We have checked your complete requirement and have some query. So please message us to discuss on it and provide you estimate for it and start work. Thanks..,,