# Elemi Public Keys

The Elemi public key serves two critical purposes as briefly described below.

<table><thead><tr><th width="247">Purpose</th><th>Description</th></tr></thead><tbody><tr><td>RSA Signature Verification</td><td>Callbacks from Elemi carry a header named <code>rsa-signature</code> and with the public key, the signature can be verified as described <a href="/pages/ql6UH9G9LNRDzv0wXgcJ">here</a> to confirm authenticity.</td></tr><tr><td>Card details encryption</td><td>When the merchant opts for the direct card payment option, the public key is used to encrypt the card details as described in this <a href="/pages/W3dZsy7UL1A8bEB7Ukql">section</a></td></tr></tbody></table>

### Sandbox Public Key

```powershell
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAliurmmtRYMo0Ei8SPRs0
lpVZckk00rp82kOL4gEf4zB9scfgcq6ef+iYNed7LOWW2GX8V9zEfNWVTzTBTV7d
4SFnBHqF6sWO3DvaVbY925Honzcr+nBB+PrROc3RJMtImTLFpcq85kpIa12T/vrl
CKgJNjJ9qLYXoyapy/4Tq9O4vVFlb7W2WvFHwfS/7bYS1QxwEJi522DnYel/WLBa
tnRKthRbBQDURU5BuM9G/IfpFQDUwhgusXSUOb7SfbufbhrgGDh7BHrNEBQuWjzB
uiz+BoLL2aOPJyBnD9RzVs5wnVZ+S1Q6GoxxPXA2C1XJLA/pgfC3Jo+9O1g3bNPX
xQ3DQDDXogKVWy0W7YNcfChP1ztORvZnAHnLYIxPEgNSkQWjzwcjSm8VGgyyWFCl
ePSUWDqiu3qqvjC1a/TC0J8qORIMSb2lQVGDQFZmJpOQFgs4vDr5aep/fE8kVZnw
phGZJkwNmAXZ0231foL2BBh6p1mcGL2C3N3afIzMZm2BEA4AMFuQi5I5QkSk37Z5
SCk6oI6hzwLihS5SGYGKEOOrVwtirYpJ9dy5k3lmLzPXBaM7fyCsIXV+8NNuIeGl
miItzYZ/173bw6CPqKjGh+8K0BcfMM9ELWE57XWuQTKXFFNhDeDdQynmhAYmG0ZE
RibM4pOb2jpV99sqB0DMXBMCAwEAAQ==
-----END PUBLIC KEY-----

```

### Production Public Key

```powershell
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2ziBlzRuLjNRAvWG3p7q
iRqCo4MaTzNRdnnwkHvHiXl7PlH6/1M6QuoDGibtC+KlshoH/1ECQjgbbDjvW9XP
wIWyrvZI1AvqflvpgR6MJATiTsEgGLXnCctZ0GW7rB7tQGzai4tBfYxu7+imoYQS
RLk+CxGMEr9T5HCkoiLpb7walXoSyFBZd4e7Di/2t0wH0FsE5LX2I4WJgjv5aVhV
pMSXaG8oD5kjs0qQG/BqRQZ99Uz1q6xiRUENBQ2gFfsEHbbu+MS7UtykqS/fhhs+
2fqIwxRgAzezBimI1PPPGx6BfFX2+vaEe3IwmmPvH7zXnDioqzcAucQYEo1k5Qc0
hUBTj9wuU4H078NYxjYkCAbrWnByGDljtltmxhTwXuAUT0J4Ve9S2hzLINtquahK
8zywZV/OywBQ5BKr2kg5YoH7ZOZRPdX3if9kpmQPZ/L6DoDiN9YeSfmi4bMxMIwI
h0Bm8PCPfJt88luOsX4mw/9GW/OEKHw84vNo6uQSCDBhcxsnAOUnw1o25MX9kYc7
DMgDoFTLTNfBoABC7HPhs8/hxj9qm3bGmXKJl4ld1lZXajh9wHdcp+s5nmoZOANa
S9gF/NwixfKYVVI3NteH9Z0i6ha7pjNuShQ+y9W+1YYmDU3ymHzlGJwwoj1dTq5R
b4Cywk0c9uQ4n0odzV/vg08CAwEAAQ==
-----END PUBLIC KEY-----

```

{% hint style="info" %}
We recommend that for each environment you're working with, the key content is copied and stored in your workflow based on how you see fit. In this documentation however, we will assume the content is stored in a file named `elemi.public.key.pem` and referenced from there for all described usage.
{% 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.elemitech.com/getting-started/elemi-public-keys.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.
