# DKIM

## В DNS&#x20;

<table><thead><tr><th width="178"></th><th width="142"></th><th></th></tr></thead><tbody><tr><td>mail._domainkey</td><td>TXT</td><td>v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjq7VZbmaVP5AtsTxx5SMX/VMBWg+cS7+wj0CRavQWpiqVvqIghXByy6Kek0OWRrPP6a0/umEtEpDPG7FUDsMFMq52hNZeESbn1CVCFP+2L4XoiwSwoYeT853TYb8v9YqSCclEhFI4Q8Y52mAVv1r+MkCwgZ5CKSmMQ4vtRQ9UowIDAQAB</td></tr><tr><td>mail._domainkey</td><td>де "mail"</td><td>має назву "Selector"</td></tr></tbody></table>

## В якому файлі на Ubuntu знаходиться DKIM ключ?

Ага, це залежить від того, який софт ти використовуєш для DKIM-підпису 🙂

***

#### 1. **opendkim** (найчастіший варіант на Ubuntu)

*   Приватний ключ зазвичай лежить у:

    ```
    /etc/opendkim/keys/yourdomain.com/mail.private
    ```
*   Публічний (який ти копіюєш у DNS) —

    ```
    /etc/opendkim/keys/yourdomain.com/mail.txt
    ```
*   Конфіг `KeyTable` у `/etc/opendkim/KeyTable` показує, де саме лежить приватний ключ.\
    Приклад рядка:

    ```
    mail._domainkey.yourdomain.com yourdomain.com:mail:/etc/opendkim/keys/yourdomain.com/mail.private
    ```

***

#### 2. **Postfix з DKIM через opendkim**

* Postfix сам по собі не генерує ключі, він тільки через opendkim звертається.
*   У Postfix ти побачиш лише інтеграцію через сокет:

    ```
    milter_default_action = accept
    milter_protocol = 6
    smtpd_milters = unix:/opendkim/opendkim.sock
    non_smtpd_milters = unix:/opendkim/opendkim.sock
    ```

***

#### 3. Якщо інший софт (наприклад, **rspamd**, **dksign**)

*   rspamd зберігає ключі зазвичай у:

    ```
    /var/lib/rspamd/dkim/yourdomain.com.dkim.key
    ```
* Або у тому каталозі, що ти вкажеш у `local.d/dkim_signing.conf`.

***

#### Як знайти "живий" файл ключа на сервері

На Ubuntu можна перевірити так:

```
grep -r "domainkey" /etc/opendkim
```

або

```
grep -r "private" /etc/opendkim
```

Тоді точно покаже шлях до приватного ключа.

***



## як на Ubuntu **перевірити, де саме твій opendkim бере ключ** і чи він реально використовується при підписі



Добре, кицю, ось тобі готовий чекліст для Ubuntu з **opendkim + Postfix** (найпопулярніша зв’язка):

***

### 🔍 Чекліст: де знайти та перевірити DKIM-ключ

#### 1. Подивись конфіг opendkim

```
sudo nano /etc/opendkim.conf
```

Там знайди рядки:

* `KeyTable` → файл з таблицею ключів
* `SigningTable` → відповідність доменів ключам
* `Socket` → шлях до сокета (щоб Postfix міг підключатись)

***

#### 2. Перевір KeyTable

Відкрий файл (шлях див. у `KeyTable`):

```
sudo cat /etc/opendkim/KeyTable
```

Там щось таке:

```
mail._domainkey.yourdomain.com yourdomain.com:mail:/etc/opendkim/keys/yourdomain.com/mail.private
```

* `mail` → selector
* `/etc/opendkim/keys/yourdomain.com/mail.private` → це і є приватний ключ

***

#### 3. Подивись SigningTable

```
sudo cat /etc/opendkim/SigningTable
```

Наприклад:

```
*@yourdomain.com mail._domainkey.yourdomain.com
```

Тут видно, що всі листи з `@yourdomain.com` підписуються ключем `mail._domainkey`.

***

#### 4. Переконайся, що ключ існує

```
sudo ls -l /etc/opendkim/keys/yourdomain.com/
```

Там має бути:

* `mail.private` (приватний ключ, секретний!)
* `mail.txt` (публічний ключ для DNS)

***

#### 5. Перевір інтеграцію з Postfix

У файлі `/etc/postfix/main.cf` повинні бути рядки:

```
smtpd_milters = unix:/opendkim/opendkim.sock
non_smtpd_milters = unix:/opendkim/opendkim.sock
milter_default_action = accept
milter_protocol = 6
```

***

#### 6. Перевір роботу підпису

Відправ листа (наприклад, на свою Gmail-скриньку) → відкрий заголовки. Шукай щось таке:

```
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yourdomain.com; s=mail; ...
```

* `d=yourdomain.com` → підписується твій домен
* `s=mail` → selector (`mail._domainkey`)

***

👉 Якщо це все збігається — твій DKIM реально працює.

***

