vibe.d beta banner
get vibe.d
0.10.0

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

Class BotanTLSContext

class BotanTLSContext ;

Constructors

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

Fields

NameTypeDescription
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

Properties

NameTypeDescription
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)

Methods

NameDescription
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.
Authors

Sönke Ludwig, Etienne Cimon

Copyright

© 2015 RejectedSoftware e.K., GlobecSys Inc

License

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