How can we check whether our Digital Signature on PDF is according to 'PAdES' standard?
How to check 'PDF Digital Signature' whether it is 'PAdES' standard or not?
5k Views Asked by Pearapon Joe At
1
There are 1 best solutions below
Related Questions in PDF
- Itext get special letters from pdf
- Carrierwave file upload with different file types
- Get text from a section of a pdf page with IcePdf
- itext pdf to image convert
- PDF to Text extractor in nodejs without OS dependencies
- PDF to ByteArray Conversion
- Opening PDF file in SWT Browser - XulRunner default viewer
- Generate TCPDF output to a shared drive folder
- Combine base and ggplot graphics in R figure window in different pages
- Updating a PDF Barcode Field in iOS and Android Device
- Prevent PDFsharp from saving an image file?
- Adding attachment links between lines in itext for pdf
- Crop Pdf from each edge using itextshap
- How to create a PDF with iText+XMLWorker from servlet using custom font?
- how to create a pdf editor for grails
Related Questions in DIGITAL-SIGNATURE
- add attribute to signature xml in java
- WinVerifyTrust error code handling
- is PdfPKCS7.loadCacertsKeyStore() deprecated
- Trouble verifying XML signature with XmlDsigExcC14NTransform and InclusiveNamespaces
- Digital Signature in java / android (RSA keys)
- Digital signature tab not seen for executable developed in VC in VS2005 IDE using /keyfile and /LN as additional option in linker
- Restamping CAdES-A using Digital Signature Service from joinup.ec.europa.eu.
- What are the services available to manage digital signature?
- Error in digital signature
- Is there a standard on how to sign primitive types?
- Should elliptic curve for public key generation and signature computation be the same?
- Sign a file with SSL certificate for iOS "Shared Web Credentials" API
- In gpg, "decrypting" a signed message without the public key
- How to avoid SIGABRT when generating RSA Signature at EVP_SignFinal
- How to digitally sign PDF document using iTextSharp with PKCS7 standard (.cer)
Related Questions in PADES
- Signature PADES sequential or parallel
- Adobe displays PKCS7 parsing error when I make a PAdES LT signature using my code
- Pades Signature using PDFBox ETSI validation
- Invalid signature after adding DSS dictionary to signed PDF
- Adding OCSPs and Certs to DSS dictionary of signed PDF in node.js to make it LTV enabled
- "Unknown PdfException" by iText7 when TimeStampToken is not present in the embedded Pkcs7 UnsignedAttributes section
- Sign embedding to PDF, Document has been altered or corrupted since it was signed problem
- Find blank space(rectangle) for signature field using PDFBox
- How to sign documents with an advanced electronic signature after KYC
- Updating an existing PDF to add a signature
- The signature byte range is invalid in Acrobat
- How to PAdES BASELINE LT & LTA in itext using the Java?
- Duplicate certificates in DSS/VRI dictionary PDFBox (PAdES-LT/LTA)
- PAdES electronic signature in java
- Signature level(PAdES-B/T/LT/LTA) using PDFBox?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The OP uses third-party software (iText 5.4.2 in the case at hand) for creating PAdES signatures and now wants to check whether the resulting signatures indeed satisfy the PAdES specification. Here some ideas for that:
What do you mean by "PAdES signature"?
First of all you have to define what you mean by "PAdES signature":
Do you mean that term as defined in the upcoming PDF 2.0 specification:
Do you mean more specifically a signature following one of the PAdES baseline signature profiles as specified in ETSI EN 319 142-1?
Or would one of the additional PAdES signatures profiles from ETSI EN 319 142-2 also qualify?
In particular you have to know whether you are also considering the additional PAdES signatures profiles "for CMS digital signatures in PDF" or "for XAdES Signatures signing XML content in PDF" from ETSI EN 319 142-2 or not because these two profiles differ very much from the remaining ones.
I assume you don't consider these two profiles because the former more or less is the good old ISO 32000-1 CMS signature with a few restriction most signers follow anyways, and the latter are XML signatures which are a completely different animal altogether.
All the remaining profiles differ mostly in the amount and type of validation related information and time stamps added to the document to make the validation less and less dependent on data one has to retrieve online.
Options for checking
Manually: You take a PDF browser (like iText RUPS or the PDFBox PDF Debugger), a hex viewer, an ASN.1 Dump utility, the applicable base specification from the list above and the additional specifications referenced from the base specification and check all the criteria.
This requires quite some time for a single signature but in the end you can know everything there is to know about the tested signature. I only recommend this if you have some experience using those tools and working with specifications, or if you really have much time to learn.
Programmatically: You take a general purpose PDF library (if you take a different one than the one you create you signatures with, the credibility of the result might increase), a security functions library (e.g. BouncyCastle), the base specification and the additional ones, and start implementing a program testing the criteria in the specification.
This requires quite some time to develop but then can be re-used, e.g. for quality assurance and regression prevention. I only recommend this if you have some experience using those libraries and working with specifications, or if you really have much time to learn.
You use an existing software or service that evaluates the signature for you, e.g. the ETSI Signature Conformance Checker (http://signatures-conformance-checker.etsi.org/pub/index.shtml), a free online tool that performs numerous checkings in order to verify the conformity of the ETSI Advanced Electronic Signatures.
This obviously is the quickest option but you generally cannot be sure how reliable the tests were executed. Thus, it is good as a first opinion but depending on how much is at stake, I would want more security.
You can hire experts to analyse and assess the validity of your signature according to the desired profile.
This may be expensive but at least you have someone to resort to if later you get into trouble due to some non-compliance.