我正在尝试计算电子邮件的DKIM-Signature中的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整体无效。
我见过bouncyCastle的一个例子“
ISigner sig = SignerUtilities.GetSigner("SHA256WithRSAEncryption");
但我不能在编程中使用它。
有人可以帮我解决如何为dkim目的正确签署规范化标题吗?