gpt4 book ai didi

c# - .net RSA 符号数据错误与 PSS 填充

转载 作者:行者123 更新时间:2023-11-30 23:09:42 24 4
gpt4 key购买 nike

我有一个问题。 Crypto 在 .net 中的使用如下。我有一个 .pem 文件,我可以将其解析为私钥并想签署一些数据字节。我使用的代码如下:

byte[] pemkey = Convert.FromBase64String(privateKeyString);

RSACryptoServiceProvider RSA = DecodeRSAPrivateKey(pemkey);//function to parse .pem file

byte[] fileBytes = File.ReadAllBytes(@"C:\...");

byte[] signature = RSA.SignData(fileBytes, HashAlgorithmName.SHA256, RSASignaturePadding.Pss);

运行此程序时,在最后一条语句 (RSA.SignData) 中,出现未处理 CryptographicException 异常:指定的填充模式对此算法无效。

我不确定我的代码中缺少什么,因为我在 Google 上的搜索没有返回太多结果。

感谢任何帮助。非常感谢

最佳答案

我从未见过 PSS 填充与 RSACryptoServiceProvider 一起工作,但我看到它与 RSACng 一起工作得很好。您可以通过对代码进行以下修改来快速尝试:

byte[] pemkey = Convert.FromBase64String(privateKeyString);

RSACryptoServiceProvider RSA = DecodeRSAPrivateKey(pemkey);//function to parse .pem file

RSAParameters rsaParams = RSA.ExportParameters(true);
RSACng RSACng = new RSACng();
RSACng.ImportParameters(rsaParams);

byte[] fileBytes = File.ReadAllBytes(@"C:\...");

byte[] signature = RSACng.SignData(fileBytes, HashAlgorithmName.SHA256, RSASignaturePadding.Pss);

关于c# - .net RSA 符号数据错误与 PSS 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45696437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com