# Initial setup

Before you can start the mobile development, there are some configurations that have to be exchanged between Thales integrators and you.

The following table is the set of configurations that will be provided by the Thales delivery team. Ensure that these settings are set up on your issuer application when calling `D1Task.Builder()` (Android) or `D1TaskComponents` (iOS).

| Parameters                   | Method (Android/iOS)                           | Description                                                                                        |
| ---------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| String d1ServiceURL          | setD1Service\_URL / d1ServiceURLString         | The URL of D1 Service Server.                                                                      |
| String issuerID              | setIssuerID / issuerID                         | Unique identifier for each customer                                                                |
| byte\[] d1ServiceRSAExponent | setD1ServiceRSAExponent / d1ServiceRSAExponent | The RSA exponent of the public key for secure communication between D1 Service Server and the SDK. |
| byte\[] d1ServiceRSAModulus  | setD1ServiceRSAModulus / d1ServiceRSAModulus   | The RSA modulus of the public key for secure communication between D1 Service Server and the SDK.  |
| String digitalCardURL        | setDigitalCard\_URL / digitalCardURLString     | The URL for digital card operation.                                                                |

To retrieve the value of RSA Modulus and Exponent from the Public Key PEM file, you can execute the following command: `openssl rsa -pubin -inform PEM -text -noout < pubkey.pem`<br>

{% hint style="info" %}
**Public Key format**

To retrieve the value of RSA Modulus and Exponent from the Public Key PEM file, you can execute the following command: `openssl rsa -pubin -inform PEM -text -noout < pubkey.pem`
{% endhint %}

### Issuer Application Signing Key <a href="#issuer-application-signing-key" id="issuer-application-signing-key"></a>

For security reasons, only authorised issuer applications are allowed to use the D1 SDK service. This is achieved by means of verifying the application signing key (`APP_PK` value) which may be provided by the issuer. Contact your Thales delivery team for more details about the usage of this value and its retrieval options.

{% hint style="info" %}
**TeamID (Only iOS simulator)**

Because there is no way to get teamID from iOS simulator, need to provide teamID as a part of APP\_PK by api: `D1Task.setTeamID("<APP_TEAM_ID>")`
{% endhint %}


---

# Agent Instructions: 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.payments.thalescloud.io/push-provisioning/integrate-the-d1-sdk/getting-started/configuration/2.-onboarding/initial-setup.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.
