private void _read() { _contentType = ((TlsContentType)m_io.ReadU1()); _version = new TlsVersion(m_io, this, m_root); _length = m_io.ReadU2be(); switch (ContentType) { case TlsContentType.Handshake: { __raw_fragment = m_io.ReadBytes(Length); var io___raw_fragment = new KaitaiStream(__raw_fragment); _fragment = new TlsHandshake(io___raw_fragment, this, m_root); break; } case TlsContentType.ApplicationData: { __raw_fragment = m_io.ReadBytes(Length); var io___raw_fragment = new KaitaiStream(__raw_fragment); _fragment = new TlsApplicationData(io___raw_fragment, this, m_root); break; } case TlsContentType.ChangeCipherSpec: { __raw_fragment = m_io.ReadBytes(Length); var io___raw_fragment = new KaitaiStream(__raw_fragment); _fragment = new TlsChangeCipherSpec(io___raw_fragment, this, m_root); break; } case TlsContentType.Alert: { __raw_fragment = m_io.ReadBytes(Length); var io___raw_fragment = new KaitaiStream(__raw_fragment); _fragment = new TlsEncryptedMessage(io___raw_fragment, this, m_root); break; } default: { __raw_fragment = m_io.ReadBytes(Length); var io___raw_fragment = new KaitaiStream(__raw_fragment); _fragment = new TlsEncryptedMessage(io___raw_fragment, this, m_root); break; } } if (ContentType == TlsContentType.ChangeCipherSpec) { _finished = new TlsFinished(m_io, this, m_root); } }
private void _read() { _contentType = ((TlsContentType)m_io.ReadU1()); _version = m_io.ReadU2be(); _length = m_io.ReadU2be(); switch (ContentType) { case TlsContentType.Handshake: { __raw_record = m_io.ReadBytes(Length); var io___raw_record = new KaitaiStream(__raw_record); _record = new TlsHandshakeProtocol(io___raw_record, this, m_root); break; } case TlsContentType.ApplicationData: { __raw_record = m_io.ReadBytes(Length); var io___raw_record = new KaitaiStream(__raw_record); _record = new TlsApplicationData(io___raw_record, this, m_root); break; } case TlsContentType.ChangeCipherSpec: { __raw_record = m_io.ReadBytes(Length); var io___raw_record = new KaitaiStream(__raw_record); _record = new TlsChangeCipherSpec(io___raw_record, this, m_root); break; } case TlsContentType.Alert: { __raw_record = m_io.ReadBytes(Length); var io___raw_record = new KaitaiStream(__raw_record); _record = new TlsEncryptedMessage(io___raw_record, this, m_root); break; } default: { __raw_record = m_io.ReadBytes(Length); var io___raw_record = new KaitaiStream(__raw_record); _record = new TlsEncryptedMessage(io___raw_record, this, m_root); break; } } }
private void _parse() { _handshakeType = ((TlsRecord.TlsHandshakeType)m_io.ReadU1()); _bodyLength = new TlsLength(m_io, this, m_root); switch (HandshakeType) { case TlsRecord.TlsHandshakeType.HelloRequest: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsEmpty(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.Certificate: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsCertificate(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.CertificateVerify: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsCertificateVerify(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.ServerKeyExchange: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsServerKeyExchange(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.ClientHello: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsClientHello(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.Finished: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsFinished(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.ClientKeyExchange: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsClientKeyExchange(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.ServerHello: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsServerHello(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.CertificateRequest: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsCertificateRequest(io___raw_body, this, m_root); break; } case TlsRecord.TlsHandshakeType.ServerHelloDone: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsServerHelloDone(io___raw_body, this, m_root); break; } default: { __raw_body = m_io.ReadBytes((M_Parent.Length - 4)); var io___raw_body = new KaitaiStream(__raw_body); _body = new TlsEncryptedMessage(io___raw_body, this, m_root); break; } } }