Использование RSACryptoServiceProvider
- это то, что вас сдерживает, единственный OAEP, который он понимает, это OAEP-SHA-1.
Когда в .NET Core правильный RSA всегда равен RSA.Create()
.Возвращенный объект всегда корректен для платформы, на которой вы работаете, и (начиная с версии 2.1) всегда может выполнять OAEP на основе SHA-2.
Если вы используете .NET Framework, тогда RSA.Create () вернет RSACryptoServiceProvider, поэтому вам потребуется специальный каркас .NET Framework для создания RSACng.