License
Boost Software License, Version 1.0
OpenSSL TLS Engine
This module provides TLS/SSL support using the OpenSSL library. It implements the eve.tls.api contract using OpenSSL's libssl/libcrypto.
This engine is platform-independent and works wherever OpenSSL is available.
This module uses the deimos.openssl bindings from the openssl dub package.
RAII wrapper for OpenSSL SSL_CTX.
private SSL_CTX * _ctxTlsErrorCode initialize(ref const(TlsContext) tlsCtx) @trusted nothrowInitialize OpenSSL context from TlsContext configuration.TLS stream that wraps a transport connection with TLS encryption.
This struct provides non-blocking TLS operations suitable for event loop integration. All I/O operations return immediately with WANT_READ/WANT_WRITE status if they would block.
Transport | The underlying transport type (e.g., TCP connection). |
private Transport * _transportprivate SSL * _sslprivate OpenSslContext _ctxprivate TlsState _stateprivate TlsErrorCode _lastErrorTlsIoInterest ioInterest() const pure @safe nothrow @nogcGet the current I/O interest for the underlying transport.TlsIOResult write(const(ubyte)[] data) @trusted nothrowWrite data to the TLS stream (will be encrypted).this(Transport * transport, TlsContext ctx)Create a TLS stream wrapping a transport connection.int tlsVersionToOpenSSL(TlsVersion ver) pure @safe nothrow @nogcConvert TlsVersion to OpenSSL protocol version constant.int verifyModeToOpenSSL(TlsVerifyMode mode) pure @safe nothrow @nogcConvert TlsVerifyMode to OpenSSL verification mode flags.TlsErrorCode sslErrorToCode(int sslError) pure @safe nothrow @nogcConvert OpenSSL error code to TlsErrorCode.