Будет ли Portable.BouncyCastle работать в Linux и MacOS, если я буду ссылаться на него из веб-приложения ASP.NET Core 2? Будет ли мое приложение ASP.NET Core 2 кроссплатформенным?
Нет, это не кроссплатформенный. Он использует некоторые типы, такие как System.Security.Cryptography.CspParameters
, которые реализованы только в .Net Core для Windows. См. https://github.com/novotnyllc/bc-csharp/issues/6
Действительно, по состоянию на 25 января 2020 года Portable.BouncyCastle по-прежнему использует конструктор RSACryptoServiceProvider(CspParameters)
, и .Net Core все еще есть заглушка для не-Windows.
То, что что-то нацелено на .Net Standard, не означает, что оно работает в операционных системах, отличных от Windows. Существует множество реализаций .Net Core стандартного API .Net, которые представляют собой просто заглушки, которые выдают исключения «не реализовано на этой платформе».
Да, потому что это библиотека .Net Standard 2.0