Генератор DKIM-записи
Создайте пару ключей DKIM в браузере и получите запись для публикации. Используете Google Workspace или Microsoft 365? Ключ создают они: мы покажем, где.
Ищет ключи, которые ваш домен уже публикует, и кто их создал. Или выберите ниже, кто подписывает вашу почту.
Всё собирается в вашем браузере. Наружу уходят только DNS-запросы по HTTPS к резолверу Cloudflare (Google — для второго мнения).
Сгенерировать ключ для example.com
Создаётся в вашем браузере через Web Crypto. Закрытый ключ не покидает эту вкладку.
Это просит RFC 8301. Обычный выбор.
Дополнительно
Ваш ключ
Работает офлайн: выключите Wi-Fi и сгенерируйте снова.
Настроить OpenDKIM
# Key file: only the opendkim user may read it $ sudo mkdir -p /etc/opendkim/keys/example.com $ sudo nano /etc/opendkim/keys/example.com/s.private $ sudo chown -R opendkim:opendkim /etc/opendkim/keys $ sudo chmod 600 /etc/opendkim/keys/example.com/s.private
План смены ключа
- СегодняОпубликуйте , затем начните подписывать им.
- Через полгодаСоздайте … и опубликуйте рядом с .
- ПереключениеПодписывайте ключом ….
- Через 7–30 днейДержите опубликованным для писем, ещё находящихся в пути.
- ОтзывОпубликуйте пустой ключ у , не удаляйте его.
v=DKIM1; k=rsa; p=
После публикации
Как сгенерировать ключ DKIM и запись?
Создайте пару ключей RSA 2048, храните закрытый ключ на сервере, который подписывает вашу почту, и опубликуйте открытый ключ как TXT-запись у selector._domainkey.yourdomain (RFC 6376).
Выбирайте новое имя селектора для каждого ключа, например месяц его создания, чтобы старый ключ мог оставаться опубликованным, пока письма, подписанные им, ещё в пути.
Затем установите закрытый ключ в своего подписывающего и отправьте тестовое письмо: заголовок DKIM-Signature называет домен (d=) и селектор (s=), которые будут искать получатели.
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s202610; …s202610._domainkey.example.comполучатели проверяют им ✓
Закрытый ключ, который не прочитает ни один другой скриптСоздан и хранится в изолированном фрейме, у которого нет доступа к сети.Форма, которую читает ваш подписывающийPKCS#8, PKCS#1 или одна строка base64, выбранная под вашего подписывающего.Ноль запросов, и работает офлайнЖивой счётчик сетевых запросов с момента нажатия «Сгенерировать».Файлы вашего подписывающегоOpenDKIM, rspamd, Exim, Postfix или Amazon SES, с подставленными вашим доменом и селектором.Селектор с датойЕго имя говорит, когда создан ключ; план смены ниже датирует следующий ключ и отзыв.Нужно ли мне генерировать свой ключ DKIM?
Только если вашу почту подписывает ваш собственный сервер: Google Workspace, Microsoft 365 и большинство почтовых сервисов сами создают ключ и показывают запись для публикации, поэтому ключ из любого генератора никогда не использовался бы.
Свой ключ нужен для Postfix с OpenDKIM, rspamd, Exim, Haraka, вашего приложения и сервисов, которые его принимают, вроде Amazon SES (BYODKIM) и Mailgun.
| Отправитель | Ключ создаёт | Вы публикуете | Селекторы |
|---|---|---|---|
| Google Workspace | поставщик | TXT (их ключ) | |
| Microsoft 365 | поставщик | CNAME на их ключи | selector1, selector2 |
| SendGrid | поставщик | CNAME на их ключи | s1, s2 |
| Mailchimp | поставщик | CNAME на их ключи | k2, k3 |
| Postmark | поставщик | TXT (их ключ) | <date>pm |
| Brevo | поставщик | CNAME на их ключи | brevo1, brevo2 |
| Zoho Mail | поставщик | TXT (их ключ) | zoho |
| Amazon SES | любой из двух | TXT (ваш ключ) | любые |
| Mailgun | любой из двух | TXT (ваш ключ) | любые |
| OpenDKIM | вы | TXT (ваш ключ) | любые |
| rspamd | вы | TXT (ваш ключ) | любые |
| Exim | вы | TXT (ваш ключ) | любые |
RSA 1024, 2048, 4096 или Ed25519?
Берите RSA 2048: 1024 — минимум, который принимают получатели, 4096 перегружает DNS, а Ed25519 короткий, но независимые тесты показали, что крупные почтовые провайдеры его не проверяют, поэтому он помогает только рядом с подписью RSA.
Многие инструменты по-прежнему используют 1024 по умолчанию: opendkim-genkey, dkim_keygen в rspamd и Microsoft 365. RFC 8301 просит 2048.
Если добавляете Ed25519, подписывайте и RSA, под вторым селектором; Yahoo может не засчитать DMARC, если одна из нескольких выровненных подписей не проходит.
Как настроить OpenDKIM, rspamd или Exim?
Храните закрытый ключ там, где его может прочитать только подписывающий, сопоставьте с ним домен и селектор в конфигурации подписывающего и перезапустите; вкладки показывают файлы каждого подписывающего с подставленными вашими именами.
Проверьте результат, отправив себе письмо и прочитав результат DKIM в заголовках, или нашей проверкой DKIM.
# /etc/opendkim/KeyTable s202610._domainkey.example.com example.com:s202610:/etc/opendkim/keys/example.com/s202610.private # /etc/opendkim/SigningTable *@example.com s202610._domainkey.example.com # /etc/opendkim/TrustedHosts 127.0.0.1 localhost
# /etc/rspamd/local.d/dkim_signing.conf domain { example.com { selector = "s202610"; path = "/var/lib/rspamd/dkim/example.com.s202610.key"; } } # only if example.com is a subdomain: use_esld = false; # only if users log in without @example.com: allow_username_mismatch = true; $ sudo rspamadm configtest && sudo systemctl restart rspamd
Почему моя DKIM-запись разбита на несколько строк?
Запись ключа в 2048 бит — около 410 символов, больше одной строки TXT в 255 байт, поэтому DNS хранит её как две строки, которые проверяющие склеивают без промежутков.
Cloudflare, Azure и панели вроде cPanel принимают значение целиком и разбивают его сами; Route 53 и Google Cloud DNS хотят, чтобы вы вставили строки в кавычках. GoDaddy ограничивает значение 1024 символами.
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIaM9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQABs202610._domainkey.example.com. 3600 IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIa" "M9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB" )
Как менять ключи DKIM?
Опубликуйте новый ключ под новым селектором, переключите на него подпись, держите старую запись 7–30 дней для писем, ещё находящихся в пути, затем отзовите её пустым p=; M3AAWG советует менять ключ не реже раза в полгода.
Отзывайте, а не удаляйте, чтобы проверяющие сообщали, что старый селектор отозван. Никогда не используйте имя селектора повторно для нового ключа.
s202611подписываетхранится 7–30 днейp= (отозван)s202705подписываетБезопасно ли генерировать ключ DKIM онлайн?
Только если ключ создаётся в вашем браузере и никуда не отправляется: эта страница создаёт его через Web Crypto в изолированном фрейме без доступа к сети, что можно подтвердить в инструментах разработчика браузера.
Некоторые онлайн-генераторы создают ключ на своём сервере и присылают его в ответе, где его могут записать в журнал или сохранить. Ключ, созданный в вашем браузере, существует только в вашей вкладке, пока вы его не сохраните.
Ни один другой скрипт этой страницы не может прочитать фрейм с ключом, а страница работает офлайн: выключите Wi-Fi и сгенерируйте снова.
GET /generate?key_size=2048200 {"private_key": "-----BEGIN…"}может попасть в журналГенератор DKIM-записи: частые вопросы
Что такое DKIM-запись?
Безопасно ли генерировать здесь ключи DKIM?
Какой размер ключа выбрать?
Нужен ли ключ DKIM для Google Workspace или Microsoft 365?
Что такое селектор DKIM?
В каком формате закрытый ключ?
Может ли у домена быть больше одной DKIM-записи?
Почему моя DKIM-запись длиннее 255 символов?
Что значит t=y в DKIM-записи?
Как часто менять ключи DKIM?
Чего-то не хватает?Предложите функцию или новый инструмент
Связанные инструменты
Генератор DMARC-записи
Создайте DMARC-запись по RFC 9989, начав с той, что вы публикуете сейчас, и увидьте, что получатели сделают с письмами, не прошедшими проверку.
Генератор SPF-записи
Создание корректной TXT-записи SPF для ваших почтовых сервисов и серверов с проверкой лимита в 10 DNS-запросов в реальном времени
Проверка DKIM
Проверка записей DKIM с автоматическим определением селектора
Проверка DMARC
Проверка политики DMARC и настроек выравнивания для любого домена
Проверка SPF записи
Проверка записей SPF и подсчёт DNS запросов по RFC 7208
MX Поиск
Поиск записей mail exchange и данных почтового сервера
Анализ заголовков Email
Разбор необработанных заголовков email и отслеживание пути письма
Проверка BIMI-записи
Проверка записей BIMI, логотипов SVG Tiny PS и сертификатов VMC, и где виден логотип