| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package tlstypes
-
- import "io"
-
- type RecordType uint8
-
- const (
- RecordTypeHandshake RecordType = 0x16
- RecordTypeApplicationData RecordType = 0x17
- RecordTypeChangeCipherSpec RecordType = 0x14
- )
-
- type HandshakeType uint8
-
- const (
- HandshakeTypeClient HandshakeType = 0x01
- HandshakeTypeServer HandshakeType = 0x02
- )
-
- type CipherSuiteType uint8
-
- const (
- CipherSuiteType_TLS_AES_128_GCM_SHA256 CipherSuiteType = iota //nolint: stylecheck,golint,revive,nosnakecase
- CipherSuiteType_TLS_AES_256_GCM_SHA384 //nolint: stylecheck,golint,revive,nosnakecase
- CipherSuiteType_TLS_CHACHA20_POLY1305_SHA256 //nolint: stylecheck,golint,revive,nosnakecase
- )
-
- func (c CipherSuiteType) Bytes() []byte {
- switch c {
- case CipherSuiteType_TLS_AES_128_GCM_SHA256: //nolint: nosnakecase
- return CipherSuiteType_TLS_AES_128_GCM_SHA256_Bytes //nolint: nosnakecase
- case CipherSuiteType_TLS_AES_256_GCM_SHA384: //nolint: nosnakecase
- return CipherSuiteType_TLS_AES_256_GCM_SHA384_Bytes //nolint: nosnakecase
- case CipherSuiteType_TLS_CHACHA20_POLY1305_SHA256: //nolint: nosnakecase
- return CipherSuiteType_TLS_CHACHA20_POLY1305_SHA256_Bytes //nolint: nosnakecase
- }
-
- return CipherSuiteType_TLS_CHACHA20_POLY1305_SHA256_Bytes //nolint: nosnakecase
- }
-
- type Version uint8
-
- func (v Version) Bytes() []byte {
- switch v {
- case Version13:
- return Version13Bytes
- case Version12:
- return Version12Bytes
- case Version11:
- return Version11Bytes
- case Version10, VersionUnknown:
- return Version10Bytes
- }
-
- return Version10Bytes
- }
-
- const (
- VersionUnknown Version = iota
- Version10
- Version11
- Version12
- Version13
- )
-
- var (
- Version10Bytes = []byte{0x03, 0x01}
- Version11Bytes = []byte{0x03, 0x02}
- Version12Bytes = []byte{0x03, 0x03}
- Version13Bytes = []byte{0x03, 0x04}
-
- CipherSuiteType_TLS_AES_128_GCM_SHA256_Bytes = []byte{0x13, 0x01} //nolint: stylecheck,golint,revive,nosnakecase
- CipherSuiteType_TLS_AES_256_GCM_SHA384_Bytes = []byte{0x13, 0x02} //nolint: stylecheck,golint,revive,nosnakecase
- CipherSuiteType_TLS_CHACHA20_POLY1305_SHA256_Bytes = []byte{0x13, 0x03} //nolint: stylecheck,golint,revive,nosnakecase
- )
-
- type Byter interface {
- WriteBytes(io.Writer)
- Len() int
- }
-
- type RawBytes []byte
-
- func (r RawBytes) WriteBytes(writer io.Writer) {
- writer.Write(r) //nolint: errcheck
- }
-
- func (r RawBytes) Len() int {
- return len(r)
- }
|