Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/XTLS/Go
/ types & classes
Types & classes
69 in github.com/XTLS/Go
⨍
Functions
328
◇
Types & classes
69
↓ 8 callers
TypeAlias
SignatureScheme
go:generate stringer -type=SignatureScheme,CurveID,ClientAuthType -output=common_string.go SignatureScheme identifies a signature algorithm supported
common.go:369
↓ 4 callers
TypeAlias
recordType
TLS record types.
common.go:49
↓ 3 callers
TypeAlias
CurveID
CurveID is the type of a TLS identifier for an elliptic curve. See https://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-8
common.go:115
↓ 3 callers
TypeAlias
alert
alert.go:9
↓ 1 callers
TypeAlias
ClientAuthType
ClientAuthType declares the policy the server will follow for TLS Client Authentication.
common.go:291
↓ 1 callers
FuncType
marshalingFunction
The marshalingFunction type is an adapter to allow the use of ordinary functions as cryptobyte.MarshalingValue.
handshake_messages.go:16
Struct
Certificate
A Certificate is a chain of one or more certificates, leaf first.
common.go:1346
Struct
CertificateRequestInfo
CertificateRequestInfo contains information from a server's CertificateRequest message, which is used to demand a certificate and proof of control fro
common.go:459
Struct
CipherSuite
CipherSuite is a TLS cipher suite. Note that most functions in this package accept and expose cipher suite IDs instead of this type.
cipher_suites.go:26
Struct
ClientHelloInfo
ClientHelloInfo contains information from a ClientHello message in order to guide application logic in the GetCertificate and GetConfigForClient callb
common.go:397
Interface
ClientSessionCache
ClientSessionCache is a cache of ClientSessionState objects that can be used by a client to resume a TLS session with a given server. ClientSessionCac
common.go:353
Struct
ClientSessionState
ClientSessionState contains the state needed by clients to resume TLS sessions.
common.go:330
Struct
Config
A Config structure is used to configure a TLS client or server. After one has been passed to a TLS function it must not be modified. A Config may be r
common.go:517
Struct
Conn
A Conn represents a secured connection. It implements the net.Conn interface.
conn.go:31
Struct
ConnectionState
ConnectionState records basic TLS details about the connection.
common.go:215
Struct
Dialer
Dialer dials TLS connections given a configuration and a Dialer for the underlying connection.
tls.go:176
Struct
RecordHeaderError
RecordHeaderError is returned when a TLS record header is invalid.
conn.go:584
TypeAlias
RenegotiationSupport
RenegotiationSupport enumerates the different levels of support for TLS renegotiation. TLS renegotiation is the act of performing subsequent handshake
common.go:498
Interface
aead
cipher_suites.go:433
Struct
atLeastReader
atLeastReader reads from R, stopping with EOF once at least N bytes have been read. It is different from an io.LimitedReader in that it doesn't cut sh
conn.go:877
Interface
binaryMarshaler
handshake_server_tls13.go:327
Interface
cbcMode
cbcMode is an interface for block ciphers using cipher block chaining.
conn.go:351
Struct
certificateMsg
handshake_messages.go:1214
Struct
certificateMsgTLS13
handshake_messages.go:1291
Struct
certificateRequestMsg
handshake_messages.go:1578
Struct
certificateRequestMsgTLS13
handshake_messages.go:1064
Struct
certificateStatusMsg
handshake_messages.go:1467
Struct
certificateVerifyMsg
handshake_messages.go:1720
Struct
cipherSuite
A cipherSuite is a TLS 1.0–1.2 cipher suite, and defines the key exchange mechanism, as well as the cipher+MAC pair or the AEAD.
cipher_suites.go:134
Struct
cipherSuiteTLS13
A cipherSuiteTLS13 defines only the pair of the AEAD algorithm and hash algorithm to be used with HKDF. See RFC 8446, Appendix B.4.
cipher_suites.go:193
Struct
clientHandshakeState
handshake_client.go:26
Struct
clientHandshakeStateTLS13
handshake_client_tls13.go:19
Struct
clientHelloMsg
handshake_messages.go:69
Struct
clientKeyExchangeMsg
handshake_messages.go:1516
Interface
constantTimeHash
cipher_suites.go:554
Struct
cthWrapper
cthWrapper wraps any hash.Hash that implements ConstantTimeSum, and replaces with that all calls to Sum. It's used to obtain a ConstantTimeSum-based H
cipher_suites.go:561
Struct
ecdheKeyAgreement
ecdheKeyAgreement implements a TLS key agreement where the server generates an ephemeral EC public/private key pair and signs it. The pre-master secre
key_agreement.go:157
Interface
ecdheParameters
ecdheParameters implements Diffie-Hellman with either NIST curves or X25519, according to RFC 8446, Section 4.2.8.2.
key_schedule.go:106
Struct
encryptedExtensionsMsg
handshake_messages.go:853
Struct
endOfEarlyDataMsg
handshake_messages.go:927
Struct
finishedHash
A finishedHash calculates the hash of a set of handshake messages suitable for including in a Finished message.
prf.go:159
Struct
finishedMsg
handshake_messages.go:1550
Struct
halfConn
A halfConn represents one direction of the record layer connection, either sending or receiving.
conn.go:189
Interface
handshakeMessage
common.go:1377
Struct
helloRequestMsg
handshake_messages.go:1811
Interface
keyAgreement
a keyAgreement implements the client and server side of a TLS key agreement protocol by generating and processing key exchange messages.
key_agreement.go:20
Struct
keyShare
TLS 1.3 Key Share. See RFC 8446, Section 4.2.8.
common.go:125
Struct
keyUpdateMsg
handshake_messages.go:939
Struct
listener
A listener implements a network listener (net.Listener) for TLS connections.
tls.go:58
Struct
lruSessionCache
lruSessionCache is a ClientSessionCache implementation that uses an LRU caching strategy.
common.go:1384
Struct
lruSessionCacheEntry
common.go:1392
Struct
newSessionTicketMsg
handshake_messages.go:1762
Struct
newSessionTicketMsgTLS13
handshake_messages.go:983
Struct
nistParameters
key_schedule.go:152
Struct
permanentError
conn.go:206
Struct
prefixNonceAEAD
prefixNonceAEAD wraps an AEAD and prefixes a fixed portion of the nonce to each call.
cipher_suites.go:449
Struct
pskIdentity
TLS 1.3 PSK Identity. Can be a Session Ticket, or a reference to a saved session. See RFC 8446, Section 4.2.11.
common.go:138
Struct
rsaKeyAgreement
rsaKeyAgreement implements the standard TLS key agreement where the client encrypts the pre-master secret to the server's public key.
key_agreement.go:42
Struct
serverHandshakeState
serverHandshakeState contains details of a server handshake in progress. It's discarded once the handshake has completed.
handshake_server.go:25
Struct
serverHandshakeStateTLS13
handshake_server_tls13.go:26
Struct
serverHelloDoneMsg
handshake_messages.go:1504
Struct
serverHelloMsg
handshake_messages.go:597
Struct
serverKeyExchangeMsg
handshake_messages.go:1437
Struct
sessionState
sessionState contains the information that is serialized into a session ticket in order to later resume a connection.
ticket.go:22
Struct
sessionStateTLS13
sessionStateTLS13 is the content of a TLS 1.3 session ticket. Its first version (revision = 0) doesn't carry any of the information needed for 0-RTT v
ticket.go:80
Struct
ticketKey
ticketKey is the internal representation of a session ticket key.
common.go:754
Struct
timeoutError
tls.go:100
Struct
x25519Parameters
key_schedule.go:180
Struct
xorNonceAEAD
xoredNonceAEAD wraps an AEAD by XORing in a fixed pattern to the nonce before each call.
cipher_suites.go:471