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 |