web-dev-qa-db-ja.com

.NET Core 2.0 RSA PlatformNotSupportedException

このコードを使用して公開鍵と秘密鍵を生成しようとしています。Windows10で.NETCore2を使用しています。

これまでのところ、このコードの実行に成功していませんでしたが、正常にコンパイルされますが、rsa.ToXmlString行に到達すると、PlatformNotSupportedExceptionでドロップし、スタックオーバーフローに関する別の回答を読んだときに、ソリューションはSystem.Security.Cryptography.Algorithmsと彼らは私がここで使用するほぼ正確なコードを以下に示しました。

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

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

エラー: enter image description here

ここに見られるように、それは彼らのAPIブラウザーに表示されるので、サポートされなければなりませんよね? enter image description here

誰かが同様の問題を抱えていますか?または誰かがこれに対する修正を持っていますか? .NET Coreを使用する必要があるため、.NET4.6の使用はお勧めしません。

最終的に.NETCore 3.0に実装されたようです: https://github.com/dotnet/corefx/pull/3759

2
EM0

.NetCoreにはtoXmlString()メソッドとfromXmlStringメソッドがありません。ただし、 拡張子 を使用できます

回避策: #874#23686

更新:

.NET Core3.0のToXmlStringおよびFromXmlStringRSAおよびDSAの実装を追加しました

[〜#〜] rsa [〜#〜][〜#〜] dsa [〜#〜] 例。

14
user5158149