103 bool m_bLeaveInnerStreamOpen;
111 void InitializeOpenSSL();
112 void ProcessHandshake();
113 void FlushOutboundBio();
114 void* CreateSslContext(
bool isServer);
Defines common cross-platform macros, export decorators, and fundamental types.
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
Represents an X.509 certificate and private key per RFC 5280.
Provides a generic view of a sequence of bytes.
bool CanWrite() const override
Gets a value indicating whether the current stream supports writing.
void Flush() override
Flushes data written to the stream to the underlying transport.
void AuthenticateAsServer(const SmartPointer<::DotNetDupe::System::Security::Cryptography::X509Certificates::X509Certificate2 > &certificate)
Called by servers to authenticate the server and optionally the client in a client-server connection.
long GetLength() const override
Gets the length of the data in the stream (unsupported for TLS stream).
long GetPosition() const override
Gets the position within the current stream (unsupported for TLS stream).
void SetPosition(long value) override
Sets the position within the current stream (unsupported for TLS stream).
void AuthenticateAsClient(const String &targetHost)
Called by clients to authenticate the server and optionally the client in a client-server connection.
void SetLength(long value) override
Sets the length of this stream (unsupported for TLS stream).
int Read(char *buffer, int offset, int count) override
Reads data from this stream into the specified byte buffer.
SslStream(const SmartPointer< IO::Stream > &innerStream)
Initializes a new instance of the SslStream class using the specified inner stream.
bool CanSeek() const override
Gets a value indicating whether the current stream supports seeking (always false for TLS).
void Write(const char *buffer, int offset, int count) override
Encrypts and writes the specified number of bytes to the underlying stream.
long Seek(long offset, int origin) override
Sets the current position of this stream to the given value (unsupported).
bool CanRead() const override
Gets a value indicating whether the current stream supports reading.
void Dispose() override
Disposes TLS context, BIO buffers, and optionally inner transport.
A unified smart pointer that supports both unique and shared ownership semantics.
Represents text as a sequence of UTF-8 code units with culture-invariant operations.