internal TlsRecord(byte[] data, TlsRecordType record_type, int major_version, int minor_version, byte[] record_data) { Type = record_type; Version = new Version(major_version, minor_version); Data = record_data; }
internal static bool TryParse(BinaryReader reader, out TlsRecord record) { record = null; try { TlsRecordType type = (TlsRecordType)reader.ReadByte(); int major_version = reader.ReadByte(); int minor_version = reader.ReadByte(); int length = reader.ReadByte() << 8 | reader.ReadByte(); byte[] data = reader.ReadAllBytes(length); record = new TlsRecord(data, type, major_version, minor_version, data); return(true); } catch (EndOfStreamException) { return(false); } }
public abstract void Encrypt(IBufferWriter <byte> pipeWriter, ReadOnlySequence <byte> plainText, TlsRecordType recordType);
public abstract void Decrypt(IBufferWriter <byte> pipeWriter, ReadOnlySequence <byte> cipherText, TlsRecordType recordType, TlsProtocolVersion tlsVersion);