问题
创建一对适合DKIM
设置使用的密钥的正确方法是什么ssh-keygen
?
给出相应的解决方案openssl
:
# creates a private key
openssl genrsa -out sample.key 1024
# creates a public key
openssl rsa -in sample.key -pubout -out sample.pub
故事
我试图使用DKIM
以下过程生成密钥:
# creates a pair of keys: sample & sample.pub
ssh-keygen -m PEM -t rsa -b 1024 -f sample
# coverts the public key into the PEM format
ssh-keygen -f sample.pub -m PEM -e > sample.pem.pub
PEM
公钥内容示例:
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAOO3Emm+KdOKKhwlCjLXIE1R76KlWY6xSVfHsjE3uuMcF0BDKhJS2Kg3
WjhdnV2z5XAQDAxknQvx+sxxbsBye6Zc2VnNA9upDVVlNc4I6zl1N75CY7F1Nfbj
wDrpWqGJuBPsousqj79dJ/JM0pzCn71IkEumU2Ck3AULSnT9MLeZAgMBAAE=
-----END RSA PUBLIC KEY-----
构造DKIM
记录:
v=DKIM1; p=MIGJAoGBAOO3Emm+KdOKKhwlCjLXIE1R76KlWY6xSVfHsjE3uuMcF0BDKhJS2Kg3WjhdnV2z5XAQDAxknQvx+sxxbsBye6Zc2VnNA9upDVVlNc4I6zl1N75CY7F1NfbjwDrpWqGJuBPsousqj79dJ/JM0pzCn71IkEumU2Ck3AULSnT9MLeZAgMBAAE=
我使用https://dkimcore.org/c/keycheck来验证 DNS 记录,这使我无法获取所提供的值,并显示以下消息:
这似乎不是有效的 RSA 公钥: RSA.xs:178: OpenSSL error: bad tag at blib/lib/Crypt/OpenSSL/RSA.pm (自动分割成 blib/lib/auto/Crypt/OpenSSL/RSA /new_public_key.al) 第 91 行。
尝试过这些版本:
$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
OpenSSH_9.4p1, OpenSSL 3.1.2 1 Aug 2023
openssl
幸运的是,我得到了上面提到的解决方法。但由于经常ssh-keygen
被 提到作为密钥生成的有效工具,我想知道到底是什么方法? DKIM