Documentation ¶
Index ¶
- Variables
- func AddTLSAuditRoutes(r *mux.Router)
- func GetScanData(date, scanID string) tlsmodel.ScanData
- func GetScanSummaries(rewindDays int) []tlsmodel.ScanResultSummary
- func HandShakeClientHello(hostname string, config *gotls.Config, startTLS bool, timeout time.Duration) (tlsmodel.ServerHelloMessage, error)
- func HandShakeClientHelloGetServerCert(hostname string, config *gotls.Config, timeout time.Duration) <-chan ServerHelloAndCert
- func HandShakeUpToKeyExchange(hostname string, config *gotls.Config, startTLS bool, timeout time.Duration) (tlsmodel.HelloAndKey, error)
- func Humanise(in []tlsmodel.ScanResult) (out []tlsmodel.HumanScanResult)
- func ListScans(rewindDays int, completed bool) (result []tlsmodel.AdvancedScanRequest)
- func LoadScanRequest(dir, scanID string) (psr tlsmodel.PersistedScanRequest, e error)
- func MergeResultChannels(channels ...<-chan tlsmodel.ScanResult) <-chan tlsmodel.ScanResult
- func PersistScanRequest(psr tlsmodel.PersistedScanRequest)
- func PersistScans(psr tlsmodel.PersistedScanRequest, server string, ...)
- func RealtimeAdvancedScan(w http.ResponseWriter, req *http.Request)
- func ScanCIDRTLS(cidr string, config tlsmodel.ScanConfig) <-chan tlsmodel.ScanResult
- func ScheduleTLSAudit(ipSource func() []tlsmodel.GroupedHost, resolver func(string) string)
- func ServeAPI(port int)
- func ServeAPITLS(port int)
- func Service(configPath string)
- func StreamScan(day, scanID string, ...)
- type ServerHelloAndCert
Constants ¶
This section is empty.
Variables ¶
var ( //TLSAuditConfigPath is the default config path of the TLSAudit service TLSAuditConfigPath = filepath.Join("data", "config", "TLSAuditConfig.yml") )
Functions ¶
func AddTLSAuditRoutes ¶ added in v0.4.9
AddTLSAuditRoutes adds TLSAudit service's routes to an existing router setup
func GetScanData ¶ added in v0.1.21
GetScanData returns the scan results of a given scan
func GetScanSummaries ¶ added in v0.1.21
func GetScanSummaries(rewindDays int) []tlsmodel.ScanResultSummary
GetScanSummaries returns summaries of scans in the last number of days indicated by rewindDays
func HandShakeClientHello ¶
func HandShakeClientHello(hostname string, config *gotls.Config, startTLS bool, timeout time.Duration) (tlsmodel.ServerHelloMessage, error)
HandShakeClientHello sends client hello and gets Server Hello and Certificates
func HandShakeClientHelloGetServerCert ¶
func HandShakeClientHelloGetServerCert(hostname string, config *gotls.Config, timeout time.Duration) <-chan ServerHelloAndCert
HandShakeClientHelloGetServerCert sends client hello and gets Server Hello and Certificates
func HandShakeUpToKeyExchange ¶
func HandShakeUpToKeyExchange(hostname string, config *gotls.Config, startTLS bool, timeout time.Duration) (tlsmodel.HelloAndKey, error)
HandShakeUpToKeyExchange starts the handshake up till the acquisition of server key exchanges
func Humanise ¶ added in v0.6.6
func Humanise(in []tlsmodel.ScanResult) (out []tlsmodel.HumanScanResult)
Humanise turns ScanResults to HumanScabResults
func ListScans ¶ added in v0.1.20
func ListScans(rewindDays int, completed bool) (result []tlsmodel.AdvancedScanRequest)
ListScans returns the ScanID list of persisted scans
func LoadScanRequest ¶ added in v0.1.20
func LoadScanRequest(dir, scanID string) (psr tlsmodel.PersistedScanRequest, e error)
LoadScanRequest retrieves persisted scan request from folder following a layout pattern
func MergeResultChannels ¶
func MergeResultChannels(channels ...<-chan tlsmodel.ScanResult) <-chan tlsmodel.ScanResult
MergeResultChannels as suggested
func PersistScanRequest ¶ added in v0.1.20
func PersistScanRequest(psr tlsmodel.PersistedScanRequest)
PersistScanRequest persists scan request
func PersistScans ¶ added in v0.1.20
func PersistScans(psr tlsmodel.PersistedScanRequest, server string, scans []tlsmodel.HumanScanResult)
PersistScans persists the result of scans per server
func RealtimeAdvancedScan ¶ added in v0.5.4
func RealtimeAdvancedScan(w http.ResponseWriter, req *http.Request)
RealtimeAdvancedScan runs a scan asynchronously and streams result over a websocket
func ScanCIDRTLS ¶
func ScanCIDRTLS(cidr string, config tlsmodel.ScanConfig) <-chan tlsmodel.ScanResult
ScanCIDRTLS combines a port scan with TLS scan for a CIDR range to return the open ports, and the TLS setting for each port over the result channel If port ranges are specified, will not do a port scan to discover open ports
func ScheduleTLSAudit ¶ added in v0.1.22
func ScheduleTLSAudit(ipSource func() []tlsmodel.GroupedHost, resolver func(string) string)
ScheduleTLSAudit runs TLSAudit scan
func ServeAPI ¶ added in v0.5.4
func ServeAPI(port int)
ServeAPI provides an API endpoint for interacting with TLSAudit on the localhost
func ServeAPITLS ¶ added in v0.5.4
func ServeAPITLS(port int)
ServeAPITLS provides an API endpoint over TLS for interacting with TLSAudit on the localhost potentially for remote consumption
func StreamScan ¶ added in v0.1.20
func StreamScan(day, scanID string, callback func(progress, total int, results []tlsmodel.HumanScanResult))
StreamScan streams the result to a callback function
Types ¶
type ServerHelloAndCert ¶
type ServerHelloAndCert struct { ServerHello tlsmodel.ServerHelloMessage Cert tlsmodel.CertificateMessage StartTLS bool Err error }
ServerHelloAndCert struct holds server hello message and certificate (indicating whether it was STARTTLS), otherwise the error