Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

SWS provides REST interface for Pades and Cades signatures for very large files (you can sign files over 1GB). Without any problem with appliance memory as it handles files with a stream.

At this link:

Code Block
http://<IP-APPLIANCE>:8080/SignEngineWeb/rest/service

You can find this two method:

  • signPAdES

  • signCAdES

signPAdES

Below is the example of signPAdES request with CURL:

Code Block
curl --form 'credentials="{\"username\":\"DEVICENAME\",\"password\":\"PASSWORD\"}";type=application/json' --form 'preferences="{\"page\":\"1\",\"hashAlgorithm\":\"SHA256\", \"withTimestamp\": \"false\"}";type=application/json' --form file=@FILE_TO_BE_SIGNED.pdf --request POST http://<IP-APPLIANCE>:8080/SignEngineWeb/rest/service/signPAdES --output FILE_SIGNED.pdf

In this example, we are signing the file: "FILE_TO_BE_SIGNED.pdf" and the file signed will be saved in "FILE_SIGNED.pdf".

signCAdES

Below is the example of signCAdES with CURL:

Code Block
curl -X POST http://<IP-APPLIANCE>:8080/SignEngineWeb/rest/service/signCAdES --form "credentials=@credentials.json;type=application/json" --form "preferences=@cadesPreferences.json;type=application/json" --form file="@File_to_sign.pdf" -o "File_signed.pdf.p7m"

In this example, we are signing the file: "File_to_sign.pdf" and the file signed will be saved in "File_signed.pdf.p7m"

At this link, you can download the preferences and the credentials used.

Technical Configurations

By Default, you can sign until 1GB without add customization, but if you want sign files over 1GB, you must add customization properties

If you are using a Docker distribution, you must add this property in run command:

Code Block
-e SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE=@MAX_REQUEST@GB -e SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=@MAX_MULTIPART@GB

Where you can replace this placeholder:

Code Block
MAX_REQUEST -> is the max file size you want sign in GB (our advise is greater than the file size you want sign)
MAX_MULTIPART -> is the max file of request (should be at the least the value of MAX_REQUEST)

For example if you want sign a file of 3GB, you can use this value:

Code Block
MAX_REQUEST = 4

MAX_MULTIPART = 5

And the properties of docker run run will be:

Code Block
docker run ... -e SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE=4GB -e SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=5GB