C# 使用System.Security.Cryptography.RSACng对数据进行签名和验证是否线程安全?

C# 使用System.Security.Cryptography.RSACng对数据进行签名和验证是否线程安全?,c#,.net-core,thread-safety,x509certificate,C#,.net Core,Thread Safety,X509certificate,我有一个X509Certificate2的实例,其中包含从.pfx文件导入的System.Security.Cryptography.RSACng的实例 我不想每次需要使用时都从磁盘读取文件 多个线程只使用一个全局实例安全吗 我在Linux和Windows上使用.Net Core 3.1。不,RSACng类不是线程安全的 另外,请注意,该类在Linux或Mac上不可用。这是仅限Windows的实现。因此,在应用程序中的每个地方都保留抽象的RSA类引用,而不是这个特定的实现。您不需要每次都去文件系

我有一个
X509Certificate2
的实例,其中包含从
.pfx
文件导入的
System.Security.Cryptography.RSACng
的实例

我不想每次需要使用时都从磁盘读取文件

多个线程只使用一个全局实例安全吗


我在Linux和Windows上使用.Net Core 3.1。

不,
RSACng
类不是线程安全的


另外,请注意,该类在Linux或Mac上不可用。这是仅限Windows的实现。因此,在应用程序中的每个地方都保留抽象的
RSA
类引用,而不是这个特定的实现。

您不需要每次都去文件系统;缓存
pfx
文件是的,我知道,但我仍然需要一遍又一遍地创建这些X509Certificate2对象,而且我非常确定它无论如何都会创建大量的分配。现在,我将寻找一些投票解决方案。