我不了解 DKIM 密钥验证过程

I did not understand the DKIM key validation process

我想了解 DKIM 密钥验证是如何工作的。 我确定我理解的步骤是:

1- 发件人将通过 MUA(例如 gmail)向收件人发送消息,该消息将转到发件人邮件服务器(SMTP/MTA 服务器)。

2- 在此之前 Sernder 邮件服务器已经生成 public 和私钥。

3-私钥被秘密保存在发件人邮件服务器中。

4- public 密钥已作为 TXT 资源记录发布在名称服务器的 DNS 记录中。

5- 发件人邮件服务器将使用一些 hash-algorithm 方法为特定邮件 header 字段生成哈希值,例如:(From: To: Subject) 例如将被哈希为: A B C D。他们称之为“Key_Signing”。

6- 发件人邮件服务器将使用私钥加密此签名密钥!

*** 在我继续之前,发件人邮件服务器将如何使用私钥加密此散列值??据我了解,非对称加密的私钥是用来解密的,不是用来加密的!!

7- 接收方邮件服务器(POP3 或 IMAP)将接收邮件并进行验证。

8- 通过尝试解密加密的 DKIM 密钥(散列值)完成 DKIM 密钥验证。

9- 接收邮件服务器需要发件人邮件服务器的 public 密钥来解密加密的 DKIM 密钥以获取 DKIM 哈希值。

** 接收邮件服务器如何通过发件人邮件服务器 public 密钥解密加密的 DKIM 密钥??? Public 密钥用于加密而非解密!!

10- 当接收邮件服务器解密加密的 DKIM 密钥时,它将获得 DKIM 密钥,它只是一些电子邮件 headers 的哈希值。在我的示例中 is:Abcd.

11- 接收方邮件服务器将使用相同的哈希方法对相同的电子邮件进行哈希处理 headers 如果它得到完全相似的 hsh 值,它将接受电子邮件并将其转发到接收方收件箱文件夹。

伙计们,如果我错了请纠正我,并澄清 public 密钥如何用于解密 DKIM 密钥以及私钥如何用于加密它,而非对称咒语说:

“私钥用于解密,public密钥用于加密”。

我浏览了很多网站,他们都没有把这个过程一步步讲清楚。

你的理解有误。私钥和public密钥均可用于加密和解密。

本质属性是用私钥加密的消息只能用public密钥解密,反之亦然。