Versions in this module Expand all Collapse all v1 v1.0.2 May 3, 2024 v1.0.1 May 3, 2024 Changes in this version + const CompressionNone + const DISABLED_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + const DISABLED_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + const DISABLED_TLS_RSA_WITH_AES_256_CBC_SHA256 + const ExtensionALPN + const ExtensionALPS + const ExtensionCertificateAuthorities + const ExtensionCompressCertificate + const ExtensionCookie + const ExtensionDelegatedCredentials + const ExtensionECH + const ExtensionEarlyData + const ExtensionExtendedMasterSecret + const ExtensionKeyShare + const ExtensionNextProtoNeg + const ExtensionPSKModes + const ExtensionPadding + const ExtensionPreSharedKey + const ExtensionQUICTransportParameters + const ExtensionRecordSizeLimit + const ExtensionRenegotiationInfo + const ExtensionSCT + const ExtensionServerName + const ExtensionSessionTicket + const ExtensionSignatureAlgorithms + const ExtensionSignatureAlgorithmsCert + const ExtensionStatusRequest + const ExtensionStatusRequestV2 + const ExtensionSupportedCurves + const ExtensionSupportedPoints + const ExtensionSupportedVersions + const FAKE_OLD_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + const FAKE_TLS_DHE_DSS_WITH_AES_128_CBC_SHA + const FAKE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA + const FAKE_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 + const FAKE_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + const FAKE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA + const FAKE_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + const FAKE_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + const FAKE_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + const FAKE_TLS_EMPTY_RENEGOTIATION_INFO_SCSV + const FAKE_TLS_RSA_WITH_RC4_128_MD5 + const FakeExtensionEncryptThenMAC + const GREASE_MAX_MULTIPLIER + const GREASE_PLACEHOLDER + const InnerClientHello + const NoSession + const OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + const OLD_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + const OuterClientHello + const PRNGSeedLength + const PointFormatUncompressed + const PskExtAllSet + const PskExtInitialized + const PskModeDHE + const PskModePlain + const QUICEncryptionLevelApplication + const QUICEncryptionLevelEarly + const QUICEncryptionLevelHandshake + const QUICEncryptionLevelInitial + const SessionTicketExtAllSet + const SessionTicketExtInitialized + const TLS_AES_128_GCM_SHA256 + const TLS_AES_256_GCM_SHA384 + const TLS_CHACHA20_POLY1305_SHA256 + const TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + const TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + const TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + const TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + const TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + const TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 + const TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 + const TLS_ECDHE_ECDSA_WITH_RC4_128_SHA + const TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA + const TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + const TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + const TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + const TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + const TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + const TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 + const TLS_ECDHE_RSA_WITH_RC4_128_SHA + const TLS_FALLBACK_SCSV + const TLS_RSA_WITH_3DES_EDE_CBC_SHA + const TLS_RSA_WITH_AES_128_CBC_SHA + const TLS_RSA_WITH_AES_128_CBC_SHA256 + const TLS_RSA_WITH_AES_128_GCM_SHA256 + const TLS_RSA_WITH_AES_256_CBC_SHA + const TLS_RSA_WITH_AES_256_GCM_SHA384 + const TLS_RSA_WITH_RC4_128_SHA + const VERSION_1 + const VERSION_2 + const VERSION_GREASE + const VERSION_NEGOTIATION + const VersionSSL30 + const VersionTLS10 + const VersionTLS11 + const VersionTLS12 + const VersionTLS13 + var DefaultWeights = Weights + var EmptyClientHelloSpecFactory = func() (ClientHelloSpec, error) + var ErrEmptyPsk = errors.New(...) + var ErrUnknownClientHelloID = errors.New("tls: unknown ClientHelloID") + var ErrUnknownExtension = errors.New("extension name is unknown to the dictionary") + var FakeFFDHE2048 = uint16(0x0100) + var FakeFFDHE3072 = uint16(0x0101) + var Hello360_11_0 = ClientHelloID + var Hello360_7_5 = ClientHelloID + var Hello360_Auto = Hello360_7_5 + var HelloAndroid_11_OkHttp = ClientHelloID + var HelloChrome_100 = ClientHelloID + var HelloChrome_100_PSK = ClientHelloID + var HelloChrome_102 = ClientHelloID + var HelloChrome_103 = ClientHelloID + var HelloChrome_104 = ClientHelloID + var HelloChrome_105 = ClientHelloID + var HelloChrome_106 = ClientHelloID + var HelloChrome_106_Shuffle = ClientHelloID + var HelloChrome_107 = ClientHelloID + var HelloChrome_108 = ClientHelloID + var HelloChrome_109 = ClientHelloID + var HelloChrome_110 = ClientHelloID + var HelloChrome_111 = ClientHelloID + var HelloChrome_112 = ClientHelloID + var HelloChrome_112_PSK = ClientHelloID + var HelloChrome_114_Padding_PSK = ClientHelloID + var HelloChrome_115_PQ = ClientHelloID + var HelloChrome_115_PQ_PSK = ClientHelloID + var HelloChrome_120 = ClientHelloID + var HelloChrome_120_PQ = ClientHelloID + var HelloChrome_58 = ClientHelloID + var HelloChrome_62 = ClientHelloID + var HelloChrome_70 = ClientHelloID + var HelloChrome_72 = ClientHelloID + var HelloChrome_83 = ClientHelloID + var HelloChrome_87 = ClientHelloID + var HelloChrome_96 = ClientHelloID + var HelloChrome_Auto = HelloChrome_120 + var HelloCustom = ClientHelloID + var HelloEdge_106 = ClientHelloID + var HelloEdge_85 = ClientHelloID + var HelloEdge_Auto = HelloEdge_85 + var HelloFirefox_102 = ClientHelloID + var HelloFirefox_104 = ClientHelloID + var HelloFirefox_105 = ClientHelloID + var HelloFirefox_106 = ClientHelloID + var HelloFirefox_108 = ClientHelloID + var HelloFirefox_110 = ClientHelloID + var HelloFirefox_120 = ClientHelloID + var HelloFirefox_55 = ClientHelloID + var HelloFirefox_56 = ClientHelloID + var HelloFirefox_63 = ClientHelloID + var HelloFirefox_65 = ClientHelloID + var HelloFirefox_99 = ClientHelloID + var HelloFirefox_Auto = HelloFirefox_120 + var HelloGolang = ClientHelloID + var HelloIOS_11_1 = ClientHelloID + var HelloIOS_12_1 = ClientHelloID + var HelloIOS_13 = ClientHelloID + var HelloIOS_14 = ClientHelloID + var HelloIOS_15_5 = ClientHelloID + var HelloIOS_15_6 = ClientHelloID + var HelloIOS_16_0 = ClientHelloID + var HelloIOS_Auto = HelloIOS_16_0 + var HelloIPad_15_6 = ClientHelloID + var HelloIPad_Auto = HelloIPad_15_6 + var HelloOpera_89 = ClientHelloID + var HelloOpera_90 = ClientHelloID + var HelloOpera_91 = ClientHelloID + var HelloOpera_Auto = HelloOpera_91 + var HelloQQ_11_1 = ClientHelloID + var HelloQQ_Auto = HelloQQ_11_1 + var HelloRandomized = ClientHelloID + var HelloRandomizedALPN = ClientHelloID + var HelloRandomizedNoALPN = ClientHelloID + var HelloSafari_15_6_1 = ClientHelloID + var HelloSafari_16_0 = ClientHelloID + var HelloSafari_Auto = HelloSafari_16_0 + var P256Kyber768Draft00 = CurveID(0xfe32) + var X25519Kyber512Draft00 = CurveID(0xfe30) + var X25519Kyber768Draft00 = CurveID(0x6399) + var X25519Kyber768Draft00Old = CurveID(0xfe31) + func AlwaysPadToLen(padToLen int) func(int) (int, bool) + func BoringPaddingStyle(unpaddedLen int) (int, bool) + func CipherSuiteName(id uint16) string + func EnableWeakCiphers() + func GetBoringGREASEValue(greaseSeed [ssl_grease_last_index]uint16, index int) uint16 + func Listen(network, laddr string, config *Config) (net.Listener, error) + func NewListener(inner net.Listener, config *Config) net.Listener + func VersionName(version uint16) string + type ALPNExtension struct + AlpnProtocols []string + func (e *ALPNExtension) Len() int + func (e *ALPNExtension) Read(b []byte) (int, error) + func (e *ALPNExtension) UnmarshalJSON(b []byte) error + func (e *ALPNExtension) Write(b []byte) (int, error) + type ActiveConnectionIDLimit uint64 + func (ActiveConnectionIDLimit) ID() uint64 + func (a ActiveConnectionIDLimit) Value() []byte + type AlertError uint8 + func (e AlertError) Error() string + type ApplicationSettingsExtension struct + SupportedProtocols []string + func (e *ApplicationSettingsExtension) Len() int + func (e *ApplicationSettingsExtension) Read(b []byte) (int, error) + func (e *ApplicationSettingsExtension) UnmarshalJSON(b []byte) error + func (e *ApplicationSettingsExtension) Write(b []byte) (int, error) + type CertCompressionAlgo uint16 + const CertCompressionBrotli + const CertCompressionZlib + const CertCompressionZstd + type Certificate struct + Certificate [][]byte + Leaf *x509.Certificate + OCSPStaple []byte + PrivateKey crypto.PrivateKey + SignedCertificateTimestamps [][]byte + SupportedSignatureAlgorithms []SignatureScheme + func LoadX509KeyPair(certFile, keyFile string) (Certificate, error) + func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (Certificate, error) + type CertificateRequestInfo struct + AcceptableCAs [][]byte + SignatureSchemes []SignatureScheme + Version uint16 + func (c *CertificateRequestInfo) Context() context.Context + func (cri *CertificateRequestInfo) SupportsCertificate(c *Certificate) error + type CertificateRequestMsgTLS13 struct + CertificateAuthorities [][]byte + OcspStapling bool + Raw []byte + Scts bool + SupportedSignatureAlgorithms []SignatureScheme + SupportedSignatureAlgorithmsCert []SignatureScheme + type CertificateVerificationError struct + Err error + UnverifiedCertificates []*x509.Certificate + func (e *CertificateVerificationError) Error() string + func (e *CertificateVerificationError) Unwrap() error + type CipherSuite struct + ID uint16 + Insecure bool + Name string + SupportedVersions []uint16 + func CipherSuites() []*CipherSuite + func InsecureCipherSuites() []*CipherSuite + type CipherSuitesJSONUnmarshaler struct + func (c *CipherSuitesJSONUnmarshaler) CipherSuites() []uint16 + func (c *CipherSuitesJSONUnmarshaler) UnmarshalJSON(jsonStr []byte) error + type ClientAuthType int + const NoClientCert + const RequestClientCert + const RequireAndVerifyClientCert + const RequireAnyClientCert + const VerifyClientCertIfGiven + func (i ClientAuthType) String() string + type ClientHelloBuildStatus int + const BuildByGoTLS + const BuildByUtls + const NotBuilt + type ClientHelloID struct + Client string + RandomExtensionOrder bool + Seed *PRNGSeed + SpecFactory ClientHelloSpecFactory + Version string + Weights *Weights + func (p *ClientHelloID) IsSet() bool + func (p *ClientHelloID) Str() string + func (p *ClientHelloID) ToSpec() (ClientHelloSpec, error) + type ClientHelloInfo struct + CipherSuites []uint16 + Conn net.Conn + ServerName string + SignatureSchemes []SignatureScheme + SupportedCurves []CurveID + SupportedPoints []uint8 + SupportedProtos []string + SupportedVersions []uint16 + func (c *ClientHelloInfo) Context() context.Context + func (chi *ClientHelloInfo) SupportsCertificate(c *Certificate) error + type ClientHelloSpec struct + CipherSuites []uint16 + CompressionMethods []uint8 + Extensions []TLSExtension + GetSessionID func(ticket []byte) [32]byte + TLSVersMax uint16 + TLSVersMin uint16 + func UTLSIdToSpec(id ClientHelloID) (ClientHelloSpec, error) + func (chs *ClientHelloSpec) AlwaysAddPadding() + func (chs *ClientHelloSpec) FromRaw(raw []byte, ctrlFlags ...bool) error + func (chs *ClientHelloSpec) ImportTLSClientHello(data map[string][]byte) error + func (chs *ClientHelloSpec) ImportTLSClientHelloFromJSON(jsonB []byte) error + func (chs *ClientHelloSpec) ReadCipherSuites(b []byte) error + func (chs *ClientHelloSpec) ReadCompressionMethods(compressionMethods []byte) error + func (chs *ClientHelloSpec) ReadTLSExtensions(b []byte, allowBluntMimicry bool, realPSK bool) error + func (chs *ClientHelloSpec) UnmarshalJSON(jsonB []byte) error + type ClientHelloSpecFactory func() (ClientHelloSpec, error) + type ClientHelloSpecJSONUnmarshaler struct + CipherSuites *CipherSuitesJSONUnmarshaler + CompressionMethods *CompressionMethodsJSONUnmarshaler + Extensions *TLSExtensionsJSONUnmarshaler + TLSVersMax uint16 + TLSVersMin uint16 + func (chsju *ClientHelloSpecJSONUnmarshaler) ClientHelloSpec() ClientHelloSpec + type ClientSessionCache interface + Get func(sessionKey string) (session *ClientSessionState, ok bool) + Put func(sessionKey string, cs *ClientSessionState) + func NewLRUClientSessionCache(capacity int) ClientSessionCache + type ClientSessionState struct + func MakeClientSessionState(SessionTicket []uint8, Vers uint16, CipherSuite uint16, MasterSecret []byte, ...) *ClientSessionState + func NewResumptionState(ticket []byte, state *SessionState) (*ClientSessionState, error) + func (cs *ClientSessionState) ResumptionState() (ticket []byte, state *SessionState, err error) + func (css *ClientSessionState) CipherSuite() uint16 + func (css *ClientSessionState) MasterSecret() []byte + func (css *ClientSessionState) ServerCertificates() []*x509.Certificate + func (css *ClientSessionState) SessionTicket() []uint8 + func (css *ClientSessionState) SetCipherSuite(CipherSuite uint16) + func (css *ClientSessionState) SetMasterSecret(MasterSecret []byte) + func (css *ClientSessionState) SetServerCertificates(ServerCertificates []*x509.Certificate) + func (css *ClientSessionState) SetSessionTicket(SessionTicket []uint8) + func (css *ClientSessionState) SetVerifiedChains(VerifiedChains [][]*x509.Certificate) + func (css *ClientSessionState) SetVers(Vers uint16) + func (css *ClientSessionState) VerifiedChains() [][]*x509.Certificate + func (css *ClientSessionState) Vers() uint16 + type CompressionMethodsJSONUnmarshaler struct + func (c *CompressionMethodsJSONUnmarshaler) CompressionMethods() []uint8 + func (c *CompressionMethodsJSONUnmarshaler) UnmarshalJSON(jsonStr []byte) error + type Config struct + ApplicationSettings map[string][]byte + Certificates []Certificate + CipherSuites []uint16 + ClientAuth ClientAuthType + ClientCAs *x509.CertPool + ClientSessionCache ClientSessionCache + CurvePreferences []CurveID + DynamicRecordSizingDisabled bool + ECHConfigs []ECHConfig + GetCertificate func(*ClientHelloInfo) (*Certificate, error) + GetClientCertificate func(*CertificateRequestInfo) (*Certificate, error) + GetConfigForClient func(*ClientHelloInfo) (*Config, error) + InsecureServerNameToVerify string + InsecureSkipTimeVerify bool + InsecureSkipVerify bool + KeyLogWriter io.Writer + MaxVersion uint16 + MinVersion uint16 + NameToCertificate map[string]*Certificate + NextProtos []string + OmitEmptyPsk bool + PQSignatureSchemesEnabled bool + PreferServerCipherSuites bool + PreferSkipResumptionOnNilExtension bool + Rand io.Reader + Renegotiation RenegotiationSupport + RootCAs *x509.CertPool + ServerName string + SessionTicketKey [32]byte + SessionTicketsDisabled bool + Time func() time.Time + UnwrapSession func(identity []byte, cs ConnectionState) (*SessionState, error) + VerifyConnection func(ConnectionState) error + VerifyPeerCertificate func(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error + WrapSession func(ConnectionState, *SessionState) ([]byte, error) + func (c *Config) BuildNameToCertificate() + func (c *Config) Clone() *Config + func (c *Config) DecryptTicket(identity []byte, cs ConnectionState) (*SessionState, error) + func (c *Config) EncryptTicket(cs ConnectionState, ss *SessionState) ([]byte, error) + func (c *Config) SetSessionTicketKeys(keys [][32]byte) + type Conn struct + func Client(conn net.Conn, config *Config) *Conn + func Dial(network, addr string, config *Config) (*Conn, error) + func DialWithDialer(dialer *net.Dialer, network, addr string, config *Config) (*Conn, error) + func MakeConnWithCompleteHandshake(tcpConn net.Conn, version uint16, cipherSuite uint16, masterSecret []byte, ...) *Conn + func Server(conn net.Conn, config *Config) *Conn + func (c *Conn) Close() error + func (c *Conn) CloseWrite() error + func (c *Conn) ConnectionState() ConnectionState + func (c *Conn) Handshake() error + func (c *Conn) HandshakeContext(ctx context.Context) error + func (c *Conn) LocalAddr() net.Addr + func (c *Conn) NetConn() net.Conn + func (c *Conn) OCSPResponse() []byte + func (c *Conn) Read(b []byte) (int, error) + func (c *Conn) RemoteAddr() net.Addr + func (c *Conn) SetDeadline(t time.Time) error + func (c *Conn) SetReadDeadline(t time.Time) error + func (c *Conn) SetWriteDeadline(t time.Time) error + func (c *Conn) VerifyHostname(host string) error + func (c *Conn) Write(b []byte) (int, error) + type ConnectionState struct + CipherSuite uint16 + DidResume bool + ECHRetryConfigs []ECHConfig + HandshakeComplete bool + NegotiatedProtocol string + NegotiatedProtocolIsMutual bool + OCSPResponse []byte + PeerApplicationSettings []byte + PeerCertificates []*x509.Certificate + ServerName string + SignedCertificateTimestamps [][]byte + TLSUnique []byte + VerifiedChains [][]*x509.Certificate + Version uint16 + func (cs *ConnectionState) ExportKeyingMaterial(label string, context []byte, length int) ([]byte, error) + type CookieExtension struct + Cookie []byte + func (e *CookieExtension) Len() int + func (e *CookieExtension) Read(b []byte) (int, error) + func (e *CookieExtension) UnmarshalJSON(data []byte) error + type CurveID uint16 + const CurveP256 + const CurveP384 + const CurveP521 + const CurveSECP256R1 + const CurveSECP384R1 + const CurveSECP521R1 + const CurveX25519 + const FAKEFFDHE2048 + const FAKEFFDHE3072 + const FakeCurveFFDHE2048 + const FakeCurveFFDHE3072 + const FakeCurveFFDHE4096 + const FakeCurveFFDHE6144 + const FakeCurveFFDHE8192 + const X25519 + func (i CurveID) String() string + type DelegatedCredentialsExtension = FakeDelegatedCredentialsExtension + type Dialer struct + Config *Config + NetDialer *net.Dialer + func (d *Dialer) Dial(network, addr string) (net.Conn, error) + func (d *Dialer) DialContext(ctx context.Context, network, addr string) (net.Conn, error) + type DisableActiveMigration struct + func (*DisableActiveMigration) ID() uint64 + func (*DisableActiveMigration) Value() []byte + type ECHConfig struct + Contents ECHConfigContents + Length uint16 + Version uint16 + func UnmarshalECHConfigs(raw []byte) ([]ECHConfig, error) + type ECHConfigContents struct + KeyConfig HPKEKeyConfig + MaximumNameLength uint8 + PublicName []byte + func UnmarshalECHConfigContents(contents []byte) (ECHConfigContents, error) + func (echcc *ECHConfigContents) ParsePublicKey() error + type ECHExtension = EncryptedClientHelloExtension + type EncryptedClientHelloExtension interface + Configure func([]ECHConfig) error + MarshalClientHello func(*UConn) error + type ExtendedMasterSecretExtension struct + func (e *ExtendedMasterSecretExtension) Len() int + func (e *ExtendedMasterSecretExtension) Read(b []byte) (int, error) + func (e *ExtendedMasterSecretExtension) UnmarshalJSON(_ []byte) error + func (e *ExtendedMasterSecretExtension) Write(_ []byte) (int, error) + type FakeChannelIDExtension struct + OldExtensionID bool + func (e *FakeChannelIDExtension) Len() int + func (e *FakeChannelIDExtension) Read(b []byte) (int, error) + func (e *FakeChannelIDExtension) UnmarshalJSON(_ []byte) error + func (e *FakeChannelIDExtension) Write(_ []byte) (int, error) + type FakeDelegatedCredentialsExtension struct + SupportedSignatureAlgorithms []SignatureScheme + func (e *FakeDelegatedCredentialsExtension) Len() int + func (e *FakeDelegatedCredentialsExtension) Read(b []byte) (int, error) + func (e *FakeDelegatedCredentialsExtension) UnmarshalJSON(data []byte) error + func (e *FakeDelegatedCredentialsExtension) Write(b []byte) (int, error) + type FakePreSharedKeyExtension struct + Binders [][]byte + Identities []PskIdentity + OmitEmptyPsk bool + func (*FakePreSharedKeyExtension) PatchBuiltHello(*PubClientHelloMsg) error + func (e *FakePreSharedKeyExtension) GetPreSharedKeyCommon() PreSharedKeyCommon + func (e *FakePreSharedKeyExtension) InitializeByUtls(session *SessionState, earlySecret []byte, binderKey []byte, ...) + func (e *FakePreSharedKeyExtension) IsInitialized() bool + func (e *FakePreSharedKeyExtension) Len() int + func (e *FakePreSharedKeyExtension) Read(b []byte) (int, error) + func (e *FakePreSharedKeyExtension) SetOmitEmptyPsk(val bool) + func (e *FakePreSharedKeyExtension) UnmarshalJSON(data []byte) error + func (e *FakePreSharedKeyExtension) Write(b []byte) (n int, err error) + type FakeQUICTransportParameter struct + Id uint64 + Val []byte + func (f *FakeQUICTransportParameter) ID() uint64 + func (f *FakeQUICTransportParameter) Value() []byte + type FakeRecordSizeLimitExtension struct + Limit uint16 + func (e *FakeRecordSizeLimitExtension) Len() int + func (e *FakeRecordSizeLimitExtension) Read(b []byte) (int, error) + func (e *FakeRecordSizeLimitExtension) UnmarshalJSON(data []byte) error + func (e *FakeRecordSizeLimitExtension) Write(b []byte) (int, error) + type FakeTokenBindingExtension struct + KeyParameters []uint8 + MajorVersion uint8 + MinorVersion uint8 + func (e *FakeTokenBindingExtension) Len() int + func (e *FakeTokenBindingExtension) Read(b []byte) (int, error) + func (e *FakeTokenBindingExtension) UnmarshalJSON(data []byte) error + func (e *FakeTokenBindingExtension) Write(b []byte) (int, error) + type Fingerprinter struct + AllowBluntMimicry bool + AlwaysAddPadding bool + RealPSKResumption bool + func (f *Fingerprinter) FingerprintClientHello(data []byte) (clientHelloSpec *ClientHelloSpec, err error) + func (f *Fingerprinter) RawClientHello(raw []byte) (clientHelloSpec *ClientHelloSpec, err error) + func (f *Fingerprinter) UnmarshalJSONClientHello(json []byte) (clientHelloSpec *ClientHelloSpec, err error) + type FinishedHash struct + Buffer []byte + Client hash.Hash + ClientMD5 hash.Hash + Prf func(result, secret, label, seed []byte) + Server hash.Hash + ServerMD5 hash.Hash + Version uint16 + type GREASEECHExtension = GREASEEncryptedClientHelloExtension + type GREASEEncryptedClientHelloExtension struct + CandidateCipherSuites []HPKESymmetricCipherSuite + CandidateConfigIds []uint8 + CandidatePayloadLens []uint16 + EncapsulatedKey []byte + func BoringGREASEECH() *GREASEEncryptedClientHelloExtension + func (*GREASEEncryptedClientHelloExtension) Configure([]ECHConfig) error + func (*GREASEEncryptedClientHelloExtension) MarshalClientHello(*UConn) error + func (g *GREASEEncryptedClientHelloExtension) Len() int + func (g *GREASEEncryptedClientHelloExtension) Read(b []byte) (int, error) + type GREASEQUICBit struct + func (*GREASEQUICBit) ID() uint64 + func (*GREASEQUICBit) Value() []byte + type GREASETransportParameter struct + IdOverride uint64 + Length uint16 + ValueOverride []byte + func (GREASETransportParameter) GetGREASEID() uint64 + func (GREASETransportParameter) IsGREASEID(id uint64) bool + func (g *GREASETransportParameter) ID() uint64 + func (g *GREASETransportParameter) Value() []byte + type GenericExtension struct + Data []byte + Id uint16 + func (e *GenericExtension) Len() int + func (e *GenericExtension) Read(b []byte) (int, error) + func (e *GenericExtension) UnmarshalJSON(b []byte) error + type HPKEKeyConfig struct + CipherSuites []HPKESymmetricCipherSuite + ConfigId uint8 + KemId HPKE_KEM_ID + PublicKey kem.PublicKey + type HPKERawPublicKey = []byte + type HPKESymmetricCipherSuite struct + AeadId HPKE_AEAD_ID + KdfId HPKE_KDF_ID + type HPKE_AEAD_ID = uint16 + type HPKE_KDF_ID = uint16 + type HPKE_KEM_ID = uint16 + type ISessionTicketExtension interface + GetSession func() *SessionState + GetTicket func() []byte + InitializeByUtls func(session *SessionState, ticket []byte) + type InitialMaxData uint64 + func (InitialMaxData) ID() uint64 + func (i InitialMaxData) Value() []byte + type InitialMaxStreamDataBidiLocal uint64 + func (InitialMaxStreamDataBidiLocal) ID() uint64 + func (i InitialMaxStreamDataBidiLocal) Value() []byte + type InitialMaxStreamDataBidiRemote uint64 + func (InitialMaxStreamDataBidiRemote) ID() uint64 + func (i InitialMaxStreamDataBidiRemote) Value() []byte + type InitialMaxStreamDataUni uint64 + func (InitialMaxStreamDataUni) ID() uint64 + func (i InitialMaxStreamDataUni) Value() []byte + type InitialMaxStreamsBidi uint64 + func (InitialMaxStreamsBidi) ID() uint64 + func (i InitialMaxStreamsBidi) Value() []byte + type InitialMaxStreamsUni uint64 + func (InitialMaxStreamsUni) ID() uint64 + func (i InitialMaxStreamsUni) Value() []byte + type InitialSourceConnectionID []byte + func (InitialSourceConnectionID) ID() uint64 + func (i InitialSourceConnectionID) Value() []byte + type Initializable interface + IsInitialized func() bool + type KemPrivateKey struct + CurveID CurveID + SecretKey kem.PrivateKey + func (kpk *KemPrivateKey) ToPrivate() *kemPrivateKey + type KeyShare struct + Data []byte + Group CurveID + type KeyShareExtension struct + KeyShares []KeyShare + func (e *KeyShareExtension) Len() int + func (e *KeyShareExtension) Read(b []byte) (int, error) + func (e *KeyShareExtension) UnmarshalJSON(b []byte) error + func (e *KeyShareExtension) Write(b []byte) (int, error) + type KeyShares []KeyShare + func (KSS KeyShares) ToPrivate() []keyShare + type KeySharesParameters struct + func NewKeySharesParameters() *KeySharesParameters + func (ksp *KeySharesParameters) AddEcdheKeypair(curveID CurveID, ecdheKey *ecdh.PrivateKey, ecdhePubKey *ecdh.PublicKey) + func (ksp *KeySharesParameters) AddKemKeypair(curveID CurveID, kemKey kem.PrivateKey, kemPubKey kem.PublicKey) + func (ksp *KeySharesParameters) GetEcdheKey(curveID CurveID) (ecdheKey *ecdh.PrivateKey, ok bool) + func (ksp *KeySharesParameters) GetEcdhePubkey(curveID CurveID) (params *ecdh.PublicKey, ok bool) + func (ksp *KeySharesParameters) GetKemKey(curveID CurveID) (kemKey kem.PrivateKey, ok bool) + func (ksp *KeySharesParameters) GetKemPubkey(curveID CurveID) (params kem.PublicKey, ok bool) + type LoadSessionTrackerState int + const CalledByGoTLS + const CalledByULoadSession + const NeverCalled + const UtlsAboutToCall + type MaxAckDelay uint64 + func (MaxAckDelay) ID() uint64 + func (m MaxAckDelay) Value() []byte + type MaxDatagramFrameSize uint64 + func (MaxDatagramFrameSize) ID() uint64 + func (m MaxDatagramFrameSize) Value() []byte + type MaxIdleTimeout uint64 + func (MaxIdleTimeout) ID() uint64 + func (m MaxIdleTimeout) Value() []byte + type MaxUDPPayloadSize uint64 + func (MaxUDPPayloadSize) ID() uint64 + func (m MaxUDPPayloadSize) Value() []byte + type NPNExtension struct + NextProtos []string + func (e *NPNExtension) Len() int + func (e *NPNExtension) Read(b []byte) (int, error) + func (e *NPNExtension) UnmarshalJSON(_ []byte) error + func (e *NPNExtension) Write(_ []byte) (int, error) + type PRNGSeed [PRNGSeedLength]byte + func NewPRNGSeed() (*PRNGSeed, error) + type PSKKeyExchangeModesExtension struct + Modes []uint8 + func (e *PSKKeyExchangeModesExtension) Len() int + func (e *PSKKeyExchangeModesExtension) Read(b []byte) (int, error) + func (e *PSKKeyExchangeModesExtension) UnmarshalJSON(b []byte) error + func (e *PSKKeyExchangeModesExtension) Write(b []byte) (int, error) + type PaddingTransportParameter []byte + func (PaddingTransportParameter) ID() uint64 + func (p PaddingTransportParameter) Value() []byte + type PreSharedKeyCommon struct + BinderKey []byte + Binders [][]byte + EarlySecret []byte + Identities []PskIdentity + Session *SessionState + type PreSharedKeyExtension interface + GetPreSharedKeyCommon func() PreSharedKeyCommon + InitializeByUtls func(session *SessionState, earlySecret []byte, binderKey []byte, ...) + PatchBuiltHello func(hello *PubClientHelloMsg) error + SetOmitEmptyPsk func(val bool) + type PskIdentities []PskIdentity + func (PSS PskIdentities) ToPrivate() []pskIdentity + type PskIdentity struct + Label []byte + ObfuscatedTicketAge uint32 + type PubCipherSuite struct + Aead func(key, fixedNonce []byte) aead + Cipher func(key, iv []byte, isRead bool) interface{} + Flags int + Id uint16 + IvLen int + Ka func(version uint16) keyAgreement + KeyLen int + Mac func(macKey []byte) hash.Hash + MacLen int + type PubCipherSuiteTLS13 struct + Aead func(key, fixedNonce []byte) aead + Hash crypto.Hash + Id uint16 + KeyLen int + type PubClientHandshakeState struct + C *Conn + Hello *PubClientHelloMsg + MasterSecret []byte + ServerHello *PubServerHelloMsg + Session *SessionState + State12 TLS12OnlyState + State13 TLS13OnlyState + type PubClientHelloMsg struct + AlpnProtocols []string + CipherSuites []uint16 + CompressionMethods []uint8 + Cookie []byte + EarlyData bool + Ems bool + KeyShares []KeyShare + NextProtoNeg bool + OcspStapling bool + PskBinders [][]byte + PskIdentities []PskIdentity + PskModes []uint8 + QuicTransportParameters []byte + Random []byte + Raw []byte + Scts bool + SecureRenegotiation []byte + SecureRenegotiationSupported bool + ServerName string + SessionId []byte + SessionTicket []uint8 + SupportedCurves []CurveID + SupportedPoints []uint8 + SupportedSignatureAlgorithms []SignatureScheme + SupportedSignatureAlgorithmsCert []SignatureScheme + SupportedVersions []uint16 + TicketSupported bool + Vers uint16 + func UnmarshalClientHello(data []byte) *PubClientHelloMsg + func (chm *PubClientHelloMsg) Marshal() ([]byte, error) + type PubServerHelloMsg struct + AlpnProtocol string + CipherSuite uint16 + CompressionMethod uint8 + Cookie []byte + ExtendedMasterSecret bool + NextProtoNeg bool + NextProtos []string + OcspStapling bool + Random []byte + Raw []byte + Scts [][]byte + SecureRenegotiation []byte + SecureRenegotiationSupported bool + SelectedGroup CurveID + SelectedIdentity uint16 + SelectedIdentityPresent bool + ServerShare keyShare + SessionId []byte + SupportedVersion uint16 + TicketSupported bool + Vers uint16 + type QUICConfig struct + TLSConfig *Config + type QUICConn struct + func QUICClient(config *QUICConfig) *QUICConn + func QUICServer(config *QUICConfig) *QUICConn + func (q *QUICConn) Close() error + func (q *QUICConn) ConnectionState() ConnectionState + func (q *QUICConn) HandleData(level QUICEncryptionLevel, data []byte) error + func (q *QUICConn) NextEvent() QUICEvent + func (q *QUICConn) SendSessionTicket(opts QUICSessionTicketOptions) error + func (q *QUICConn) SetTransportParameters(params []byte) + func (q *QUICConn) Start(ctx context.Context) error + type QUICEncryptionLevel int + func (l QUICEncryptionLevel) String() string + type QUICEvent struct + Data []byte + Kind QUICEventKind + Level QUICEncryptionLevel + Suite uint16 + type QUICEventKind int + const QUICHandshakeDone + const QUICNoEvent + const QUICRejectedEarlyData + const QUICSetReadSecret + const QUICSetWriteSecret + const QUICTransportParameters + const QUICTransportParametersRequired + const QUICWriteData + type QUICSessionTicketOptions struct + EarlyData bool + type QUICTransportParametersExtension struct + TransportParameters TransportParameters + func (e *QUICTransportParametersExtension) Len() int + func (e *QUICTransportParametersExtension) Read(b []byte) (int, error) + type RecordHeaderError struct + Conn net.Conn + Msg string + RecordHeader [5]byte + func (e RecordHeaderError) Error() string + type RenegotiationInfoExtension struct + Renegotiation RenegotiationSupport + func (e *RenegotiationInfoExtension) Len() int + func (e *RenegotiationInfoExtension) Read(b []byte) (int, error) + func (e *RenegotiationInfoExtension) UnmarshalJSON(_ []byte) error + func (e *RenegotiationInfoExtension) Write(_ []byte) (int, error) + type RenegotiationSupport int + const RenegotiateFreelyAsClient + const RenegotiateNever + const RenegotiateOnceAsClient + type Roller struct + HelloIDMu sync.Mutex + HelloIDs []ClientHelloID + TcpDialTimeout time.Duration + TlsHandshakeTimeout time.Duration + WorkingHelloID *ClientHelloID + func NewRoller() (*Roller, error) + func (c *Roller) Dial(network, addr, serverName string) (*UConn, error) + type SCTExtension struct + func (e *SCTExtension) Len() int + func (e *SCTExtension) Read(b []byte) (int, error) + func (e *SCTExtension) UnmarshalJSON(_ []byte) error + func (e *SCTExtension) Write(_ []byte) (int, error) + type SNIExtension struct + ServerName string + func (e *SNIExtension) Len() int + func (e *SNIExtension) Read(b []byte) (int, error) + func (e *SNIExtension) UnmarshalJSON(_ []byte) error + func (e *SNIExtension) Write(b []byte) (int, error) + type SessionState struct + EarlyData bool + Extra [][]byte + func ParseSessionState(data []byte) (*SessionState, error) + func (s *SessionState) Bytes() ([]byte, error) + type SessionTicketExtension struct + Initialized bool + Session *SessionState + Ticket []byte + func (e *SessionTicketExtension) GetSession() *SessionState + func (e *SessionTicketExtension) GetTicket() []byte + func (e *SessionTicketExtension) InitializeByUtls(session *SessionState, ticket []byte) + func (e *SessionTicketExtension) IsInitialized() bool + func (e *SessionTicketExtension) Len() int + func (e *SessionTicketExtension) Read(b []byte) (int, error) + func (e *SessionTicketExtension) UnmarshalJSON(_ []byte) error + func (e *SessionTicketExtension) Write(_ []byte) (int, error) + type SignatureAlgorithmsCertExtension struct + SupportedSignatureAlgorithms []SignatureScheme + func (e *SignatureAlgorithmsCertExtension) Len() int + func (e *SignatureAlgorithmsCertExtension) Read(b []byte) (int, error) + func (e *SignatureAlgorithmsCertExtension) UnmarshalJSON(data []byte) error + func (e *SignatureAlgorithmsCertExtension) Write(b []byte) (int, error) + type SignatureAlgorithmsExtension struct + SupportedSignatureAlgorithms []SignatureScheme + func (e *SignatureAlgorithmsExtension) Len() int + func (e *SignatureAlgorithmsExtension) Read(b []byte) (int, error) + func (e *SignatureAlgorithmsExtension) UnmarshalJSON(data []byte) error + func (e *SignatureAlgorithmsExtension) Write(b []byte) (int, error) + type SignatureScheme uint16 + const ECDSAWithP256AndSHA256 + const ECDSAWithP384AndSHA384 + const ECDSAWithP521AndSHA512 + const ECDSAWithSHA1 + const Ed25519 + const PKCS1WithSHA1 + const PKCS1WithSHA256 + const PKCS1WithSHA384 + const PKCS1WithSHA512 + const PSSWithSHA256 + const PSSWithSHA384 + const PSSWithSHA512 + const SHA224_ECDSA + const SHA224_RSA + var FakeECDSAWithSHA224 SignatureScheme = 0x0303 + var FakePKCS1WithSHA224 SignatureScheme = 0x0301 + var FakeSHA1WithDSA SignatureScheme = 0x0202 + var FakeSHA256WithDSA SignatureScheme = 0x0402 + func (i SignatureScheme) String() string + type StatusRequestExtension struct + func (e *StatusRequestExtension) Len() int + func (e *StatusRequestExtension) Read(b []byte) (int, error) + func (e *StatusRequestExtension) UnmarshalJSON(_ []byte) error + func (e *StatusRequestExtension) Write(b []byte) (int, error) + type StatusRequestV2Extension struct + func (e *StatusRequestV2Extension) Len() int + func (e *StatusRequestV2Extension) Read(b []byte) (int, error) + func (e *StatusRequestV2Extension) UnmarshalJSON(_ []byte) error + func (e *StatusRequestV2Extension) Write(b []byte) (int, error) + type SupportedCurvesExtension struct + Curves []CurveID + func (e *SupportedCurvesExtension) Len() int + func (e *SupportedCurvesExtension) Read(b []byte) (int, error) + func (e *SupportedCurvesExtension) UnmarshalJSON(data []byte) error + func (e *SupportedCurvesExtension) Write(b []byte) (int, error) + type SupportedPointsExtension struct + SupportedPoints []uint8 + func (e *SupportedPointsExtension) Len() int + func (e *SupportedPointsExtension) Read(b []byte) (int, error) + func (e *SupportedPointsExtension) UnmarshalJSON(data []byte) error + func (e *SupportedPointsExtension) Write(b []byte) (int, error) + type SupportedVersionsExtension struct + Versions []uint16 + func (e *SupportedVersionsExtension) Len() int + func (e *SupportedVersionsExtension) Read(b []byte) (int, error) + func (e *SupportedVersionsExtension) UnmarshalJSON(b []byte) error + func (e *SupportedVersionsExtension) Write(b []byte) (int, error) + type TLS12OnlyState struct + FinishedHash FinishedHash + Suite PubCipherSuite + type TLS13OnlyState struct + BinderKey []byte + CertReq *CertificateRequestMsgTLS13 + EarlySecret []byte + EcdheKey *ecdh.PrivateKey + KEMKey *KemPrivateKey + KeySharesParams *KeySharesParameters + SentDummyCCS bool + Suite *PubCipherSuiteTLS13 + TrafficSecret []byte + Transcript hash.Hash + UsingPSK bool + type TLSExtension interface + Len func() int + Read func(p []byte) (n int, err error) + func ExtensionFromID(id uint16) TLSExtension + func ShuffleChromeTLSExtensions(exts []TLSExtension) []TLSExtension + type TLSExtensionJSON interface + UnmarshalJSON func([]byte) error + type TLSExtensionWriter interface + Write func(b []byte) (n int, err error) + type TLSExtensionsJSONUnmarshaler struct + AllowUnknownExt bool + UseRealPSK bool + func (e *TLSExtensionsJSONUnmarshaler) Extensions() []TLSExtension + func (e *TLSExtensionsJSONUnmarshaler) UnmarshalJSON(jsonStr []byte) error + type TicketKey struct + AesKey [16]byte + Created time.Time + HmacKey [16]byte + func TicketKeyFromBytes(b [32]byte) TicketKey + func (TK TicketKey) ToPrivate() ticketKey + type TicketKeys []TicketKey + func (TKS TicketKeys) ToPrivate() []ticketKey + type TransportParameter interface + ID func() uint64 + Value func() []byte + type TransportParameters []TransportParameter + func (tps TransportParameters) Marshal() []byte + type UConn struct + ClientHelloID ClientHelloID + Extensions []TLSExtension + HandshakeState PubClientHandshakeState + WithForceHttp1 bool + WithRandomTLSExtensionOrder bool + func UClient(conn net.Conn, config *Config, clientHelloID ClientHelloID, ...) *UConn + func (c *UConn) Handshake() error + func (c *UConn) HandshakeContext(ctx context.Context) error + func (c *UConn) Write(b []byte) (int, error) + func (uc *UConn) QUICGetTransportParameters() ([]byte, error) + func (uc *UConn) QUICSetReadSecret(level QUICEncryptionLevel, suite uint16, secret []byte) + func (uc *UConn) QUICSetWriteSecret(level QUICEncryptionLevel, suite uint16, secret []byte) + func (uconn *UConn) ApplyConfig() error + func (uconn *UConn) ApplyPreset(p *ClientHelloSpec) error + func (uconn *UConn) BuildHandshakeState() error + func (uconn *UConn) DidTls12Resume() bool + func (uconn *UConn) GetOutKeystream(length int) ([]byte, error) + func (uconn *UConn) GetUnderlyingConn() net.Conn + func (uconn *UConn) MarshalClientHello() error + func (uconn *UConn) RemoveSNIExtension() error + func (uconn *UConn) SetClientRandom(r []byte) error + func (uconn *UConn) SetPskExtension(pskExt PreSharedKeyExtension) error + func (uconn *UConn) SetSNI(sni string) + func (uconn *UConn) SetSessionCache(cache ClientSessionCache) + func (uconn *UConn) SetSessionState(session *ClientSessionState) error + func (uconn *UConn) SetSessionTicketExtension(sessionTicketExt ISessionTicketExtension) error + func (uconn *UConn) SetTLSVers(minTLSVers, maxTLSVers uint16, specExtensions []TLSExtension) error + func (uconn *UConn) SetUnderlyingConn(c net.Conn) + type UQUICConn struct + func UQUICClient(config *QUICConfig, clientHelloID ClientHelloID) *UQUICConn + func (q *UQUICConn) ApplyPreset(p *ClientHelloSpec) error + func (q *UQUICConn) Close() error + func (q *UQUICConn) ConnectionState() ConnectionState + func (q *UQUICConn) HandleData(level QUICEncryptionLevel, data []byte) error + func (q *UQUICConn) NextEvent() QUICEvent + func (q *UQUICConn) SendSessionTicket(opts QUICSessionTicketOptions) error + func (q *UQUICConn) SetTransportParameters(params []byte) + func (q *UQUICConn) Start(ctx context.Context) error + type UnimplementedECHExtension struct + func (*UnimplementedECHExtension) Configure([]ECHConfig) error + func (*UnimplementedECHExtension) Len() int + func (*UnimplementedECHExtension) MarshalClientHello(*UConn) error + func (*UnimplementedECHExtension) Read(_ []byte) (int, error) + type UnimplementedPreSharedKeyExtension struct + func (*UnimplementedPreSharedKeyExtension) GetPreSharedKeyCommon() PreSharedKeyCommon + func (*UnimplementedPreSharedKeyExtension) InitializeByUtls(session *SessionState, earlySecret []byte, binderKey []byte, ...) + func (*UnimplementedPreSharedKeyExtension) IsInitialized() bool + func (*UnimplementedPreSharedKeyExtension) Len() int + func (*UnimplementedPreSharedKeyExtension) PatchBuiltHello(hello *PubClientHelloMsg) error + func (*UnimplementedPreSharedKeyExtension) Read([]byte) (int, error) + func (*UnimplementedPreSharedKeyExtension) SetOmitEmptyPsk(val bool) + type UtlsCompressCertExtension struct + Algorithms []CertCompressionAlgo + func (e *UtlsCompressCertExtension) Len() int + func (e *UtlsCompressCertExtension) Read(b []byte) (int, error) + func (e *UtlsCompressCertExtension) UnmarshalJSON(b []byte) error + func (e *UtlsCompressCertExtension) Write(b []byte) (int, error) + type UtlsExtendedMasterSecretExtension = ExtendedMasterSecretExtension + type UtlsGREASEExtension struct + Body []byte + Value uint16 + func (e *UtlsGREASEExtension) Len() int + func (e *UtlsGREASEExtension) Read(b []byte) (int, error) + func (e *UtlsGREASEExtension) UnmarshalJSON(b []byte) error + func (e *UtlsGREASEExtension) Write(b []byte) (int, error) + type UtlsPaddingExtension struct + GetPaddingLen func(clientHelloUnpaddedLen int) (paddingLen int, willPad bool) + PaddingLen int + WillPad bool + func (e *UtlsPaddingExtension) Len() int + func (e *UtlsPaddingExtension) Read(b []byte) (int, error) + func (e *UtlsPaddingExtension) UnmarshalJSON(b []byte) error + func (e *UtlsPaddingExtension) Update(clientHelloUnpaddedLen int) + func (e *UtlsPaddingExtension) Write(_ []byte) (int, error) + type UtlsPreSharedKeyExtension struct + OmitEmptyPsk bool + func (e *UtlsPreSharedKeyExtension) GetPreSharedKeyCommon() PreSharedKeyCommon + func (e *UtlsPreSharedKeyExtension) InitializeByUtls(session *SessionState, earlySecret []byte, binderKey []byte, ...) + func (e *UtlsPreSharedKeyExtension) IsInitialized() bool + func (e *UtlsPreSharedKeyExtension) Len() int + func (e *UtlsPreSharedKeyExtension) PatchBuiltHello(hello *PubClientHelloMsg) error + func (e *UtlsPreSharedKeyExtension) Read(b []byte) (int, error) + func (e *UtlsPreSharedKeyExtension) SetOmitEmptyPsk(val bool) + func (e *UtlsPreSharedKeyExtension) UnmarshalJSON(_ []byte) error + func (e *UtlsPreSharedKeyExtension) Write(b []byte) (int, error) + type VersionInformation struct + AvailableVersions []uint32 + ChoosenVersion uint32 + LegacyID bool + func (*VersionInformation) GetGREASEVersion() uint32 + func (v *VersionInformation) ID() uint64 + func (v *VersionInformation) Value() []byte + type Weights struct + CipherSuites_Remove_RandomCiphers float64 + CurveIDs_Append_CurveP521 float64 + CurveIDs_Append_X25519 float64 + Extensions_Append_ALPN float64 + Extensions_Append_ALPS float64 + Extensions_Append_EMS float64 + Extensions_Append_Padding float64 + Extensions_Append_Reneg float64 + Extensions_Append_SCT float64 + Extensions_Append_Status float64 + FirstKeyShare_Set_CurveP256 float64 + SigAndHashAlgos_Append_ECDSAWithP521AndSHA512 float64 + SigAndHashAlgos_Append_ECDSAWithSHA1 float64 + SigAndHashAlgos_Append_PSSWithSHA256 float64 + SigAndHashAlgos_Append_PSSWithSHA384_PSSWithSHA512 float64 + TLSVersMax_Set_VersionTLS13 float64