dispatch/pkg/cryptoutil/tls.go

34 lines
633 B
Go
Raw Normal View History

2020-06-18 06:57:50 +00:00
package cryptoutil
import (
"crypto/tls"
"strings"
)
func DescribeTLS(version, cipherSuite uint16) string {
cs := tls.CipherSuiteName(cipherSuite)
cs = cs[:strings.LastIndexByte(cs, '_')]
cs = cipherSuiteReplacer.Replace(cs)
return TLSVersionName(version) + " and " + cs
}
func TLSVersionName(version uint16) string {
return tlsVersionNames[version]
}
var (
tlsVersionNames = map[uint16]string{
tls.VersionTLS10: "TLS 1.0",
tls.VersionTLS11: "TLS 1.1",
tls.VersionTLS12: "TLS 1.2",
tls.VersionTLS13: "TLS 1.3",
}
cipherSuiteReplacer = strings.NewReplacer(
"_WITH_", " with ",
"TLS_", "",
"_", "-",
)
)