AES-GCM support is available through an extension to our product. It requires the use of BouncyCastle as AES-GCM support currently isn't included in the .NET framework. Please take a look at the project under the Extensions\AesGcmEncryption folder. I've included the readme.txt contents below for your convenience. Overview ======== Adds support for the following data encryption algorithms: http://www.w3.org/2009/xmlenc11#aes128-gcmhttp://www.w3.org/2009/xmlenc11#aes192-gcmhttp://www.w3.org/2009/xmlenc11#aes256-gcmThe Bouncy Castle ( https://www.bouncycastle.org/csharp/index.html) AES-GCM implementation is used as this support currently isn't available in the .NET framework ( https://github.com/dotnet/runtime/issues/34784).Building ====== Build the AesGcmExtension project. Registering ========= Add the ComponentSpace.AesGcmExtension.dll and BouncyCastle.Crypto.dll to the application. Alternatively, copy the AesGcmXmlEncryptionExtension.cs directly into the application's project. Register the algorithms at application start-up as follows: using ComponentSpace.AesGcmExtension; using ComponentSpace.SAML2.Utility; XmlEncryptionExtensions.DataEncryptionExtensions["http://www.w3.org/2009/xmlenc11#aes128-gcm"] = new AesGcmXmlEncryptionExtension(); XmlEncryptionExtensions.DataEncryptionExtensions["http://www.w3.org/2009/xmlenc11#aes192-gcm"] = new AesGcmXmlEncryptionExtension(); XmlEncryptionExtensions.DataEncryptionExtensions["http://www.w3.org/2009/xmlenc11#aes256-gcm"] = new AesGcmXmlEncryptionExtension();
Regards ComponentSpace Development
|