vibe.d beta banner
get vibe.d

Interface TLSContext

Encapsulates the configuration for an TLS tunnel.

Note that when creating an TLSContext with TLSContextKind.client, the peerValidationMode will be set to TLSPeerValidationMode.trustedCert, but no trusted certificate authorities are added by default. Use useTrustedCertificateFile to add those.


Name Type Description
alpnCallback [get, set] string delegate(string[]) Callback function invoked to choose alpn (client side)
kind [get] TLSContextKind The kind of TLS context (client/server)
maxCertChainLength [get, set] int The maximum length of an accepted certificate chain.
peerValidationCallback [get, set] bool delegate(scope TLSPeerValidationData) An optional user callback for peer validation.
peerValidationMode [get, set] TLSPeerValidationMode Specifies the validation level of remote peers.
sniCallback [get, set] TLSContext delegate(string) The callback used to associcate host names with TLS certificates/contexts.


Name Description
createStream Creates a new stream associated to this context.
setCipherList Set the list of cipher specifications to use for TLS tunnels.
setClientALPN Setter method invoked to offer ALPN (server side)
setDHParams Set params to use for DH cipher.
setECDHCurve Set the elliptic curve to use for ECDH cipher.
useCertificateChainFile Sets a certificate file to use for authenticating to the remote peer
usePrivateKeyFile Sets the private key to use for authenticating to the remote peer based
useTrustedCertificateFile Sets the list of trusted certificates for verifying peer certificates.
block ddox.authorsblock ddox.copyrightblock ddox.license