Uses of Class
io.github.mahmoudimus.quic.tls.TlsConfig.Builder
Packages that use TlsConfig.Builder
Package
Description
A TLS 1.3 handshake (RFC 8446) for QUIC (RFC 9001), client and server, ported from rustls with
quinn's session interface.
-
Uses of TlsConfig.Builder in io.github.mahmoudimus.quic.tls
Methods in io.github.mahmoudimus.quic.tls that return TlsConfig.BuilderModifier and TypeMethodDescriptionTlsConfig.Builder.alpnProtocols(String... protocols) The application protocols (ALPN).TlsConfig.Builder.alpnSelector(Function<ClientHelloInfo, String> selector) Server: picks the application protocol from the client's offer, instead of thepreference list.static TlsConfig.BuilderTlsConfig.builder()Starts a configuration with the defaults.TlsConfig.Builder.certificate(CertifiedKey key) Server: one certificate for every connection.TlsConfig.Builder.certificate(List<X509Certificate> chain, PrivateKey privateKey) Server: one certificate for every connection.TlsConfig.Builder.certificateSelector(Function<ClientHelloInfo, CertifiedKey> selector) Server: picks the certificate for each ClientHello, typically by its server name.TlsConfig.Builder.cipherSuites(CipherSuite... suites) The cipher suites to offer (client) or accept (server), most preferred first.TlsConfig.Builder.clientAuth(ClientAuth clientAuth) Server: whether to ask the client for a certificate.TlsConfig.Builder.clientCertificate(CertifiedKey key) Client: the certificate to present if the server asks for one.TlsConfig.Builder.clientTrustManager(X509TrustManager trustManager) Server: the trust manager that validates client certificates.TlsConfig.Builder.clock(InstantSource clock) The wall clock ticket ages and lifetimes are measured with.TlsConfig.Builder.earlyData(boolean enabled) Turns 0-RTT on or off (off by default).TlsConfig.Builder.earlyDataPolicy(EarlyDataPolicy policy) Server: decides whether to accept 0-RTT data the protocol allows.TlsConfig.Builder.groups(NamedGroup... groups) The key exchange groups, most preferred first.TlsConfig.Builder.maxHandshakeMessageSize(int bytes) The largest handshake message body accepted from the peer; a longer one fails withCRYPTO_BUFFER_EXCEEDED.TlsConfig.Builder.secureRandom(SecureRandom random) The source of randomness for hello randoms, key shares and signatures.TlsConfig.Builder.serverName(String serverName) Client: the server's host name or IP address.TlsConfig.Builder.sessionTickets(Ticketer ticketer) Server: the ticketer that seals session tickets, which turns on NewSessionTicket and PSK resumption.TlsConfig.Builder.signatureSchemes(SignatureScheme... schemes) The signature schemes allowed for CertificateVerify, most preferred first.TlsConfig.Builder.ticketsPerConnection(int count) Server: how many tickets to send after each handshake.TlsConfig.Builder.trustAllCertificates(boolean trustAll) Client: accept any server certificate without validating its chain or name.TlsConfig.Builder.trustManager(X509TrustManager trustManager) Client: the trust manager that validates the server's chain.TlsConfig.Builder.verifyHostname(boolean verify) Client: whether the server's certificate must be valid for the server name, as HTTPS endpoint identification checks.