42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
//go:build go1.14
|
|
// +build go1.14
|
|
|
|
package dtls
|
|
|
|
import (
|
|
"crypto/tls"
|
|
)
|
|
|
|
// VersionDTLS12 is the DTLS version in the same style as
|
|
// VersionTLSXX from crypto/tls
|
|
const VersionDTLS12 = 0xfefd
|
|
|
|
// Convert from our cipherSuite interface to a tls.CipherSuite struct
|
|
func toTLSCipherSuite(c CipherSuite) *tls.CipherSuite {
|
|
return &tls.CipherSuite{
|
|
ID: uint16(c.ID()),
|
|
Name: c.String(),
|
|
SupportedVersions: []uint16{VersionDTLS12},
|
|
Insecure: false,
|
|
}
|
|
}
|
|
|
|
// CipherSuites returns a list of cipher suites currently implemented by this
|
|
// package, excluding those with security issues, which are returned by
|
|
// InsecureCipherSuites.
|
|
func CipherSuites() []*tls.CipherSuite {
|
|
suites := allCipherSuites()
|
|
res := make([]*tls.CipherSuite, len(suites))
|
|
for i, c := range suites {
|
|
res[i] = toTLSCipherSuite(c)
|
|
}
|
|
return res
|
|
}
|
|
|
|
// InsecureCipherSuites returns a list of cipher suites currently implemented by
|
|
// this package and which have security issues.
|
|
func InsecureCipherSuites() []*tls.CipherSuite {
|
|
var res []*tls.CipherSuite
|
|
return res
|
|
}
|