首页 > 解决方案 > 如何在 c# 中使用 RS256 算法使用 x509 证书私钥对字符串进行签名?

问题描述

如何在 c# 中使用 RS256 算法使用 x509 证书私钥对字符串进行签名?

我正在使用以下代码,但它显示“值无效”。对于 prKey1.SignData() 方法。

            X509Certificate2 cert = new X509Certificate2();

            cert.Import(certFileServerPath, certPassword, X509KeyStorageFlags.Exportable);
            RSACryptoServiceProvider prKey = (RSACryptoServiceProvider)cert.PrivateKey;
            RSACryptoServiceProvider prKey1 = new RSACryptoServiceProvider();
            prKey1 .ImportParameters(prKey.ExportParameters(true));

            byte[] data = Encoding.UTF8.GetBytes(inputData);

            byte[] signature = prKey1.SignData(data, "SHA256withRSA");
            output = Convert.ToBase64String(signature);

希望能在这方面得到一些帮助。

谢谢

标签: c#

解决方案


推荐阅读