-
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
Add AES-GCM support to EncryptedXml #34784
Comments
Tagging @bartonjs as an area owner |
For the most part, we consider the crypto XML package to be on minimal maintenance, only present for applications to have an easier time moving to .NET Core from .NET Framework. Adding new algorithms to it is complicated, since they would only work on newer runtimes, but they're identified from within the payload. So something that works on .NET 5 would fail on .NET Core 2.1 or .NET Framework. I'm not sure this is something we really have the option to say yes to. |
If AES-GCM were supported on .NET 5 only rather than earlier releases that would be fine. The AesGcm class introduced in .NET Core 3.0 exposes this algorithm but unfortunately it doesn't follow the earlier model of extending the SymmetricAlgorithm class. If it did, I think EncryptedXml would then support AES-GCM. I believe the trend will be to move away from AES-CBC to AES-GCM for XML encryption. If AES-GCM isn't supported by .NET this will make compatibility with other platforms that have made the move problematic and severely reduce the usefulness of the EncryptedXml class. I hope you will give this further consideration. Thanks. |
One reason AesGcm doesn't extend the We debated emitting |
Thanks for sharing the background as to why extending SymmetricAlgorithm was considered and rejected. I'm still keen to see AES-GCM support included in the EncryptedXml class or a new class supporting the latest XML encryption specification. |
We have the same problem here; XML Signature Syntax and Processing version 1.1 is a standard that has been around for 7+ years (and actually version 2.0 since 2015). It can't be that current cryptographic methods are ignored for years for "backward compatibility reasons". |
This is really important for us too because we have national suomi.fi authentication which is used by many official situations and they are switching into AES-GCM. Many external Saml2 libraries also suffers this because they use EncryptedXml underhood. For example Itfoxtec and Sustainsys.Saml2 Link to Issue At least some workaround for this would be nice. We are using .Net 5 |
Does anyone have a good workaround for this? |
Shibboleth now defaults to AES-GCM for XML encryption (https://wiki.shibboleth.net/confluence/display/IDP4/GCMEncryption) and a number of other platforms include this support.
The System.Security.Cryptography.Xml.EncryptedXml class supports 3DES and AES-CBC for data encryption but not AES-GCM. I would like to see this support added.
The text was updated successfully, but these errors were encountered: