Class RsaOaepMgf1pXmlKeyEncryptionExtension
Supports the RSA-OAEP-MGF1P XML key encryption algorithms.
Inherited Members
Namespace: ComponentSpace.Saml2.XmlSecurity.Encryption
Assembly: ComponentSpace.Saml2.dll
Syntax
public class RsaOaepMgf1pXmlKeyEncryptionExtension : IXmlKeyEncryptionExtension, IXmlEncryptionExtension
Remarks
The supported key encryption algorithms are:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
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 |
---|---|---|
EncryptedKey | encryptedKey | The encrypted symmetric key. |
AsymmetricAlgorithm | keyDecryptingKey | The asymmetric key decrypting key. |
string | keyEncryptionAlgorithm | The key encryption algorithm. |
Returns
Type | Description |
---|---|
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 |
---|---|---|
byte[] | symmetricKey | The symmetric key. |
AsymmetricAlgorithm | keyEncryptingKey | The asymmetric key encrypting key. |
string | keyEncryptionAlgorithm | The key encryption algorithm. |
string | digestMethod | The digest method. |
string | maskGenerationFunction | The mask generation function. |
Returns
Type | Description |
---|---|
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 |
---|---|---|
string | encryptionAlgorithm | The encryption algorithm. |
Returns
Type | Description |
---|---|
bool |
|
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 |
---|---|---|
XmlElement | encryptedDataElement | The encrypted data XML. |
string | keyEncryptionAlgorithm | The key encryption algorithm. |
string | digestMethod | The digest method. |
string | maskGenerationFunction | The mask generation function. |