-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Obsolete the Rijndael and RijndaelManaged classes #46930
Comments
Tagging subscribers to this area: @bartonjs, @vcsjones, @krwq Issue DetailsBackground and Motivation.NET Framework added support for the Rijndael algorithm before (a restricted set of it) it got officially accepted as the winner of the contest to become AES. When .NET Framework added a new Aes class the RijndaelManaged class already had a fair amount of use, and Aes wasn't available everywhere (since it was only implemented using system crypto libraries). For .NET (nee Core), we no longer have the managed implementation of Rijndael, and the RijndaelManaged class just wraps an instance of Aes. Rijndael and RijndaelManaged were brought to Core as part of the .NET Core/Standard 2.0 API alignment wave. Since the .NET (nee Core) RijndaelManaged doesn't support "full Rijndael" there's no reason to use it in new code. Proposed APInamespace System.Security.Cryptography.Algorithms
{
+ [Obsolete(someID)]
public partial class Rijndael
{
}
+ [Obsolete(someID)]
public partial class RijndaelManaged
{
}
}
|
Perhaps relevant to the discussion: these types are already EditorBrowsableState.Never. |
Good point. Updated the proposal to show that. |
Looks good as proposed. namespace System.Security.Cryptography.Algorithms
{
+ [Obsolete(someID)]
[EditorBrowsable(EditorBrowsableState.Never)]
public partial class Rijndael
{
}
+ [Obsolete(someID)]
[EditorBrowsable(EditorBrowsableState.Never)]
public partial class RijndaelManaged
{
}
} |
Background and Motivation
.NET Framework added support for the Rijndael algorithm before (a restricted set of it) it got officially accepted as the winner of the contest to become AES. When .NET Framework added a new Aes class the RijndaelManaged class already had a fair amount of use, and Aes wasn't available everywhere (since it was only implemented using system crypto libraries).
For .NET (nee Core), we no longer have the managed implementation of Rijndael, and the RijndaelManaged class just wraps an instance of Aes. Rijndael and RijndaelManaged were brought to Core as part of the .NET Core/Standard 2.0 API alignment wave.
Since the .NET (nee Core) RijndaelManaged doesn't support "full Rijndael" there's no reason to use it in new code.
Proposed API
The text was updated successfully, but these errors were encountered: