A stream that uses the SSL protocol to authenticate the server and optionally the client. More...
Inherits System::Net::Security::AuthenticatedStream.
Public Types | |
typedef TlsStreamAsyncResult | AsyncResultType |
Type of AsyncResultType. More... | |
typedef std::shared_ptr< System::Net::Details::TlsStreamImplSocket > | StreamImplementationPtr |
Type of pointer to the implementation. More... | |
Public Types inherited from System::IO::Stream | |
typedef SharedPtr< Stream > | Ptr |
An alias for a shared pointer to this class. More... | |
Public Types inherited from System::Object | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
Public Member Functions | |
ASPOSECPP_SHARED_API bool | get_IsAuthenticated () const override |
ASPOSECPP_SHARED_API bool | get_IsMutuallyAuthenticated () const override |
ASPOSECPP_SHARED_API bool | get_IsEncrypted () const override |
ASPOSECPP_SHARED_API bool | get_IsSigned () const override |
ASPOSECPP_SHARED_API bool | get_IsServer () const override |
virtual ASPOSECPP_SHARED_API System::Security::Authentication::SslProtocols | get_SslProtocol () |
virtual ASPOSECPP_SHARED_API bool | get_CheckCertRevocationStatus () |
virtual ASPOSECPP_SHARED_API System::SharedPtr< System::Security::Cryptography::X509Certificates::X509Certificate > | get_LocalCertificate () |
virtual ASPOSECPP_SHARED_API System::SharedPtr< System::Security::Cryptography::X509Certificates::X509Certificate > | get_RemoteCertificate () |
virtual ASPOSECPP_SHARED_API System::Security::Authentication::CipherAlgorithmType | get_CipherAlgorithm () |
virtual ASPOSECPP_SHARED_API int32_t | get_CipherStrength () |
virtual ASPOSECPP_SHARED_API System::Security::Authentication::HashAlgorithmType | get_HashAlgorithm () |
virtual ASPOSECPP_SHARED_API int32_t | get_HashStrength () |
virtual ASPOSECPP_SHARED_API int32_t | get_KeyExchangeStrength () |
ASPOSECPP_SHARED_API bool | get_CanSeek () const override |
ASPOSECPP_SHARED_API bool | get_CanRead () const override |
ASPOSECPP_SHARED_API bool | get_CanTimeout () const override |
ASPOSECPP_SHARED_API bool | get_CanWrite () const override |
ASPOSECPP_SHARED_API int32_t | get_ReadTimeout () const override |
ASPOSECPP_SHARED_API void | set_ReadTimeout (int32_t value) override |
Sets a value that determines whether the current stream can time out. More... | |
ASPOSECPP_SHARED_API int32_t | get_WriteTimeout () const override |
Gets a value, in milliseconds, that determines how long the stream will attempt to write before timing out. More... | |
ASPOSECPP_SHARED_API void | set_WriteTimeout (int32_t value) override |
Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. More... | |
ASPOSECPP_SHARED_API int64_t | get_Length () const override |
ASPOSECPP_SHARED_API int64_t | get_Position () const override |
ASPOSECPP_SHARED_API void | set_Position (int64_t value) override |
ASPOSECPP_SHARED_API | SslStream (System::SharedPtr< IO::Stream > innerStream) |
ASPOSECPP_SHARED_API | SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen) |
ASPOSECPP_SHARED_API | SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback) |
ASPOSECPP_SHARED_API | SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback) |
ASPOSECPP_SHARED_API | SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy) |
virtual ASPOSECPP_SHARED_API void | AuthenticateAsClient (String targetHost) |
virtual ASPOSECPP_SHARED_API void | AuthenticateAsClient (String targetHost, System::SharedPtr< System::Security::Cryptography::X509Certificates::X509CertificateCollection > clientCertificates, System::Security::Authentication::SslProtocols enabledSslProtocols, bool checkCertificateRevocation) |
ASPOSECPP_SHARED_API void | SetLength (int64_t value) override |
ASPOSECPP_SHARED_API int64_t | Seek (int64_t offset, IO::SeekOrigin origin) override |
ASPOSECPP_SHARED_API void | Flush () override |
Clears this stream's buffers and writes all buffered data to the underlying storage. More... | |
ASPOSECPP_SHARED_API int32_t | Read (const ArrayPtr< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API void | Write (const ArrayPtr< uint8_t > &buffer) |
ASPOSECPP_SHARED_API void | Write (const ArrayPtr< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API int32_t | Read (const System::Details::ArrayView< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API void | Write (const System::Details::ArrayView< uint8_t > &buffer) |
ASPOSECPP_SHARED_API void | Write (const System::Details::ArrayView< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API System::SharedPtr< IAsyncResult > | BeginRead (System::ArrayPtr< uint8_t > buffer, int32_t offset, int32_t count, AsyncCallback asyncCallback, System::SharedPtr< Object > asyncState) override |
ASPOSECPP_SHARED_API int32_t | EndRead (System::SharedPtr< IAsyncResult > asyncResult) override |
ASPOSECPP_SHARED_API System::SharedPtr< IAsyncResult > | BeginWrite (System::ArrayPtr< uint8_t > buffer, int32_t offset, int32_t count, AsyncCallback asyncCallback, System::SharedPtr< Object > asyncState) override |
ASPOSECPP_SHARED_API void | EndWrite (System::SharedPtr< IAsyncResult > asyncResult) override |
ASPOSECPP_SHARED_API void | Dispose (bool disposing) override |
Releases all resources used by the current object and closes the stream. More... | |
ASPOSECPP_SHARED_API void | Close () override |
Closes the stream. More... | |
Public Member Functions inherited from System::Net::Security::AuthenticatedStream | |
bool ASPOSECPP_SHARED_API | get_LeaveInnerStreamOpen () const |
Public Member Functions inherited from System::IO::Stream | |
virtual ASPOSECPP_SHARED_API int | ReadByte () |
virtual ASPOSECPP_SHARED_API void | WriteByte (uint8_t value) |
template<std::size_t N> | |
int32_t | Read (const System::Details::StackArray< uint8_t, N > &buffer, int32_t offset, int32_t count) |
template<std::size_t N> | |
void | Write (const System::Details::StackArray< uint8_t, N > &buffer, int32_t offset, int32_t count) |
ASPOSECPP_SHARED_API void | Dispose () override |
Releases all resources used by the current object and closes the stream. More... | |
virtual ASPOSECPP_SHARED_API System::SharedPtr< System::IAsyncResult > | BeginRead (System::ArrayPtr< uint8_t > buffer, int offset, int count, System::AsyncCallback callback, System::SharedPtr< System::Object > state) |
virtual ASPOSECPP_SHARED_API System::SharedPtr< System::IAsyncResult > | BeginWrite (System::ArrayPtr< uint8_t > buffer, int offset, int count, System::AsyncCallback callback, System::SharedPtr< System::Object > state) |
virtual ASPOSECPP_SHARED_API int | EndRead (System::SharedPtr< System::IAsyncResult > asyncResult) |
virtual ASPOSECPP_SHARED_API void | EndWrite (System::SharedPtr< System::IAsyncResult > asyncResult) |
ASPOSECPP_SHARED_API void | CopyTo (const SharedPtr< Stream > &destination) |
ASPOSECPP_SHARED_API void | CopyTo (const SharedPtr< Stream > &destination, int32_t buffer_size) |
virtual ASPOSECPP_SHARED_API void | set_ReadTimeout (int timeout) |
Sets a value that determines whether the current stream can time out. More... | |
virtual ASPOSECPP_SHARED_API void | set_WriteTimeout (int timeout) |
Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. More... | |
Public Member Functions inherited from System::Object | |
ASPOSECPP_SHARED_API | Object () |
Creates object. Initializes all internal data structures. More... | |
virtual ASPOSECPP_SHARED_API | ~Object () |
Destroys object. Frees all internal data structures. More... | |
ASPOSECPP_SHARED_API | Object (Object const &x) |
Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object & | operator= (Object const &x) |
Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object * | SharedRefAdded () |
Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | SharedRefRemovedSafe () |
Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | RemovedSharedRefs (int count) |
Decreases shared reference count by specified value. More... | |
Detail::SmartPtrCounter * | WeakRefAdded () |
Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
void | WeakRefRemoved () |
Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
Detail::SmartPtrCounter * | GetCounter () |
Gets reference counter data structure associated with the object. More... | |
int | SharedCount () const |
Gets current value of shared reference counter. More... | |
ASPOSECPP_SHARED_API void | Lock () |
Implements C# lock() statement locking. Call directly or use LockContext sentry object. More... | |
ASPOSECPP_SHARED_API void | Unlock () |
Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More... | |
virtual ASPOSECPP_SHARED_API bool | Equals (ptr obj) |
Compares objects using C# Object.Equals semantics. More... | |
virtual ASPOSECPP_SHARED_API int32_t | GetHashCode () const |
Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More... | |
virtual ASPOSECPP_SHARED_API String | ToString () const |
Analog of C# Object.ToString() method. Enables converting custom objects to string. More... | |
virtual ASPOSECPP_SHARED_API ptr | MemberwiseClone () const |
Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More... | |
virtual ASPOSECPP_SHARED_API const TypeInfo & | GetType () const |
Gets actual type of object. Analog of C# System.Object.GetType() call. More... | |
virtual ASPOSECPP_SHARED_API bool | Is (const TypeInfo &targetType) const |
Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More... | |
virtual ASPOSECPP_SHARED_API void | SetTemplateWeakPtr (uint32_t argument) |
Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More... | |
virtual ASPOSECPP_SHARED_API bool | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const |
For internal purposes only. More... | |
template<> | |
bool | Equals (float const &objA, float const &objB) |
template<> | |
bool | Equals (double const &objA, double const &objB) |
template<> | |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
template<> | |
bool | ReferenceEquals (String const &str1, String const &str2) |
Additional Inherited Members | |
Static Public Member Functions inherited from System::Object | |
static bool | ReferenceEquals (ptr const &objA, ptr const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, T const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, std::nullptr_t) |
Reference-compares value type object with nullptr. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares reference type objects in C# style. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares value type objects in C# style. More... | |
static const TypeInfo & | Type () |
Implements C# typeof(System.Object) construct. More... | |
Static Public Attributes inherited from System::IO::Stream | |
static const System::SharedPtr< Stream > ASPOSECPP_SHARED_API | Null |
A stream with no underlying storage. More... | |
A stream that uses the SSL protocol to authenticate the server and optionally the client.
Type of AsyncResultType.
typedef std::shared_ptr<System::Net::Details::TlsStreamImplSocket> System::Net::Security::SslStream::StreamImplementationPtr |
Type of pointer to the implementation.
ASPOSECPP_SHARED_API System::Net::Security::SslStream::SslStream | ( | System::SharedPtr< IO::Stream > | innerStream | ) |
Constructs a new instance.
innerStream | The stream that is used for sending and receiving data. |
ASPOSECPP_SHARED_API System::Net::Security::SslStream::SslStream | ( | System::SharedPtr< IO::Stream > | innerStream, |
bool | leaveInnerStreamOpen | ||
) |
Constructs a new instance.
innerStream | The stream that is used for sending and receiving data. |
leaveInnerStreamOpen | If true, closing the current instance has no effect on 'InnerStream'. |
ASPOSECPP_SHARED_API System::Net::Security::SslStream::SslStream | ( | System::SharedPtr< IO::Stream > | innerStream, |
bool | leaveInnerStreamOpen, | ||
RemoteCertificateValidationCallback | userCertificateValidationCallback | ||
) |
Constructs a new instance.
innerStream | The stream that is used for sending and receiving data. |
leaveInnerStreamOpen | If true, closing the current instance has no effect on 'InnerStream'. |
userCertificateValidationCallback | The delegate that is used for validating the certificate supplied by the remote party. |
ASPOSECPP_SHARED_API System::Net::Security::SslStream::SslStream | ( | System::SharedPtr< IO::Stream > | innerStream, |
bool | leaveInnerStreamOpen, | ||
RemoteCertificateValidationCallback | userCertificateValidationCallback, | ||
LocalCertificateSelectionCallback | userCertificateSelectionCallback | ||
) |
Constructs a new instance.
innerStream | The stream that is used for sending and receiving data. |
leaveInnerStreamOpen | If true, closing the current instance has no effect on 'InnerStream'. |
userCertificateValidationCallback | The delegate that is used for validating the certificate supplied by the remote party. |
userCertificateSelectionCallback | The delegate that is used for selecting the certificate used for authentication. |
ASPOSECPP_SHARED_API System::Net::Security::SslStream::SslStream | ( | System::SharedPtr< IO::Stream > | innerStream, |
bool | leaveInnerStreamOpen, | ||
RemoteCertificateValidationCallback | userCertificateValidationCallback, | ||
LocalCertificateSelectionCallback | userCertificateSelectionCallback, | ||
EncryptionPolicy | encryptionPolicy | ||
) |
Constructs a new instance.
innerStream | The stream that is used for sending and receiving data. |
leaveInnerStreamOpen | If true, closing the current instance has no effect on 'InnerStream'. |
userCertificateValidationCallback | The delegate that is used for validating the certificate supplied by the remote party. |
userCertificateSelectionCallback | The delegate that is used for selecting the certificate used for authentication. |
encryptionPolicy | The encryption policy. |
|
virtual |
Authenticates the client-side of the connection.
targetHost | The name of the server that shares the current instance. |
|
virtual |
Authenticates the client-side of the connection.
targetHost | The name of the server that shares the current instance. |
clientCertificates | The client certificates. |
enabledSslProtocols | The SSL protocols that are used for authentication. |
checkCertificateRevocation | A value that indicates if the certificate revocation list must be checked during authentication. |
|
override |
Initiates an asynchronous read operation.
buffer | The byte array to read data from. |
offset | The offset in bytes in the specified array. |
count | The number of bytes to read. |
asyncCallback | A callback to be called when the operation completes. |
asyncState | User-provided data used to uniquely identify each asynchronous read operation. |
|
override |
Initiates an asynchronous write operation.
buffer | The byte array to write data to. |
offset | The offset in bytes in the specified array. |
count | The number of bytes to write. |
asyncCallback | A callback to be called when the operation completes. |
asyncState | User-provided data used to uniquely identify each asynchronous write operation. |
|
overridevirtual |
Closes the stream.
Reimplemented from System::IO::Stream.
|
overridevirtual |
Releases all resources used by the current object and closes the stream.
Reimplemented from System::IO::Stream.
|
override |
Waits until the specified asynchronous read operation completes.
asyncResult | An IAsyncResult object that represents an asynchronous read operation |
asyncResult
|
override |
Ends an asynchronous write operation. Waits until the specified asynchronous write operation completes.
asyncResult | An IAsyncResult object that represents an asynchronous write operation |
|
overridevirtual |
Clears this stream's buffers and writes all buffered data to the underlying storage.
Implements System::IO::Stream.
|
overridevirtual |
Determines if the stream is readable.
Implements System::IO::Stream.
|
overridevirtual |
Determines if the stream supports seeking.
Implements System::IO::Stream.
|
overridevirtual |
Gets a value that determines whether the current stream can time out.
Reimplemented from System::IO::Stream.
|
overridevirtual |
Determines if the stream is writable.
Implements System::IO::Stream.
|
virtual |
Returns a value that indicates if the certificate revocation list is checked during the certificate validation process.
|
virtual |
Returns the encryption algorithm.
|
virtual |
Returns the strength of the used encryption algorithm.
|
virtual |
Returns the hash algorithm.
|
virtual |
Returns the strength of the used hash algorithm.
|
overridevirtual |
Returns a value that indicates if authentication is successfully passed.
Implements System::Net::Security::AuthenticatedStream.
|
overridevirtual |
Returns a value that indicates if the data sent using this stream is encrypted.
Implements System::Net::Security::AuthenticatedStream.
|
overridevirtual |
Returns a value that indicates if a server and a client are authenticated.
Implements System::Net::Security::AuthenticatedStream.
|
overridevirtual |
Returns a value that indicates if the local side of the connection is the server.
Implements System::Net::Security::AuthenticatedStream.
|
overridevirtual |
Returns a value that indicates if the data sent using this stream is signed.
Implements System::Net::Security::AuthenticatedStream.
|
virtual |
Returns the strength of the used key exchange algorithm.
|
overridevirtual |
Returns the length of the stream in bytes.
Implements System::IO::Stream.
|
virtual |
Returns the certificate that is used to authenticate the local endpoint.
|
overridevirtual |
Returns the current position of the stream.
Implements System::IO::Stream.
|
overridevirtual |
Gets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
Reimplemented from System::IO::Stream.
|
virtual |
Returns the certificate that is used to authenticate the remote endpoint.
|
virtual |
Returns the SSL protocol.
|
overridevirtual |
Gets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
Reimplemented from System::IO::Stream.
|
overridevirtual |
Reads the specified number of bytes from the stream and writes them to the specified byte array.
buffer | The byte array to write the read bytes to |
offset | A 0-based position in buffer to start writing at |
count | The number of bytes to read |
Implements System::IO::Stream.
|
overridevirtual |
Reads the specified number of bytes from the stream and writes them to the specified byte array.
buffer | The byte array to write the read bytes to |
offset | A 0-based position in buffer to start writing at |
count | The number of bytes to read |
Reimplemented from System::IO::Stream.
|
overridevirtual |
Sets the position of the stream represented by the current object.
offset | The byte offset relative to a position specified by origin |
origin | Specifies the position from which and the direction toward which the offset is calculated |
Implements System::IO::Stream.
|
overridevirtual |
Sets the stream's position.
value | The byte offset to set the stream's position to |
Implements System::IO::Stream.
|
override |
Sets a value that determines whether the current stream can time out.
|
override |
Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
|
overridevirtual |
Sets the length of the stream represented by the current object.
value | The length in bytes to set |
Implements System::IO::Stream.
ASPOSECPP_SHARED_API void System::Net::Security::SslStream::Write | ( | const ArrayPtr< uint8_t > & | buffer | ) |
Writes the specified byte array to the stream.
buffer | The byte array to write. |
|
overridevirtual |
Writes the specified subrange of bytes from the specified byte array to the stream.
buffer | The array containing the bytes to write |
offset | A 0-based index of the element in buffer at which the subrange to write begins |
count | The number of elements in the subrange to write |
Implements System::IO::Stream.
ASPOSECPP_SHARED_API void System::Net::Security::SslStream::Write | ( | const System::Details::ArrayView< uint8_t > & | buffer | ) |
Writes the specified byte array to the stream.
buffer | The byte array to write. |
|
overridevirtual |
Writes the specified subrange of bytes from the specified byte array to the stream.
buffer | The array containing the bytes to write |
offset | A 0-based index of the element in buffer at which the subrange to write begins |
count | The number of elements in the subrange to write |
Reimplemented from System::IO::Stream.