【问题标题】:.NET Core 2.0 RSA PlatformNotSupportedException.NET Core 2.0 RSA PlatformNotSupportedException
【发布时间】:2018-03-07 00:08:26
【问题描述】:

我正在尝试使用此代码生成公钥和私钥,我在 Windows 10 上使用 .NET Core 2

到目前为止,我在运行此代码方面没有成功,它编译得很好,但是当我到达 rsa.ToXmlString 行时,它会因 PlatformNotSupportedException 而下降,当我在另一个关于堆栈溢出的答案中读到时,解决方案是使用 System.Security.Cryptography.Algorithms他们在下面显示了我在这里使用的几乎完全相同的代码。

        using (RSA rsa = RSA.Create())
        {
            rsa.KeySize = 1024;

            privateKey = rsa.ToXmlString(true);
            publicKey = rsa.ToXmlString(false);
        }

错误:

正如这里看到的,它确实出现在他们的 API 浏览器中,所以它必须得到支持,对吧?

有没有人遇到过类似的问题?或者有人对此有解决办法吗? 我必须使用 .NET Core,所以不建议使用 .NET 4.6

【问题讨论】:

    标签: c# algorithm cryptography .net-core rsa


    【解决方案1】:

    .Net Core 没有 toXmlString()fromXmlString 方法。但你可以使用extension

    解决方法: #874, #23686

    更新:

    在 .NET Core 3.0 中为 RSADSA 添加了 ToXmlStringFromXmlString 实现

    RSA & DSA 例子。

    【讨论】:

    • 当我更深入地研究解决方法时,它似乎确实有效。谢谢:3 我确实必须将方法重命名为小写来解决冲突并将类从内部更改为公共。但它似乎还有效。
    【解决方案2】:

    看起来它终于在 .NET Core 3.0 中实现了:https://github.com/dotnet/corefx/pull/37593

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      • 2018-08-03
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      相关资源
      最近更新 更多