Пример #1
0
        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);
            }
        }
Пример #2
0
        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;
            }
            }
        }