DKIM 记录生成器

DomainKeys Identified Mail(RFC 6376)——使用域名私钥为邮件签名,收件方通过 DNS 公钥验签。生成 RSA 密钥对与标准 DKIM TXT 记录。

⚠️ 安全说明:密钥对在您的浏览器本地生成(Web Crypto API),私钥不会上传到任何服务器。请妥善保管私钥并配置到您的邮件服务器;公钥(TXT 记录)发布到 DNS。私钥泄露 = 攻击者可伪造您的域名签名。

1️⃣ 选择器(Selector)

RFC 6376 §3.1:selector 用于标识"使用哪把公钥验签",支持多个 selector 并行(如轮换期间新旧共存)。DNS 主机名格式:selector._domainkey.您的域名

2️⃣ 密钥长度

RFC 6376 §3.3.3:建议使用 2048 位及以上。部分收件方(如 Gmail)已拒绝 1024 位 DKIM 密钥。

3️⃣ 哈希算法

RFC 6376 §3.3:sha256 是标准要求;sha1 仅用于兼容遗留系统。

📖 DKIM 原理与部署要点

DKIM(RFC 6376)由发件方使用域名的私钥对邮件特定头字段与正文做数字签名,签名放入 DKIM-Signature 头;收件方从 DNS 获取 selector._domainkey公钥(TXT 记录)验签。验签通过证明"邮件确实由该域名授权服务器发出且未被篡改"。

TXT 记录格式v=DKIM1; k=rsa; p=公钥Base64。其中 k 为密钥类型,p 为 Base64 编码的公钥(不含 PEM 头尾)。DNS TXT 记录单条长度限制 255 字符,过长需分段(多数 DNS 服务商自动处理)。

私钥配置:将私钥(PEM 格式)配置到邮件服务器签名模块。常见 MTA 配置位置:OpenDKIM(/etc/opendkim/keys/)、Postfix(通过 milter)、Exchange/商用邮件系统(管理控制台导入)。

密钥轮换:建议每 6-12 个月轮换一次。轮换时先发布新 selector 公钥,切换签名,确认验签通过后删除旧 selector,避免中断。

与 DMARC 的关系:DKIM 是 DMARC 的验证支柱之一。DMARC 对齐要求 d= 域名与发件人域名一致(或子域关系)。生成后用本站 邮件 DNS 一键诊断 验证。

参考标准:RFC 6376(DKIM)、RFC 8301(弃用弱密钥算法)、RFC 7489(DMARC)。

📚 权威参考文档