C# Mono:无法再使用settor设置X509Certificate2私钥

C# Mono:无法再使用settor设置X509Certificate2私钥,c#,.net,mono,x509certificate2,C#,.net,Mono,X509certificate2,在最近的某个时候,Mono取消了对在X509Certificate2上设置私钥的支持。版本6.8.0.96导致平台不受支持异常 我需要这样做,因为我得到了一对pem证书和rsa密钥文件,我读取并重新组装成X509Certificate2。这在过去是行之有效的 因此,我了解到为.NET Framework和.NET Core设置私钥的建议方法是使用此扩展名“CopyWithPrivateKey” 该项目是.NETFramework4.7.2,该扩展应该是为其提供的。它在4.7.1中不可用 修改代

在最近的某个时候,Mono取消了对在X509Certificate2上设置私钥的支持。版本6.8.0.96导致平台不受支持异常

我需要这样做,因为我得到了一对pem证书和rsa密钥文件,我读取并重新组装成X509Certificate2。这在过去是行之有效的

因此,我了解到为.NET Framework和.NET Core设置私钥的建议方法是使用此扩展名“CopyWithPrivateKey”

该项目是.NETFramework4.7.2,该扩展应该是为其提供的。它在4.7.1中不可用

修改代码以使用CopyWithPrivateKey会导致X509Certificate2'中不包含“CopyWithPrivateKey”的定义。

包含指定的命名空间(System.Security.Cryptography.X509Certificates)。但是没有骰子。VisualStudio没有为任何特定程序集添加引用的明显建议。它看起来不像一个nuget软件包


发生什么事了?这是否得到支持?为什么它会以这种方式从单声道代码基中剥离出来?是否不考虑向后兼容性


是否有人必须找到解决方法?

“是否不考虑向后兼容性?”随着Mono/.NET Core将收敛到.NET 5,这样的突破性变化是不可避免的。今天使用Mono的原因是什么?省去了对大量代码库的重写——这是我一直计划的,但在下周我无法完成的事情,而这正是我一直坚持的时间框架。。无论哪种方式-为什么我在System.Security.Cryptography.X509Certificates for 4.7.2中找不到“CopyWithPrivateKey”?您的密钥是否键入为非对称Gorithm?CopyWithPrivateKey扩展方法都需要键入RSA、DSA或ECDsa的密钥。(它们是在称为RSACertificateExtensions、DSACertificateExtensions和ECDsaCertificateExtensions的类型上定义的)。@bartonjs是的,这是一个RSA密钥。但是CopyWithPrivateKey扩展方法在X509Certificate2实例上不可用。我显然错过了什么。