您需要颁发 RSA 证书并使用私钥对文件进行签名。我通过与https://habr.com/ru/post/497160/类比生成证书,它们是生成的,甚至导入到个人证书中。
var rsaParam = privateCert.GetRSAPrivateKey().ExportParameters(false);
var rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(rsaParam);
byte[] data = Encoding.UTF8.GetBytes("Data to be signed");
byte[] signature = rsa.SignData(data, "SHA256");
一个错误Internal.Cryptography.CryptoThrowHelper.WindowsCryptographicException: "Набор ключей не существует".
也许您需要以不同的方式加载证书?
像往常一样,一切都非常简单地解决了:我们这样签名:
其中二进制形式的密钥是证书本身(需要私钥)