1

我正在尝试为电子邮件计算 DKIM 签名中的 b= 字符串。但是,我对可用的方法没有运气。

我创建了一个 RSACryptoServiceProvider 并使用 fromXMLString 选项导入了一个私钥。

从哈希创建签名并验证它工作正常。

Dim hashdata As Byte() = Encoding.ASCII.GetBytes(headers.ToString)
Dim signature As Byte() = RSA.SignData(hashdata, CryptoConfig.MapNameToOID("SHA256"))
If RSA.VerifyData(hashdata, "SHA256", signature) = True Then
    headers.AppendLine("Signature: RSA-SHA256 ")
Else
    headers.AppendLine("Signature: None")
End If

上面的代码验证了签名,但是DKIM整体没有通过valid。

我看过一个 bouncyCastle 的例子“

ISigner sig = SignerUtilities.GetSigner("SHA256WithRSAEncryption");

但我不能在我的编程中使用它。

有人可以帮助我了解如何为 dkim 正确签署规范化标头吗?

4

0 回答 0