Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Index your code
hub
/
github.com/refraction-networking/utls
/ functions
Functions
1,354 in github.com/refraction-networking/utls
⨍
Functions
1,354
◇
Types & classes
248
↓ 1 callers
Method
PatchBuiltHello
PatchBuiltHello is called once the hello message is fully applied and marshaled. Its purpose is to update the binders of PSK (Pre-Shared Key) identiti
u_pre_shared_key.go:89
↓ 1 callers
Method
Perm
Intn is equivalent to math/read.Perm.
u_prng.go:172
↓ 1 callers
Function
QUICClient
QUICClient returns a new TLS client side connection using QUICTransport as the underlying transport. The config cannot be nil. The config's MinVersio
quic.go:175
↓ 1 callers
Function
QUICServer
QUICServer returns a new TLS server side connection using QUICTransport as the underlying transport. The config cannot be nil. The config's MinVersio
quic.go:183
↓ 1 callers
Method
RawClientHello
RawClientHello returns a ClientHelloSpec which is based on the ClientHello raw bytes that is passed in as the raw argument. It was renamed from Finge
u_fingerprinter.go:45
↓ 1 callers
Method
Read
Read reads random bytes from the PRNG stream into b. Read conforms to io.Reader and always returns len(p), nil.
u_prng.go:109
↓ 1 callers
Method
Read
Read implements TLSExtension.
u_ech.go:177
↓ 1 callers
Method
ReadCipherSuites
ReadCipherSuites is a helper function to construct a list of cipher suites from a []byte into []uint16. example: []byte{0x13, 0x01, 0x13, 0x02, 0x13,
u_common.go:203
↓ 1 callers
Method
ReadCompressionMethods
ReadCompressionMethods is a helper function to construct a list of compression methods from a []byte into []uint8.
u_common.go:219
↓ 1 callers
Method
ReadTLSExtensions
ReadTLSExtensions is a helper function to construct a list of TLS extensions from a byte slice into []TLSExtension.
u_common.go:226
↓ 1 callers
Method
RemoveSNIExtension
RemoveSNIExtension removes SNI from the list of extensions sent in ClientHello It returns an error when used with HelloGolang ClientHelloID
u_conn.go:280
↓ 1 callers
Method
ResumptionState
ResumptionState returns the session ticket sent by the server (also known as the session's identity) and the state necessary to resume this session.
ticket.go:408
↓ 1 callers
Method
Seal
(out, nonce, plaintext, additionalData []byte)
cipher_suites.go:488
↓ 1 callers
Method
SendSessionTicket
SendSessionTicket sends a session ticket to the client. It produces connection events, which may be read with [QUICConn.NextEvent]. Currently, it can
quic.go:303
↓ 1 callers
Method
SetOmitEmptyPsk
(val bool)
u_pre_shared_key.go:78
↓ 1 callers
Method
SetSessionTicketExtension
SetSessionTicket sets the session ticket extension. If extension is nil, this will be a no-op.
u_conn.go:225
↓ 1 callers
Method
SetTLSVers
SetTLSVers sets min and max TLS version in all appropriate places. Function will use first non-zero version parsed in following order: 1. Provided min
u_conn.go:696
↓ 1 callers
Method
SetUnderlyingConn
(c net.Conn)
u_conn.go:757
↓ 1 callers
Function
SetupReceipient
(kemID, kdfID, aeadID uint16, priv *ecdh.PrivateKey, info, encPubEph []byte)
internal/hpke/hpke.go:240
↓ 1 callers
Method
StoreSession
StoreSession stores a session previously received in a QUICStoreSession event in the ClientSessionCache. The application may process additional events
quic.go:322
↓ 1 callers
Method
String
()
internal/quicvarint/protocol/protocol.go:83
↓ 1 callers
Method
Sum
(b []byte)
cipher_suites.go:605
↓ 1 callers
Method
Temporary
()
tls.go:105
↓ 1 callers
Function
UTLSIdToSpec
UTLSIdToSpec converts a ClientHelloID to a corresponding ClientHelloSpec. Exported internal function utlsIdToSpec per request.
u_parrots.go:29
↓ 1 callers
Method
UnmarshalBinary
(data []byte)
handshake_server_tls13.go:477
↓ 1 callers
Method
UnmarshalJSON
UnmarshalJSON unmarshals the JSON-encoded data into the extension.
u_tls_extensions.go:119
↓ 1 callers
Method
Update
(clientHelloUnpaddedLen int)
u_tls_extensions.go:1066
↓ 1 callers
Method
Write
Write writes data to the connection. As Write calls [Conn.Handshake], in order to prevent indefinite blocking a deadline must be set for both [Conn.R
conn.go:1206
↓ 1 callers
Method
Write
Write implements TLSExtensionWriter.
u_ech.go:208
↓ 1 callers
Method
addOne
()
internal/hpke/hpke.go:319
↓ 1 callers
Function
allTrue
(slice []T, predicate func(i int, t *T) bool)
u_common.go:790
↓ 1 callers
Method
applyPresetByID
(id ClientHelloID)
u_parrots.go:2736
↓ 1 callers
Method
bitLen
()
internal/hpke/hpke.go:324
↓ 1 callers
Function
buildRetryConfigList
(keys []EncryptedClientHelloKey)
ech.go:630
↓ 1 callers
Method
bytes
()
internal/hpke/hpke.go:328
↓ 1 callers
Function
certificateRequestInfoFromMsg
certificateRequestInfoFromMsg generates a CertificateRequestInfo from a TLS <= 1.2 CertificateRequest, making an effort to fill in missing information
handshake_client.go:1250
↓ 1 callers
Function
certificatesToBytesSlice
(certs []*x509.Certificate)
ticket.go:173
↓ 1 callers
Method
checkForResumption
()
handshake_server_tls13.go:330
↓ 1 callers
Function
checkUTLSExtensionsEquality
(t *testing.T, expected, actual TLSExtension)
u_fingerprinter_test.go:80
↓ 1 callers
Function
checkUTLSFingerPrintClientHello
(t *testing.T, clientHelloID ClientHelloID, serverName string)
u_fingerprinter_test.go:188
↓ 1 callers
Method
clientHandshake
clientHandshakeWithOneState checks that exactly one expected state is set (1.2 or 1.3) and performs client TLS handshake with that state
u_handshake_client.go:383
↓ 1 callers
Method
clientHandshake
(ctx context.Context)
handshake_client.go:270
↓ 1 callers
Function
compareClientHelloFields
(t *testing.T, fieldName string, expected, actual *PubClientHelloMsg)
u_fingerprinter_test.go:45
↓ 1 callers
Method
connFromCommand
connFromCommand starts opens a listening socket and starts the reference client to connect to it. It returns a recordingConn that wraps the resulting
handshake_server_test.go:614
↓ 1 callers
Method
decompressCert
called by (*clientHandshakeStateTLS13).utlsReadServerCertificate() when UtlsCompressCertExtension is used
u_handshake_client.go:51
↓ 1 callers
Method
decrypt
decrypt authenticates and decrypts the record if protection is active at this stage. The returned plaintext might overlap with the input.
conn.go:343
↓ 1 callers
Function
defaultCurvePreferences
Defaults are collected in this file to allow distributions to more easily patch them to apply local policies. var tlsmlkem = godebug.New("tlsmlkem") [
defaults.go:19
↓ 1 callers
Method
doFullHandshake
()
handshake_client.go:686
↓ 1 callers
Method
doFullHandshake
()
handshake_server.go:582
↓ 1 callers
Method
doHelloRetryRequest
(selectedGroup CurveID)
handshake_server_tls13.go:546
↓ 1 callers
Method
doResumeHandshake
()
handshake_server.go:549
↓ 1 callers
Function
encodeInnerClientHello
[uTLS SECTION BEGIN]
ech.go:211
↓ 1 callers
Method
encrypt
encrypt encrypts payload, adding the appropriate nonce and/or MAC, and appends it to record, which must already contain the record header.
conn.go:483
↓ 1 callers
Method
establishHandshakeKeys
[uTLS] SECTION END
handshake_client_tls13.go:582
↓ 1 callers
Method
evict
evict removes a cacheEntry from the cache.
cache.go:72
↓ 1 callers
Function
extractRawExtensions
(hello *clientHelloMsg)
ech.go:257
↓ 1 callers
Method
finalCheck
finalCheck performs a comprehensive check on the updated state to ensure the correctness of the changes. If the checks pass successfully, the sessionC
u_session_controller.go:136
↓ 1 callers
Function
fipsAllowCert
(c *x509.Certificate)
common.go:1807
↓ 1 callers
Function
fipsAllowChain
(chain []*x509.Certificate)
common.go:1793
↓ 1 callers
Function
forgeConn
()
examples/old/examples.go:283
↓ 1 callers
Method
generateClientKeyExchange
(*Config, *clientHelloMsg, *x509.Certificate)
key_agreement.go:35
↓ 1 callers
Method
generateRandomizedSpec
()
u_parrots.go:2946
↓ 1 callers
Method
generateServerKeyExchange
On the server side, the first two methods are called in order. In the case that the key agreement protocol doesn't use a ServerKeyExchange message, ge
key_agreement.go:27
↓ 1 callers
Function
genericExtension
(id uint16, name string)
u_clienthello_json.go:158
↓ 1 callers
Method
getCachedPrivatePtr
()
u_public.go:433
↓ 1 callers
Method
getPrivateObj
()
u_public.go:585
↓ 1 callers
Method
getPrivatePtr
()
u_public.go:391
↓ 1 callers
Method
getPublicPtr
()
u_public.go:441
↓ 1 callers
Method
handlePostHandshakeMessage
handlePostHandshakeMessage processes a handshake message arrived after the handshake is complete. Up to TLS 1.2, it indicates the start of a renegotia
u_conn.go:957
↓ 1 callers
Method
handleRenegotiation
handleRenegotiation processes a HelloRequest handshake message.
conn.go:1263
↓ 1 callers
Method
handleRenegotiation
handleRenegotiation processes a HelloRequest handshake message.
u_conn.go:905
↓ 1 callers
Method
handshakeContext
(ctx context.Context)
conn.go:1521
↓ 1 callers
Method
handshakeContext
(ctx context.Context)
u_conn.go:317
↓ 1 callers
Function
http2isBadCipher
http2isBadCipher is copied from net/http. TODO: if it ends up exposed somewhere, use that instead.
tls_test.go:1662
↓ 1 callers
Function
httpGetOverConn
(conn net.Conn, alpn string)
examples/ech/main.go:87
↓ 1 callers
Function
illegalClientHelloChange
illegalClientHelloChange reports whether the two ClientHello messages are different, with the exception of the changes allowed before and after a Hell
handshake_server_tls13.go:673
↓ 1 callers
Method
init
alias init initializes the GREASEEncryptedClientHelloExtension with random values if they are not set. Based on cloudflare/go's echGenerateGreaseExt(
u_ech.go:65
↓ 1 callers
Method
initPskExt
initPSK initializes the PSK extension using a valid session. The PSK extension should not be initialized previously, and the parameters must not be ni
u_session_controller.go:166
↓ 1 callers
Method
initSessionTicketExt
initSessionTicketExt initializes the ticket and sets the state to `TicketInitialized`.
u_session_controller.go:148
↓ 1 callers
Method
isSessionLocked
()
u_session_controller.go:68
↓ 1 callers
Function
kyberDecapsulate
kyberDecapsulate implements decapsulation according to Kyber Round 3.
u_key_schedule.go:10
↓ 1 callers
Function
kyberSharedSecret
(c, K []byte)
u_key_schedule.go:18
↓ 1 callers
Method
loadData
()
handshake_server_test.go:674
↓ 1 callers
Function
localServer
change to 1 or 2 to exercise localServer/localPipe handling of mismatches
handshake_test.go:321
↓ 1 callers
Method
makeClientHelloForApplyPreset
()
u_handshake_client.go:170
↓ 1 callers
Method
marshal
()
handshake_messages.go:400
↓ 1 callers
Method
marshal
()
handshake_messages.go:1170
↓ 1 callers
Method
marshal
()
handshake_messages.go:1287
↓ 1 callers
Method
marshalMsg
(echInner bool)
handshake_messages.go:108
↓ 1 callers
Method
maxPayloadSizeForWrite
maxPayloadSizeForWrite returns the maximum TLS payload size to use for the next application data record. There is the following trade-off: - For late
conn.go:896
↓ 1 callers
Function
md5SHA1Hash
md5SHA1Hash implements TLS 1.0's hybrid hash function which consists of the concatenation of an MD5 and SHA1 hash.
key_agreement.go:117
↓ 1 callers
Method
netDialer
()
tls.go:201
↓ 1 callers
Function
newConstantTimeHash
(h func() hash.Hash)
cipher_suites.go:607
↓ 1 callers
Function
newOpensslOutputSink
()
handshake_client_test.go:90
↓ 1 callers
Function
newPRNGWithSaltedSeed
newPRNGWithSaltedSeed initializes a new PRNG using a seed derived from an existing seed and a salt with NewSaltedSeed.
u_prng.go:99
↓ 1 callers
Function
newSaltedPRNGSeed
newSaltedPRNGSeed creates a new seed derived from an existing seed and a salt. A HKDF is applied to the seed and salt. newSaltedPRNGSeed is intended
u_prng.go:48
↓ 1 callers
Function
newSessionController
newSessionController constructs a new SessionController
u_session_controller.go:56
↓ 1 callers
Function
newUQUICConn
(uconn *UConn)
u_quic.go:31
↓ 1 callers
Function
noEKMBecauseNoEMS
noEKMBecauseNoEMS is used as a value of ConnectionState.ekm when Extended Master Secret is not negotiated and thus we wish to fail all key-material ex
prf.go:265
↓ 1 callers
Method
onEnterLoadSessionCheck
onEnterLoadSessionCheck is intended to be invoked upon entering the `conn.loadSession` function. It is designed to ensure the correctness of the utls
u_session_controller.go:320
← previous
next →
501–600 of 1,354, ranked by callers