Portable.BouncyCastle 是跨平台的吗?

Jeo*_*ndy 4 bouncycastle .net-core asp.net-core asp.net-core-2.0

如果我从 ASP.NET Core 2 Web 应用程序引用 Portable.BouncyCastle 是否可以在 Linux 和 MacOS 上运行?我的 ASP.NET Core 2 应用程序仍然跨平台兼容吗?

Arn*_*ion 8

不,它不是跨平台的。它使用一些System.Security.Cryptography.CspParameters仅在 Windows 的 .Net Core 中实现的类型。见https://github.com/novotnyllc/bc-csharp/issues/6

事实上,截至 2020 年 1 月 25 日,Portable.BouncyCastle仍在使用RSACryptoServiceProvider(CspParameters)构造函数,而 .Net Core仍然为非 Windows 设置了它。

仅仅因为某些面向 .Net Standard 的东西并不意味着它可以在非 Windows 操作系统上运行。.Net Standard API 有许多 .Net Core 实现,它们只是抛出“未在此平台上实现”异常的存根。