ユーザーが必須プロファイルまたは一時プロファイルでログオンしている場合、次のコードは失敗します。
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公開鍵が与えられたデータのバイト配列の署名を正常に検証するコードを誰かが持っていますか?