using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Security.Cryptography
{
/// Represents the base class from which all asymmetric key exchange formatters derive.
// Token: 0x020003EC RID: 1004
[Token(Token = "0x20003EC")]
[ComVisible(true)]
public abstract class AsymmetricKeyExchangeFormatter
{
/// Initializes a new instance of .
// Token: 0x0600231B RID: 8987 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600231B")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
protected 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: 0x170004F6 RID: 1270
// (get) Token: 0x0600231C RID: 8988
[Token(Token = "0x170004F6")]
public abstract string Parameters
{
[Token(Token = "0x600231C")]
[Address(Slot = "4")]
get;
}
/// 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: 0x0600231D RID: 8989
[Token(Token = "0x600231D")]
[Address(Slot = "5")]
public abstract void SetKey(AsymmetricAlgorithm key);
/// When overridden in a derived class, creates the encrypted key exchange data from the specified input data.
/// The secret information to be passed in the key exchange.
/// The encrypted key exchange data to be sent to the intended recipient.
// Token: 0x0600231E RID: 8990
[Token(Token = "0x600231E")]
[Address(Slot = "6")]
public abstract byte[] CreateKeyExchange(byte[] data);
/// When overridden in a derived class, creates the encrypted key exchange data from the specified input data.
/// The secret information to be passed in the key exchange.
/// This parameter is not used in the current version.
/// The encrypted key exchange data to be sent to the intended recipient.
// Token: 0x0600231F RID: 8991
[Token(Token = "0x600231F")]
[Address(Slot = "7")]
public abstract byte[] CreateKeyExchange(byte[] data, Type symAlgType);
}
}