Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Mono不';无法将SHA1识别为RSA签名的哈希算法_C#_Mono_.net 3.5_Cryptography_Sha1 - Fatal编程技术网

C# Mono不';无法将SHA1识别为RSA签名的哈希算法

C# Mono不';无法将SHA1识别为RSA签名的哈希算法,c#,mono,.net-3.5,cryptography,sha1,C#,Mono,.net 3.5,Cryptography,Sha1,我正在尝试将一些代码从C#移植到Mono,以用于未来的Linux项目 Mono输出此错误: 引发System.Security.Cryptography.CryptographyException异常;sha1是不受支持的RSA签名哈希算法“ 为RSA签名运行或调试此代码时: byte[] bytesSing = rsa.SignHash(hashValue, "SHA1"); 我使用VS2010进行了检查,参考说明它必须是一个字符串,我将其传递为“SHA1”。它在Windows下编译并运行,

我正在尝试将一些代码从C#移植到Mono,以用于未来的Linux项目

Mono输出此错误:

引发System.Security.Cryptography.CryptographyException异常;sha1是不受支持的RSA签名哈希算法“

为RSA签名运行或调试此代码时:

byte[] bytesSing = rsa.SignHash(hashValue, "SHA1");
我使用VS2010进行了检查,参考说明它必须是一个字符串,我将其传递为“SHA1”。它在Windows下编译并运行,但在Mono下不编译或运行


这是Mono的。

基于您链接的源代码文件,
SignHash
函数假定您传递的字符串是OID,并尝试在其正上方的
GetHashNameFromOID
函数中查找它

支持这一点,将该参数记录为:

用于创建数据哈希值的哈希算法标识符(OID)

通过
X509Utils.nameoridtoalg
查找参数,该参数可能接受名称或OID


因此,要使其正常工作,您应该能够在Mono版本中通过
null
,或者通过OID“1.3.14.3.2.26”。

非常感谢pmcoltrane!它现在可以完美地工作了!(如何关闭此线程?)@Glas你没有。只有当网站不欢迎提问时,问题才会被关闭。只接受你最喜欢的答案。也许其他人会来发布另一个答案。