34 lines
735 B
Go
34 lines
735 B
Go
package tls
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"sync"
|
|
)
|
|
|
|
var tlsVersionMap = map[string]uint16{
|
|
"TLS10": tls.VersionTLS10,
|
|
"TLS11": tls.VersionTLS11,
|
|
"TLS12": tls.VersionTLS12,
|
|
"TLS13": tls.VersionTLS13,
|
|
}
|
|
|
|
var tlsCipherMapInit sync.Once
|
|
var tlsCipherMapSecure map[string]uint16
|
|
var tlsCipherMapInsecure map[string]uint16
|
|
|
|
func init() {
|
|
tlsCipherMapInit.Do(func() {
|
|
// Initialize the secure suites
|
|
suites := tls.CipherSuites()
|
|
tlsCipherMapSecure = make(map[string]uint16, len(suites))
|
|
for _, s := range suites {
|
|
tlsCipherMapSecure[s.Name] = s.ID
|
|
}
|
|
|
|
suites = tls.InsecureCipherSuites()
|
|
tlsCipherMapInsecure = make(map[string]uint16, len(suites))
|
|
for _, s := range suites {
|
|
tlsCipherMapInsecure[s.Name] = s.ID
|
|
}
|
|
})
|
|
}
|