using System.Collections.Generic; using Renci.SshClient.Common; namespace Renci.SshClient.Security { internal abstract class PrivateKey { public abstract string AlgorithmName { get; } protected IEnumerable Data { get; private set; } public abstract IEnumerable PublicKey { get; } public PrivateKey(IEnumerable data) { this.Data = data; } public abstract IEnumerable GetSignature(IEnumerable sessionId); protected class SignatureKeyData : SshData { public string AlgorithmName { get; set; } public IEnumerable Signature { get; set; } protected override void LoadData() { } protected override void SaveData() { this.Write(this.AlgorithmName); this.Write(this.Signature.GetSshString()); } } } }