1

当用户在强制或临时配置文件下登录时,以下代码将失败。

private static bool VerifySignature(byte[] signature, byte[] data) {    
     DSACryptoServiceProvider verifier = new DSACryptoServiceProvider();
     verifier.FromXmlString(publicKey);
     bool isValid = verifier.VerifyData(data, signature);
     return isValid;
}

其中 publicKey 是一个包含 P、Q、G、Y、J 等元素的 xml 字符串。

失败发生在 FromXmlString 方法上,根据这篇文章,使用 P/Invoke 应该可以让我们绕过它。甚至还有一个由同一作者编写的完整代码版本,看起来很有希望。问题是这些都用于 RSA 加密,而我们使用的是 DSA 加密。

有没有人有任何代码可以成功验证给定一个字节数组的签名和一个 xml 公钥的数据字节数组的签名?

4

0 回答 0