C# 如何在.NET core上生成RSA密钥对?

C# 如何在.NET core上生成RSA密钥对?,c#,.net-core,rsa,C#,.net Core,Rsa,我最近开始了我的第一个C语言项目,这是一个很大的项目。我正在通过阅读协议并自己动手创建Minecraft服务器。我已经走了很长的路,但是现在我需要生成一个RSA密钥对,这样我就可以加密和解密套接字上的数据 我已经使用新的RSACryptoServiceProvider2048创建了一个新的RSACryptoServiceProvider,但是当我使用ToXmlString进行导出时,会出现以下PlatformNotSupportedException错误: 有没有其他方法可以读取我刚才生成的RS

我最近开始了我的第一个C语言项目,这是一个很大的项目。我正在通过阅读协议并自己动手创建Minecraft服务器。我已经走了很长的路,但是现在我需要生成一个RSA密钥对,这样我就可以加密和解密套接字上的数据

我已经使用新的RSACryptoServiceProvider2048创建了一个新的RSACryptoServiceProvider,但是当我使用ToXmlString进行导出时,会出现以下PlatformNotSupportedException错误:

有没有其他方法可以读取我刚才生成的RSA的公钥?如果有帮助的话,我正在使用.NETCore2.2。谢谢

如果坚持使用ToXmlString,则可以安装3.0预览版本。FWIW表示,3.0预计将在未来几周内完成预览

或者,您可以使用ExportParameters方法,将输出结构格式化为能够读回的任何编码

但是你肯定应该使用RSA.Create,除非确实与Windows进行互操作,否则我永远不会使用RSACryptServiceProvider。

如果你坚持使用ToXmlString,那么你可以安装3.0预览版本。FWIW表示,3.0预计将在未来几周内完成预览

或者,您可以使用ExportParameters方法,将输出结构格式化为能够读回的任何编码


但是,您肯定应该使用RSA.Create,除非实际与Windows CAPI进行互操作,否则不要使用RSACryptServiceProvider。

ToXmlString在.Net Core 2.2中不受支持,您可以以标准PEM格式导出公钥和私钥。下面是stackoverflow的示例代码:

ToXmlString在.Net Core 2.2中不受支持,您可以以标准PEM格式导出公钥和私钥。下面是stackoverflow的示例代码:

@LexLi RSA怎么样。创建与我之前的操作有什么不同吗?它似乎提供了相同的方法,没有真正的优势。@LexLi在查看了这些文档后,我意识到它使用的是.NET标准,而不是.NET核心。我的RSA实例上没有任何ExportRSAPublicKey方法。@LexLi RSA怎么样。创建的方法与我以前的不同吗?它似乎提供了相同的方法,没有真正的优势。@LexLi在查看了这些文档后,我意识到它使用的是.NET标准,而不是.NET核心。我的RSA实例上没有任何ExportRSAPublicKey方法。