const VersionTLS10 …
const VersionTLS11 …
const VersionTLS12 …
const VersionTLS13 …
const VersionSSL30 …
func VersionName(version uint16) string { … }
const maxPlaintext …
const maxCiphertext …
const maxCiphertextTLS13 …
const recordHeaderLen …
const maxHandshake …
const maxHandshakeCertificateMsg …
const maxUselessRecords …
type recordType …
const recordTypeChangeCipherSpec …
const recordTypeAlert …
const recordTypeHandshake …
const recordTypeApplicationData …
const typeHelloRequest …
const typeClientHello …
const typeServerHello …
const typeNewSessionTicket …
const typeEndOfEarlyData …
const typeEncryptedExtensions …
const typeCertificate …
const typeServerKeyExchange …
const typeCertificateRequest …
const typeServerHelloDone …
const typeCertificateVerify …
const typeClientKeyExchange …
const typeFinished …
const typeCertificateStatus …
const typeKeyUpdate …
const typeMessageHash …
const compressionNone …
const extensionServerName …
const extensionStatusRequest …
const extensionSupportedCurves …
const extensionSupportedPoints …
const extensionSignatureAlgorithms …
const extensionALPN …
const extensionSCT …
const extensionExtendedMasterSecret …
const extensionSessionTicket …
const extensionPreSharedKey …
const extensionEarlyData …
const extensionSupportedVersions …
const extensionCookie …
const extensionPSKModes …
const extensionCertificateAuthorities …
const extensionSignatureAlgorithmsCert …
const extensionKeyShare …
const extensionQUICTransportParameters …
const extensionRenegotiationInfo …
const extensionECHOuterExtensions …
const extensionEncryptedClientHello …
const scsvRenegotiation …
type CurveID …
const CurveP256 …
const CurveP384 …
const CurveP521 …
const X25519 …
const x25519Kyber768Draft00 …
type keyShare …
const pskModePlain …
const pskModeDHE …
type pskIdentity …
const pointFormatUncompressed …
const statusTypeOCSP …
const certTypeRSASign …
const certTypeECDSASign …
const signaturePKCS1v15 …
const signatureRSAPSS …
const signatureECDSA …
const signatureEd25519 …
var directSigning …
var helloRetryRequestRandom …
const downgradeCanaryTLS12 …
const downgradeCanaryTLS11 …
var testingOnlyForceDowngradeCanary …
type ConnectionState …
func (cs *ConnectionState) ExportKeyingMaterial(label string, context []byte, length int) ([]byte, error) { … }
type ClientAuthType …
const NoClientCert …
const RequestClientCert …
const RequireAnyClientCert …
const VerifyClientCertIfGiven …
const RequireAndVerifyClientCert …
func requiresClientCert(c ClientAuthType) bool { … }
type ClientSessionCache …
type SignatureScheme …
const PKCS1WithSHA256 …
const PKCS1WithSHA384 …
const PKCS1WithSHA512 …
const PSSWithSHA256 …
const PSSWithSHA384 …
const PSSWithSHA512 …
const ECDSAWithP256AndSHA256 …
const ECDSAWithP384AndSHA384 …
const ECDSAWithP521AndSHA512 …
const Ed25519 …
const PKCS1WithSHA1 …
const ECDSAWithSHA1 …
type ClientHelloInfo …
func (c *ClientHelloInfo) Context() context.Context { … }
type CertificateRequestInfo …
func (c *CertificateRequestInfo) Context() context.Context { … }
type RenegotiationSupport …
const RenegotiateNever …
const RenegotiateOnceAsClient …
const RenegotiateFreelyAsClient …
type Config …
const ticketKeyLifetime …
const ticketKeyRotation …
type ticketKey …
func (c *Config) ticketKeyFromBytes(b [32]byte) (key ticketKey) { … }
const maxSessionTicketLifetime …
func (c *Config) Clone() *Config { … }
var deprecatedSessionTicketKey …
func (c *Config) initLegacySessionTicketKeyRLocked() { … }
func (c *Config) ticketKeys(configForClient *Config) []ticketKey { … }
func (c *Config) SetSessionTicketKeys(keys [][32]byte) { … }
func (c *Config) rand() io.Reader { … }
func (c *Config) time() time.Time { … }
func (c *Config) cipherSuites() []uint16 { … }
var supportedVersions …
const roleClient …
const roleServer …
var tls10server …
func (c *Config) supportedVersions(isClient bool) []uint16 { … }
func (c *Config) maxSupportedVersion(isClient bool) uint16 { … }
func supportedVersionsFromMax(maxVersion uint16) []uint16 { … }
func (c *Config) curvePreferences(version uint16) []CurveID { … }
func (c *Config) supportsCurve(version uint16, curve CurveID) bool { … }
func (c *Config) mutualVersion(isClient bool, peerVersions []uint16) (uint16, bool) { … }
var errNoCertificates …
func (c *Config) getCertificate(clientHello *ClientHelloInfo) (*Certificate, error) { … }
func (chi *ClientHelloInfo) SupportsCertificate(c *Certificate) error { … }
func (cri *CertificateRequestInfo) SupportsCertificate(c *Certificate) error { … }
func (c *Config) BuildNameToCertificate() { … }
const keyLogLabelTLS12 …
const keyLogLabelClientHandshake …
const keyLogLabelServerHandshake …
const keyLogLabelClientTraffic …
const keyLogLabelServerTraffic …
func (c *Config) writeKeyLog(label string, clientRandom, secret []byte) error { … }
var writerMutex …
type Certificate …
func (c *Certificate) leaf() (*x509.Certificate, error) { … }
type handshakeMessage …
type handshakeMessageWithOriginalBytes …
type lruSessionCache …
type lruSessionCacheEntry …
func NewLRUClientSessionCache(capacity int) ClientSessionCache { … }
func (c *lruSessionCache) Put(sessionKey string, cs *ClientSessionState) { … }
func (c *lruSessionCache) Get(sessionKey string) (*ClientSessionState, bool) { … }
var emptyConfig …
func defaultConfig() *Config { … }
func unexpectedMessageError(wanted, got any) error { … }
func supportedSignatureAlgorithms() []SignatureScheme { … }
func isSupportedSignatureAlgorithm(sigAlg SignatureScheme, supportedSignatureAlgorithms []SignatureScheme) bool { … }
type CertificateVerificationError …
func (e *CertificateVerificationError) Error() string { … }
func (e *CertificateVerificationError) Unwrap() error { … }