SslStream

SslStream class

A stream that uses the SSL protocol to authenticate the server and optionally the client.

class SslStream : public System::Net::Security::AuthenticatedStream

Methods

MethodDescription
virtual void AuthenticateAsClient(String)Authenticates the client-side of the connection.
virtual void AuthenticateAsClient(String, System::SharedPtr<System::Security::Cryptography::X509Certificates::X509CertificateCollection>, System::Security::Authentication::SslProtocols, bool)Authenticates the client-side of the connection.
System::SharedPtr<IAsyncResult> BeginRead(System::ArrayPtr<uint8_t>, int32_t, int32_t, AsyncCallback, System::SharedPtr<Object>) overrideInitiates an asynchronous read operation.
virtual System::SharedPtr<System::IAsyncResult> BeginRead(System::ArrayPtr<uint8_t>, int, int, System::AsyncCallback, System::SharedPtr<System::Object>)Initiates an asynchronous read operation.
System::SharedPtr<IAsyncResult> BeginWrite(System::ArrayPtr<uint8_t>, int32_t, int32_t, AsyncCallback, System::SharedPtr<Object>) overrideInitiates an asynchronous write operation.
virtual System::SharedPtr<System::IAsyncResult> BeginWrite(System::ArrayPtr<uint8_t>, int, int, System::AsyncCallback, System::SharedPtr<System::Object>)Initiates an asynchronous write operation.
void Close() overrideCloses the stream.
void CopyTo(const SharedPtr<Stream>&)Copies bytes to the specified stream.
void CopyTo(const SharedPtr<Stream>&, int32_t)Copies bytes to the specified stream, using the specified buffer size.
void Dispose(bool) overrideReleases all resources used by the current object and closes the stream.
void Dispose() overrideReleases all resources used by the current object and closes the stream.
int32_t EndRead(System::SharedPtr<IAsyncResult>) overrideWaits until the specified asynchronous read operation completes.
virtual int EndRead(System::SharedPtr<System::IAsyncResult>)Waits until the specified asynchronous read operation completes.
void EndWrite(System::SharedPtr<IAsyncResult>) overrideEnds an asynchronous write operation. Waits until the specified asynchronous write operation completes.
virtual void EndWrite(System::SharedPtr<System::IAsyncResult>)Ends an asynchronous write operation. Waits until the specified asynchronous write operation completes.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
void Flush() overrideClears this stream’s buffers and writes all buffered data to the underlying storage.
bool get_CanRead() const overrideDetermines if the stream is readable.
bool get_CanSeek() const overrideDetermines if the stream supports seeking.
bool get_CanTimeout() const overrideGets a value that determines whether the current stream can time out.
bool get_CanWrite() const overrideDetermines if the stream is writable.
virtual bool get_CheckCertRevocationStatus()Returns a value that indicates if the certificate revocation list is checked during the certificate validation process.
virtual System::Security::Authentication::CipherAlgorithmType get_CipherAlgorithm()Returns the encryption algorithm.
virtual int32_t get_CipherStrength()Returns the strength of the used encryption algorithm.
virtual System::Security::Authentication::HashAlgorithmType get_HashAlgorithm()Returns the hash algorithm.
virtual int32_t get_HashStrength()Returns the strength of the used hash algorithm.
bool get_IsAuthenticated() const overrideReturns a value that indicates if authentication is successfully passed.
bool get_IsEncrypted() const overrideReturns a value that indicates if the data sent using this stream is encrypted.
bool get_IsMutuallyAuthenticated() const overrideReturns a value that indicates if a server and a client are authenticated.
bool get_IsServer() const overrideReturns a value that indicates if the local side of the connection is the server.
bool get_IsSigned() const overrideReturns a value that indicates if the data sent using this stream is signed.
virtual int32_t get_KeyExchangeStrength()Returns the strength of the used key exchange algorithm.
bool get_LeaveInnerStreamOpen() constReturns the stream that is used by the current class instances for sending and receiving data.
int64_t get_Length() const overrideReturns the length of the stream in bytes.
virtual System::SharedPtr<System::Security::Cryptography::X509Certificates::X509Certificate> get_LocalCertificate()Returns the certificate that is used to authenticate the local endpoint.
int64_t get_Position() const overrideReturns the current position of the stream.
int32_t get_ReadTimeout() const overrideGets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
virtual System::SharedPtr<System::Security::Cryptography::X509Certificates::X509Certificate> get_RemoteCertificate()Returns the certificate that is used to authenticate the remote endpoint.
virtual System::Security::Authentication::SslProtocols get_SslProtocol()Returns the SSL protocol.
int32_t get_WriteTimeout() const overrideGets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
int32_t Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideReads the specified number of bytes from the stream and writes them to the specified byte array.
int32_t Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideReads the specified number of bytes from the stream and writes them to the specified byte array.
int32_t Read(const System::Details::StackArray<uint8_t, N>&, int32_t, int32_t)Reads the specified number of bytes from the stream and writes them to the specified byte array.
virtual int ReadByte()Reads a single byte from the stream and returns a 32-bit integer value equivalent to the value of the read byte.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
int64_t Seek(int64_t, IO::SeekOrigin) overrideSets the position of the stream represented by the current object.
void set_Position(int64_t) overrideSets the stream’s position.
void set_ReadTimeout(int32_t) overrideSets a value that determines whether the current stream can time out.
virtual void set_ReadTimeout(int)Sets a value that determines whether the current stream can time out.
void set_WriteTimeout(int32_t) overrideSets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
virtual void set_WriteTimeout(int)Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
void SetLength(int64_t) overrideSets the length of the stream represented by the current object.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
SslStream(System::SharedPtr<IO::Stream>)Constructs a new instance.
SslStream(System::SharedPtr<IO::Stream>, bool)Constructs a new instance.
SslStream(System::SharedPtr<IO::Stream>, bool, RemoteCertificateValidationCallback)Constructs a new instance.
SslStream(System::SharedPtr<IO::Stream>, bool, RemoteCertificateValidationCallback, LocalCertificateSelectionCallback)Constructs a new instance.
SslStream(System::SharedPtr<IO::Stream>, bool, RemoteCertificateValidationCallback, LocalCertificateSelectionCallback, EncryptionPolicy)Constructs a new instance.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void Write(const ArrayPtr<uint8_t>&)Writes the specified byte array to the stream.
void Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideWrites the specified subrange of bytes from the specified byte array to the stream.
void Write(const System::Details::ArrayView<uint8_t>&)Writes the specified byte array to the stream.
void Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideWrites the specified subrange of bytes from the specified byte array to the stream.
void Write(const System::Details::StackArray<uint8_t, N>&, int32_t, int32_t)Writes the specified subrange of bytes from the specified byte array to the stream.
virtual void WriteByte(uint8_t)Writes the specified unsigned 8-bit integer value to the stream.
virtual ~Object()Destroys object. Frees all internal data structures.

Fields

FieldDescription
static NullA stream with no underlying storage.

Typedefs

TypedefDescription
AsyncResultTypeType of AsyncResultType.
StreamImplementationPtrType of pointer to the implementation.

See Also