当用户在强制或临时配置文件下登录时,以下代码将失败。
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方法失败,根据this article使用P / Invoke应该允许我们解决它。甚至同一作者的完整blown code version看起来很有希望。问题是这些都是RSA加密,我们正在使用DSA加密。
是否有人有任何代码可以成功验证字节数组的签名,给定一个字节为签名和xml公钥?