我正在运行exim + dovecot。我尝试用opendkim生成一个dkim键,但结果是我的dkim无效。我应该使用openssl还是使用opendkim签署DKIM签名?
使用exim为外发电子邮件正确设置dkim的正确步骤是什么?
exim.conf中的正确设置是什么?
答案 0 :(得分:0)
DKIM根本不需要签名。您需要的只是一对正确的RSA / DSA密钥,可以通过与预安装的ssh-keygen
捆绑在一起的openssh
生成。将密码保留为空:
> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): mydomain.tld
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in mydomain.tld.
Your public key has been saved in mydomain.tld.pub.
The key fingerprint is:
SHA256:CD0n/Ut/GQgjYgKwONoj7FGXUJvdgyJt4FFczGZfqoE root@xx.yy.zz
The key's randomart image is:
+---[RSA 2048]----+
|...++o+. |
|....=o=*o . |
|+ +oOXo=o= |
|oo. +E.B =.o . |
|ooo . S o . . |
|.... . . o o |
| . . . o |
| . |
| |
+----[SHA256]-----+
现在我们有两个文件:mydomain.tld
和mydomain.tld.pub
。第二个文件包含一个长行,其中第二个字段(标记为粗体斜体)是您必须放入域的区域记录中的公钥。
ssh-rsa AAAAB3NzaC1yc ..... 9akAq8YqPJN root@xx.yy.zz
第一个文件已准备好供MTA使用。只需将其重命名为mydomain.tld.key
并将其复制到安全位置并从MTA配置中引用它。请记住,MTA通常要求私有DKIM密钥才能被MTA用户读取,因此权限应设置为600而不是通常的644。
DNS配置在howtos的数量上有很好的描述。 exim
应该以这样的方式配置:
begin transports
xmit:
driver = smtp
dkim_domain = mydomain.tld
dkim_selector = mydomaintld
dkim_private_key = /path/to/the/mydomain.tld.key
. . . . .