vibe.d beta banner
get vibe.d

Asynchronous I/O that doesn’t get in your way, written in D

Class BotanTLSContext

class BotanTLSContext ;


this (kind, credentials, policy, session_manager, is_datagram)


m_certChecked bool
m_clientOffers Vector!string
m_credentials TLSCredentialsManager
m_is_datagram bool
m_kind TLSContextKind
m_offer_version TLSProtocolVersion
m_policy TLSPolicy
m_rng AutoSeededRNG
m_serverCb TLSALPNCallback
m_sessionManager TLSSessionManager
m_sniCallback TLSServerNameCallback


alpnCallback[set] TLSALPNCallbackCallback function invoked by server to choose alpn
alpnCallback[get] TLSALPNCallbackGet the current ALPN callback function
defaultProtocolOffer[get, set] TLSProtocolVersionUsed by clients to indicate protocol preference, use TLSPolicy to restrict the protocol versions
kind[get] TLSContextKindThe kind of TLS context (client/server)
maxCertChainLength[get, set] intThe maximum length of an accepted certificate chain.
peerValidationCallback[get, set] TLSPeerValidationCallbackAn optional user callback for peer validation.
peerValidationMode[get, set] TLSPeerValidationModeSpecifies the validation level of remote peers.
setClientALPN[set] string[]Invoked by client to offer alpn, all strings are copied on the GC
sniCallback[set] TLSServerNameCallback
sniCallback[get] inout(TLSServerNameCallback)


checkCert ()
createStream (underlying, state, peer_name, peer_address) Creates a new stream associated to this context.
nextProtocolHandler (offers)
onSNI (hostname)
setCipherList (list)
setDHParams (pem_file) Set params to use for DH cipher.
setECDHCurve (curve) Set the elliptic curve to use for ECDH cipher.
sniHandler (hostname)
useCertificateChainFile (path) Sets a certificate file to use for authenticating to the remote peer
usePrivateKeyFile (path) Sets the private key to use for authenticating to the remote peer based on the configured certificate chain file.
useTrustedCertificateFile (path) Sets the list of trusted certificates for verifying peer certificates.

Sönke Ludwig, Etienne Cimon


© 2015 Sönke Ludwig, GlobecSys Inc


Subject to the terms of the MIT license, as written in the included LICENSE.txt file.