Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signature Areas not defined -> Leading to Server Overload and Errors #4104

Open
blackerking opened this issue Dec 5, 2024 · 3 comments
Open

Comments

@blackerking
Copy link

Description

When initiating the signing process in LibreSign, it is possible to omit the signature area. So there are min. 1 signature requested but no place to sign.
Despite this omission, the signing process can still be started. This leads to significant issues, including:

The system attempts to handle the signing process even without a defined signature area, which starts the process and makes a heavy load on the server side. While this the UI is not responding and or makes 0byte files. The whole procedure seems to break.

Steps to Reproduce

Open the LibreSign interface.
Create a request for signing without defining a signature area.
Start the signing process.

Expected Behavior

The signing process should not be allowed to start if the signature areas is not defined
The system should validate the presence of a signature area before proceeding to the signing process.
Appropriate error messages should be displayed to inform the user about the missing signature area.
In short: (requested_signature_fields_count == requested_signature_count)

Proposed Solution

Implement a validation check to ensure a signature area is defined before allowing the signing process to begin.
Provide clear error messages to the user if no signature area is set.
Optimize the handling of such cases to prevent unnecessary server strain.
@github-project-automation github-project-automation bot moved this to 0. Needs triage in Roadmap Dec 5, 2024
@vitormattos
Copy link
Member

When initiating the signing process in LibreSign, it is possible to omit the signature area. So there are min. 1 signature requested but no place to sign.

This is the expected behavior. Is possible to add a visible signature or not. When we digitally sign a PDF file, also is possible to only put the signature at document content, not visible by humans without a specific software to do this. This is other reason that is possible to put a qr-code at the footer of document to have a visible way to identify that the document was digitally signed.

makes a heavy load on the server side.

Could you provide more details about this? Maybe this could be a specific behavior at your environment and would be good to have more details to identify if will be possible reproduce and if is a problem related to LibreSign and not about infrastructure, we can check a way to implement more improvements at this point.

The system should validate the presence of a signature area before proceeding to the signing process.

This is a new feature that we can implement because now the visible signature isn't mandatory, but your description could be solved by adding a LibreSign Administration Setting to only allow to request to sign with a visible signature. Is a good idea, when we got a customer helping to fund this, we will be able to implement.

@blackerking
Copy link
Author

We don't like to use the certificate function of libresign, just plain signatures inside documents.
Libresign doesn't check aganist this setting and the missing signature fields. So there is "nothing" to do.

@vitormattos
Copy link
Member

There is a signature method called simple signature. In this method, you simply add an image to a PDF to say that it is signed without anything to ensure that the PDF has been changed after being signed. However, LibreSign does not work this way.

Signing with LibreSign implements the standard PAdES and the PDF is cryptographically signed with the signing key of the person signing. This signing key can be created by LibreSign itself or created by a service provider in your country.

When the signing key used to sign in LibreSign is created by a service provider in your country, it is called a qualified signature within the eIDAS standard, for example eIDAS. LibreSign accepts both types of signatures and both are PAdES cryptographic standards.

To digitally sign a document, it is not necessary to insert visible fields and if you do not insert them, it is not mandatory to insert them. The digital signature is an internal cryptographic process of the document to ensure that after a signature the document has not been altered. Inserting fields with visible signature in the PDF is something only to improve the understanding of people who do not understand that the document was digitally signed.

Regardless of the way the signature is inserted in the document, the document after being signed by LibreSign can be cryptographically validated and if a bit in the PDF is changed, the signature is invalidated.

Libresign doesn't check aganist this setting and the missing signature fields. So there is "nothing" to do.

When signing the document, if a visible signature field is placed, in all places where this field exists, only the person who is associated with this field will sign in that location. If several people sign, you can add several fields, or not, again, adding fields is optional and is not something that makes the signature simple, advanced or qualified because LibreSign works with the PAdES standard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 0. Needs triage
Development

No branches or pull requests

2 participants