Documentation ¶
Index ¶
- Constants
- Variables
- type CertificateMsg
- type ClientHelloMsg
- type CurveID
- type ETLS
- type ETLSAlertDescr
- type ETLSAlertLevel
- type ETLSAlertRecord
- type ETLSAppDataRecord
- type ETLSChangeCipherSpecRecord
- type ETLSHandshakeRecord
- type ETLSRecordHeader
- type ETLSType
- type ETLSVersion
- type ETLSchangeCipherSpec
- type Extension
- type ServerHelloMsg
- type SignatureScheme
Constants ¶
const ( ETLSAlertWarning ETLSAlertLevel = 1 ETLSAlertFatal ETLSAlertLevel = 2 ETLSAlertUnknownLevel ETLSAlertLevel = 255 ETLSAlertCloseNotify ETLSAlertDescr = 0 ETLSAlertUnexpectedMessage ETLSAlertDescr = 10 ETLSAlertBadRecordMac ETLSAlertDescr = 20 ETLSAlertDecryptionFailedRESERVED ETLSAlertDescr = 21 ETLSAlertRecordOverflow ETLSAlertDescr = 22 ETLSAlertDecompressionFailure ETLSAlertDescr = 30 ETLSAlertHandshakeFailure ETLSAlertDescr = 40 ETLSAlertNoCertificateRESERVED ETLSAlertDescr = 41 ETLSAlertBadCertificate ETLSAlertDescr = 42 ETLSAlertUnsupportedCertificate ETLSAlertDescr = 43 ETLSAlertCertificateRevoked ETLSAlertDescr = 44 ETLSAlertCertificateExpired ETLSAlertDescr = 45 ETLSAlertCertificateUnknown ETLSAlertDescr = 46 ETLSAlertIllegalParameter ETLSAlertDescr = 47 ETLSAlertUnknownCa ETLSAlertDescr = 48 ETLSAlertAccessDenied ETLSAlertDescr = 49 ETLSAlertDecodeError ETLSAlertDescr = 50 ETLSAlertDecryptError ETLSAlertDescr = 51 ETLSAlertExportRestrictionRESERVED ETLSAlertDescr = 60 ETLSAlertProtocolVersion ETLSAlertDescr = 70 ETLSAlertInsufficientSecurity ETLSAlertDescr = 71 ETLSAlertInternalError ETLSAlertDescr = 80 ETLSAlertUserCanceled ETLSAlertDescr = 90 ETLSAlertNoRenegotiation ETLSAlertDescr = 100 ETLSAlertUnsupportedExtension ETLSAlertDescr = 110 ETLSAlertUnknownDescription ETLSAlertDescr = 255 )
Variables ¶
var LayerTypeETLS gopacket.LayerType
Functions ¶
This section is empty.
Types ¶
type CertificateMsg ¶
type CertificateMsg struct { Certificates [][]byte // contains filtered or unexported fields }
type ClientHelloMsg ¶
type CurveID ¶
type CurveID uint16
CurveID is the type of a ETLS identifier for an elliptic curve. See https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-8
type ETLS ¶
type ETLS struct { layers.BaseLayer // ETLS Records ChangeCipherSpec []ETLSChangeCipherSpecRecord Handshake []ETLSHandshakeRecord AppData []ETLSAppDataRecord Alert []ETLSAlertRecord }
ETLS is actually a slide of ETLSrecord structures
func (*ETLS) CanDecode ¶
func (t *ETLS) CanDecode() gopacket.LayerClass
CanDecode implements gopacket.DecodingLayer.
func (*ETLS) DecodeFromBytes ¶
func (t *ETLS) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error
DecodeFromBytes decodes the slice into the ETLS struct.
func (*ETLS) NextLayerType ¶
NextLayerType implements gopacket.DecodingLayer.
type ETLSAlertDescr ¶
type ETLSAlertDescr uint8
ETLSAlertDescr defines the alert descrption data type
func (ETLSAlertDescr) String ¶
func (ad ETLSAlertDescr) String() string
Strings shows the ETLS alert description nicely formatted
type ETLSAlertLevel ¶
type ETLSAlertLevel uint8
ETLSAlertLevel defines the alert level data type
func (ETLSAlertLevel) String ¶
func (al ETLSAlertLevel) String() string
Strings shows the ETLS alert level nicely formatted
type ETLSAlertRecord ¶
type ETLSAlertRecord struct { ETLSRecordHeader Level ETLSAlertLevel Description ETLSAlertDescr EncryptedMsg []byte }
ETLSAlertRecord contains all the information that each Alert Record type should have
type ETLSAppDataRecord ¶
type ETLSAppDataRecord struct { ETLSRecordHeader Payload []byte }
ETLSAppDataRecord contains all the information that each AppData Record types should have
type ETLSChangeCipherSpecRecord ¶
type ETLSChangeCipherSpecRecord struct { ETLSRecordHeader Message ETLSchangeCipherSpec }
ETLSChangeCipherSpecRecord defines the type of data inside ChangeCipherSpec Record
type ETLSHandshakeRecord ¶
type ETLSHandshakeRecord struct { ETLSRecordHeader ETLSHandshakeMsgType uint8 ETLSHandshakeServerHello *ServerHelloMsg ETLSHandshakeClientHello *ClientHelloMsg ETLSHandshakeCertificate *CertificateMsg }
ETLSHandshakeRecord defines the structure of a Handskake Record
type ETLSRecordHeader ¶
type ETLSRecordHeader struct { ContentType ETLSType Version ETLSVersion Length uint16 }
ETLSRecordHeader contains all the information that each ETLS Record types should have
type ETLSType ¶
type ETLSType uint8
ETLSType defines the type of data after the ETLS Record
type ETLSVersion ¶
type ETLSVersion uint16
ETLSVersion represents the ETLS version in numeric format
func (ETLSVersion) String ¶
func (tv ETLSVersion) String() string
Strings shows the ETLS version nicely formatted
type ETLSchangeCipherSpec ¶
type ETLSchangeCipherSpec uint8
ETLSchangeCipherSpec defines the message value inside ChangeCipherSpec Record
const ( ETLSChangecipherspecMessage ETLSchangeCipherSpec = 1 ETLSChangecipherspecUnknown ETLSchangeCipherSpec = 255 )
func (ETLSchangeCipherSpec) String ¶
func (ccs ETLSchangeCipherSpec) String() string
String shows the message value nicely formatted
type ServerHelloMsg ¶
type SignatureScheme ¶
type SignatureScheme uint16
SignatureScheme identifies a signature algorithm supported by ETLS. See https://tools.ietf.org/html/draft-ietf-tls-tls13-18#section-4.2.3.