Search results

There are no results.

std.net.tls

TLS support for sockets.

This module provides socket support for TLS 1.2 and TLS 1.3.

The two main socket types are Client and Server, both acting as wrappers around existing socket types (e.g. std.net.socket.TcpClient) that transparently handle TLS encryption and decryption.

For more details on how to set up a client and/or server socket, refer to the documentation of Client.new and Server.new.

Handling closing of connections

The TLS specification states that clients should send the close_notify message when they disconnect, but not every TLS implementation/user sends it. The Client and Server types provided by this module automatically send the close_notify message when they're dropped.

When performing an IO operation on a socket closed without an explicit close_notify message being sent first, an Error.EndOfInput error is produced.

When receiving a close_notify message during or after an IO operation (e.g. a write), a Error.InvalidData or Error.BrokenPipe error may be produced.

Classes

Client

A type that acts as the client in a TLS session.

ClientConfig

A type storing the configuration details for TLS clients.

Server

A type that acts as the server in a TLS session.

ServerConfig

A type storing the configuration details for TLS servers.

ServerConfigError

An error produced when creating a ServerConfig.