aboutsummaryrefslogtreecommitdiff
path: root/docs/serverkeyformat.md
blob: feda9345439bf9ffd34a8ad8fe7fbb5bfc833f80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Server Key Format

Dendrite stores the server signing key in the PEM format with the following structure.

```
-----BEGIN MATRIX PRIVATE KEY-----
Key-ID: ed25519:<Key Handle>

<Base64 Encoded Key Data>
-----END MATRIX PRIVATE KEY-----
```

## Converting Synapse Keys

If you have signing keys from a previous synapse server, you should ideally configure them as `old_private_keys` in your Dendrite config file. Synapse stores signing keys in the following format.

```
ed25519 <Key Handle> <Base64 Encoded Key Data>
```

To convert this key to Dendrite's PEM format, use the following template. **It is important to include the equals sign, as the key data needs to be padded to 32 bytes.**

```
-----BEGIN MATRIX PRIVATE KEY-----
Key-ID: ed25519:<Key Handle>

<Base64 Encoded Key Data>=
-----END MATRIX PRIVATE KEY-----
```