model

package
v0.2.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2019 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientDescription

type ClientDescription struct {
	Browser        string
	BrowserVersion string
	OS             string
}

ClientDescription represents a TLS client browser, its version and operating system

type RemoteAddressAndAgent

type RemoteAddressAndAgent struct {
	Remote string
	Agent  string
}

RemoteAddressAndAgent is the remote browser's address and user agent information

type TLSCapabilities

type TLSCapabilities struct {
	Timestamp    time.Time
	Capabilities []TLSClientCapability
}

TLSCapabilities is the collection of all recorded capabilities

type TLSCapability

type TLSCapability struct {
	tls.ClientHelloInfo
	// CipherSuites          []uint16
	CipherSuiteNames []string
	// SupportedCurves       []uint16
	SupportedCurveNames []string
	// SupportedPoints       []uint8
	SignatureSchemeNames []string
	// SupportedProtos       []string
	// SupportedVersions     []uint16
	SupportedVersionNames []string
}

TLSCapability essentially mirrors HelloInfo

func (TLSCapability) MarshalJSON

func (t TLSCapability) MarshalJSON() ([]byte, error)

MarshalJSON serialises TLSCapability to JSON

func (*TLSCapability) UnmarshalJSON

func (t *TLSCapability) UnmarshalJSON(data []byte) error

UnmarshalJSON deserialises TLSCapability from JSON

type TLSClientCapability

type TLSClientCapability struct {
	ClientDescription ClientDescription
	Agent             string
	Capability        TLSCapability
}

TLSClientCapability represents a the capabilities and other properties of a TLS client

func GetEnrichedData

func GetEnrichedData(dataDir string) (out []TLSClientCapability)

GetEnrichedData retrieves browser TLS audit data with further enrichment and annotations

type TLSInfoAndAgent

type TLSInfoAndAgent struct {
	Agent     string
	HelloInfo *tls.ClientHelloInfo
}

TLSInfoAndAgent contains the browser's user agent and ClientHelloInfo (TLS capability fingerprint)

func GetRawData

func GetRawData(dataDir string) (out []TLSInfoAndAgent)

GetRawData retrieves browser TLS audit data

func (TLSInfoAndAgent) MarshalJSON

func (t TLSInfoAndAgent) MarshalJSON() ([]byte, error)

MarshalJSON serialises TLSInfoAndAgent to JSON

func (*TLSInfoAndAgent) UnmarshalJSON

func (t *TLSInfoAndAgent) UnmarshalJSON(data []byte) error

UnmarshalJSON deserialises TLSInfoAndAgent from JSON

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL