Table of Contents

Class RsaXmlKeyEncryptionExtension

Namespace
ComponentSpace.Saml2.XmlSecurity.Encryption
Assembly
ComponentSpace.Saml2.dll

Supports the RSA XML key encryption algorithms.

public class RsaXmlKeyEncryptionExtension : IXmlKeyEncryptionExtension, IXmlEncryptionExtension
Inheritance
RsaXmlKeyEncryptionExtension
Implements
Inherited Members

Remarks

The supported key encryption algorithms are:

  • http://www.w3.org/2001/04/xmlenc#rsa-1_5

Methods

DecryptSymmetricKey(EncryptedKey, AsymmetricAlgorithm, string)

Decrypts the symmetric key using the specified asymmetric key and key encryption algorithm

public byte[] DecryptSymmetricKey(EncryptedKey encryptedKey, AsymmetricAlgorithm keyDecryptingKey, string keyEncryptionAlgorithm)

Parameters

encryptedKey EncryptedKey

The encrypted symmetric key.

keyDecryptingKey AsymmetricAlgorithm

The asymmetric key decrypting key.

keyEncryptionAlgorithm string

The key encryption algorithm.

Returns

byte[]

The decrypted symmetric key.

EncryptSymmetricKey(byte[], AsymmetricAlgorithm, string, string, string)

Encrypts the symmetric key using the specified asymmetric key and key encryption algorithm.

public byte[] EncryptSymmetricKey(byte[] symmetricKey, AsymmetricAlgorithm keyEncryptingKey, string keyEncryptionAlgorithm, string digestMethod, string maskGenerationFunction)

Parameters

symmetricKey byte[]

The symmetric key.

keyEncryptingKey AsymmetricAlgorithm

The asymmetric key encrypting key.

keyEncryptionAlgorithm string

The key encryption algorithm.

digestMethod string

The digest method.

maskGenerationFunction string

The mask generation function.

Returns

byte[]

The encrypted symmetric key.

IsSupported(string)

Indicates whether the encryption algorithm is supported by this extension.

public bool IsSupported(string encryptionAlgorithm)

Parameters

encryptionAlgorithm string

The encryption algorithm.

Returns

bool

true if the encryption algorithm is supported; otherwise false.

Update(XmlElement, string, string, string)

Updates the encrypted data XML, if required.

public void Update(XmlElement encryptedDataElement, string keyEncryptionAlgorithm, string digestMethod, string maskGenerationFunction)

Parameters

encryptedDataElement XmlElement

The encrypted data XML.

keyEncryptionAlgorithm string

The key encryption algorithm.

digestMethod string

The digest method.

maskGenerationFunction string

The mask generation function.