Class RsaOaepMgf1pXmlKeyEncryptionExtension
Supports the RSA-OAEP-MGF1P XML key encryption algorithms.
Inheritance
Inherited Members
Namespace: ComponentSpace.Saml2.XmlSecurity.Encryption
Assembly: ComponentSpace.Saml2.dll
Syntax
public class RsaOaepMgf1pXmlKeyEncryptionExtension : IXmlKeyEncryptionExtension, IXmlEncryptionExtension
Remarks
The supported key encryption algorithms are:
The algorithm http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p uses the fixed MGF1 with SHA-1 mask generation function.
The optional DigestMethod child element specifies the digest method. It defaults to SHA-1.
This implementation uses the EncryptedXml class which only supports the SHA-1 digest method and MGF1 with SHA-1 mask generation function.
Any DigestMethod child element is ignored.
Methods
DecryptSymmetricKey(EncryptedKey, AsymmetricAlgorithm, String)
Decrypts the symmetric key using the specified asymmetric key and key encryption algorithm
Declaration
public byte[] DecryptSymmetricKey(EncryptedKey encryptedKey, AsymmetricAlgorithm keyDecryptingKey, string keyEncryptionAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
System.Security.Cryptography.Xml.EncryptedKey | encryptedKey | The encrypted symmetric key. |
System.Security.Cryptography.AsymmetricAlgorithm | keyDecryptingKey | The asymmetric key decrypting key. |
System.String | keyEncryptionAlgorithm | The key encryption algorithm. |
Returns
Type | Description |
---|---|
System.Byte[] | The decrypted symmetric key. |
EncryptSymmetricKey(Byte[], AsymmetricAlgorithm, String, String, String)
Encrypts the symmetric key using the specified asymmetric key and key encryption algorithm.
Declaration
public byte[] EncryptSymmetricKey(byte[] symmetricKey, AsymmetricAlgorithm keyEncryptingKey, string keyEncryptionAlgorithm, string digestMethod, string maskGenerationFunction)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | symmetricKey | The symmetric key. |
System.Security.Cryptography.AsymmetricAlgorithm | keyEncryptingKey | The asymmetric key encrypting key. |
System.String | keyEncryptionAlgorithm | The key encryption algorithm. |
System.String | digestMethod | The digest method. |
System.String | maskGenerationFunction | The mask generation function. |
Returns
Type | Description |
---|---|
System.Byte[] | The encrypted symmetric key. |
IsSupported(String)
Indicates whether the encryption algorithm is supported by this extension.
Declaration
public bool IsSupported(string encryptionAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
System.String | encryptionAlgorithm | The encryption algorithm. |
Returns
Type | Description |
---|---|
System.Boolean |
|
Update(XmlElement, String, String, String)
Updates the encrypted data XML, if required.
Declaration
public void Update(XmlElement encryptedDataElement, string keyEncryptionAlgorithm, string digestMethod, string maskGenerationFunction)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlElement | encryptedDataElement | The encrypted data XML. |
System.String | keyEncryptionAlgorithm | The key encryption algorithm. |
System.String | digestMethod | The digest method. |
System.String | maskGenerationFunction | The mask generation function. |