> For the complete documentation index, see [llms.txt](https://docs.uaepass.ae/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uaepass.ae/feature-guides/signature-integration-guide/hash-signing/hash-signing-single-document/hash-signing-java-sdk-set-up/pre-requisite.md).

# Quick Setup

## Pre-Requisites

**System Requirements:**

* OS 64-bit arch-type (Windows, Linux or Unix).
* Java Development Kit version 11/64-bit or later.

**Service requirements (Below are configurable):**

* Minimum memory 512 megabytes.
* Temp. directory with no restrictions. (Read/Write).

**Business requirement:**

* User who want to use this service should have **qualified signing certificate** , otherwise the user will not be able to reach the step of signing a document.
* For **Production deployment process** the SP need to be whitelisted their IP at DESC side to be able to access this URL&#x20;

  <https://ca-services.desc.gov.ae/adss/tsa&#x20>;
* In case of any SSL issues please import the DESC TSA root and intermediate certificates to resolve the error. The certificate needs to be imported in Java cacerts. In order to obtain the certificates please reach out to the onboarding/operations team.

## **Running service instructions:**

* Download .jar file along with .jks and .pem files that will be provided from UAEPASS.
* SP need to install the TSA certificate using below command:&#x20;

```sh
"keytool -importcert -file {file path} -keystore cacerts -keypass changeit -storepass changeit -noprompt -alias tsa_Staging"
```

* Get the TSA Staging certificate from respective onboarding team
* Please note that the TSA certificate needs to be installed in java cacerts for both the environments (staging and production).
* Execute the below command after verifying that you have Java 11+ successfully installed (you can check by executing command “java -version” in terminal window), values in red according to your environment values:

**Initiate the command to initialize the Jar (parameters to change as per environment):**&#x20;

```sh
java -Dtmp.dir=D:\Documents\StagingOnboarding\HashSigning\UtilityFiles2\UtilityFiles2 -DtrustStore.path=D:\Documents\StagingOnboarding\HashSigning\UtilityFiles2\UtilityFiles2\tsa-staging-tx-dev.jks -DparentCert.path=D:\Documents\StagingOnboarding\HashSigning\UtilityFiles2\UtilityFiles2\parentCertificate-stg.pem -Dtx/mp-rest/url=
https://stg-id.uaepass.ae
 -Dtx2/mp-rest/url=
https://stg-apis.uaepass.ae
 -Dtx.clientId=(SP specific client id) -Dtx.apiKey=(base64 endoded client id and secret) -Dtx.tokenRedirectUrlV2=
http://localhost:8089/v2/signature/token
 -Dtx.signIndenRedirectUrlV2=
http://localhost:8089/v2/signature/sign-identity
 -Dmax.allowed.file.size=52428800 -Dmax.allowed.files.count=10 -Dquarkus.http.port=8089 -Dquarkus.profile=staging -Xms512m -Xmx1G -jar digital-signature.jar
```

&#x20;

**List of elements in the above command:**

| Element                             | Description                                                                                                                                                                                                                                                                                |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| *Dtmp.dir (mandatory)*              | <p><em>This is any temporary location with read/write access to store files during processing temporarily locally in client’s environment.</em></p><p><em>This will be cleaned automatically by utility</em></p>                                                                           |
| *DtrustStore.path(mandatory)*       | *directory of .jks file(keystore which contains certificates as per the environment)* File will be provided by UAE PASS Onboarding team                                                                                                                                                    |
| *DparentCert.path(mandatory)*       | *directory of .pem file(used to store SSL certificates and their associated private keys as per the environment)*&#x46;ile will be provided by UAE PASS Onboarding team                                                                                                                    |
| *Dquarkus.profile(mandatory)*       | *Target environment of UAE PASS (staging or production)*                                                                                                                                                                                                                                   |
| *Dtx.clientId(mandatory)*           | *Client\_id (given by Onboarding team and automatically included) - To be used as per the environment*                                                                                                                                                                                     |
| -Dtx/mp-rest/url(mandatory)         | UAEPASS Base URL domain url depending on environment i.e. staging= [<mark style="color:green;">https://stg-id.uaepass.ae</mark>](https://stg-id.uaepass.ae/) , production=[<mark style="color:green;">https://id.uaepass.ae</mark>](https://id.uaepass.ae/)                                |
| -Dtx2/mp-rest/url(mandatory)        | -Dtx2/mp-rest/url(mandatory)---Signing Backend URL depending on environment i.e. staging =[<mark style="color:green;">https://stg-apis.uaepass.ae</mark>](https://stg-apis.uaepass.ae/) , production [<mark style="color:green;">https://apis.uaepass.ae</mark>](https://apis.uaepass.ae/) |
| *Dtx.apiKey(mandatory)*             | *Base 64 encoded value of client id and client secret (given by Onboarding team and automatically included) -  To be used as per the environment*                                                                                                                                          |
| *Dtx.signIndenRedirectUrlV2*        | *url to be redirected once the signIdentites and transaction id are generated*                                                                                                                                                                                                             |
| *Dtx.tokenRedirectUrlV2*            | *url to be redirected once the token is generated*                                                                                                                                                                                                                                         |
| Dquarkus.http.port(mandatory)       | as per SP requirement it can be changed                                                                                                                                                                                                                                                    |
| Dmax.allowed.file.size(mandatory)   | Max allowed file size                                                                                                                                                                                                                                                                      |
| Dmax.allowed.files.count(mandatory) | Max allowed file count is 10                                                                                                                                                                                                                                                               |

Please find below snapshot of folder locations below for reference:

#### Folder location where digital-signature.jar file is placed:

![](/files/gNBgRFbonTi79DvMsZAr)

#### Folder location where .jks and .pem files are placed:

![](/files/gNBgRFbonTi79DvMsZAr)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.uaepass.ae/feature-guides/signature-integration-guide/hash-signing/hash-signing-single-document/hash-signing-java-sdk-set-up/pre-requisite.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
