We are building a web application(Java). Could anybody help brief me what we need to realize the following business scenario ?
- An user access our web site
- He inputs some data
- He generate a PDF file from the data he input and export it
- He digitally sign this PDF file
- He then upload this PDF file to our web site
- The system can parse the PDF file to know who signed this file and be sure it is of integrity and Non-repudiation and to some post-processes.
My questions are:
- What products/libraries(commercial or free opensource) should I need to implement the above ?
- Do those products provide API for developers to programmatically operate the signing process and retrieve information from a signed documents ?
- Is it a reasonable or proper way to do the digital signature in the above 3~5 steps ? could the user sign the data online in one step(e.g., without export a PDF file) ?