Сбой DSACryptoProvider с обязательными или временными профилями - PullRequest
1 голос
/ 17 мая 2011

Следующий код завершается ошибкой, когда пользователь вошел в систему с обязательным или временным профилем.

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

где publicKey - строка XML, содержащая элементы для P, Q, G, Y, J и т. Д.

Ошибка возникает в методе FromXmlString, и согласно эта статья с использованием P / Invoke должна позволить нам обойти это.Существует даже полная взорванная версия кода того же автора, которая выглядит многообещающе.Проблема заключается в том, что они оба предназначены для шифрования RSA, и мы используем шифрование DSA.

Есть ли у кого-нибудь код, который успешно проверит подпись массива байтов данных при наличии байтового массива для подписи и xmlоткрытый ключ?

...