using System;
using System.Runtime.InteropServices;
namespace System.Security.Cryptography
{
/// Represents the base class from which all asymmetric key exchange formatters derive.
// Token: 0x020004E7 RID: 1255
[ComVisible(true)]
public abstract class AsymmetricKeyExchangeFormatter
{
/// When overridden in a derived class, gets the parameters for the asymmetric key exchange.
/// A string in XML format containing the parameters of the asymmetric key exchange operation.
// Token: 0x1700092F RID: 2351
// (get) Token: 0x06002E8F RID: 11919
public abstract string Parameters { get; }
/// When overridden in a derived class, creates the encrypted key exchange data from the specified input data.
/// The encrypted key exchange data to be sent to the intended recipient.
/// The secret information to be passed in the key exchange.
// Token: 0x06002E90 RID: 11920
public abstract byte[] CreateKeyExchange(byte[] data);
/// When overridden in a derived class, creates the encrypted key exchange data from the specified input data.
/// The encrypted key exchange data to be sent to the intended recipient.
/// The secret information to be passed in the key exchange.
/// This parameter is not used in the current version.
// Token: 0x06002E91 RID: 11921
public abstract byte[] CreateKeyExchange(byte[] data, Type symAlgType);
/// When overridden in a derived class, sets the public key to use for encrypting the secret information.
/// The instance of the implementation of that holds the public key.
// Token: 0x06002E92 RID: 11922
public abstract void SetKey(AsymmetricAlgorithm key);
}
}