Asposecpplib
|
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... | |
![]() | |
typedef SharedPtr< Stream > | Ptr |
An alias for a shared pointer to this class. More... | |
![]() | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
Public Member Functions | |
bool | get_IsAuthenticated () const override |
Returns a value that indicates if authentication is successfully passed. More... | |
bool | get_IsMutuallyAuthenticated () const override |
Returns a value that indicates if a server and a client are authenticated. More... | |
bool | get_IsEncrypted () const override |
Returns a value that indicates if the data sent using this stream is encrypted. More... | |
bool | get_IsSigned () const override |
Returns a value that indicates if the data sent using this stream is signed. More... | |
bool | get_IsServer () const override |
Returns a value that indicates if the local side of the connection is the server. More... | |
virtual System::Security::Authentication::SslProtocols | get_SslProtocol () |
Returns the SSL protocol. More... | |
virtual bool | get_CheckCertRevocationStatus () |
Returns a value that indicates if the certificate revocation list is checked during the certificate validation process. More... | |
virtual System::SharedPtr< System::Security::Cryptography::X509Certificates::X509Certificate > | get_LocalCertificate () |
Returns the certificate that is used to authenticate the local endpoint. More... | |
virtual System::SharedPtr< System::Security::Cryptography::X509Certificates::X509Certificate > | get_RemoteCertificate () |
Returns the certificate that is used to authenticate the remote endpoint. More... | |
virtual System::Security::Authentication::CipherAlgorithmType | get_CipherAlgorithm () |
Returns the encryption algorithm. More... | |
virtual int32_t | get_CipherStrength () |
Returns the strength of the used encryption algorithm. More... | |
virtual System::Security::Authentication::HashAlgorithmType | get_HashAlgorithm () |
Returns the hash algorithm. More... | |
virtual int32_t | get_HashStrength () |
Returns the strength of the used hash algorithm. More... | |
virtual int32_t | get_KeyExchangeStrength () |
Returns the strength of the used key exchange algorithm. More... | |
bool | get_CanSeek () const override |
Determines if the stream supports seeking. More... | |
bool | get_CanRead () const override |
Determines if the stream is readable. More... | |
bool | get_CanTimeout () const override |
Gets a value that determines whether the current stream can time out. More... | |
bool | get_CanWrite () const override |
Determines if the stream is writable. More... | |
int32_t | get_ReadTimeout () const override |
Gets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. More... | |
void | set_ReadTimeout (int32_t value) override |
Sets a value that determines whether the current stream can time out. More... | |
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... | |
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... | |
int64_t | get_Length () const override |
Returns the length of the stream in bytes. More... | |
int64_t | get_Position () const override |
Returns the current position of the stream. More... | |
void | set_Position (int64_t value) override |
Sets the stream's position. More... | |
SslStream (System::SharedPtr< IO::Stream > innerStream) | |
Constructs a new instance. More... | |
SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen) | |
Constructs a new instance. More... | |
SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback) | |
Constructs a new instance. More... | |
SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback) | |
Constructs a new instance. More... | |
SslStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen, RemoteCertificateValidationCallback userCertificateValidationCallback, LocalCertificateSelectionCallback userCertificateSelectionCallback, EncryptionPolicy encryptionPolicy) | |
Constructs a new instance. More... | |
virtual void | AuthenticateAsClient (String targetHost) |
Authenticates the client-side of the connection. More... | |
virtual void | AuthenticateAsClient (String targetHost, System::SharedPtr< System::Security::Cryptography::X509Certificates::X509CertificateCollection > clientCertificates, System::Security::Authentication::SslProtocols enabledSslProtocols, bool checkCertificateRevocation) |
Authenticates the client-side of the connection. More... | |
void | SetLength (int64_t value) override |
Sets the length of the stream represented by the current object. More... | |
int64_t | Seek (int64_t offset, IO::SeekOrigin origin) override |
Sets the position of the stream represented by the current object. More... | |
void | Flush () override |
Clears this stream's buffers and writes all buffered data to the underlying storage. More... | |
int32_t | Read (const ArrayPtr< uint8_t > &buffer, int32_t offset, int32_t count) override |
Reads the specified number of bytes from the stream and writes them to the specified byte array. More... | |
void | Write (const ArrayPtr< uint8_t > &buffer) |
Writes the specified byte array to the stream. More... | |
void | Write (const ArrayPtr< uint8_t > &buffer, int32_t offset, int32_t count) override |
Writes the specified subrange of bytes from the specified byte array to the stream. More... | |
int32_t | Read (const System::Details::ArrayView< uint8_t > &buffer, int32_t offset, int32_t count) override |
Reads the specified number of bytes from the stream and writes them to the specified byte array. More... | |
void | Write (const System::Details::ArrayView< uint8_t > &buffer) |
Writes the specified byte array to the stream. More... | |
void | Write (const System::Details::ArrayView< uint8_t > &buffer, int32_t offset, int32_t count) override |
Writes the specified subrange of bytes from the specified byte array to the stream. More... | |
System::SharedPtr< IAsyncResult > | BeginRead (System::ArrayPtr< uint8_t > buffer, int32_t offset, int32_t count, AsyncCallback asyncCallback, System::SharedPtr< Object > asyncState) override |
Initiates an asynchronous read operation. More... | |
int32_t | EndRead (System::SharedPtr< IAsyncResult > asyncResult) override |
Waits until the specified asynchronous read operation completes. More... | |
System::SharedPtr< IAsyncResult > | BeginWrite (System::ArrayPtr< uint8_t > buffer, int32_t offset, int32_t count, AsyncCallback asyncCallback, System::SharedPtr< Object > asyncState) override |
Initiates an asynchronous write operation. More... | |
void | EndWrite (System::SharedPtr< IAsyncResult > asyncResult) override |
Ends an asynchronous write operation. Waits until the specified asynchronous write operation completes. More... | |
void | Dispose (bool disposing) override |
Releases all resources used by the current object and closes the stream. More... | |
void | Close () override |
Closes the stream. More... | |
![]() | |
bool | get_LeaveInnerStreamOpen () const |
Returns the stream that is used by the current class instances for sending and receiving data. More... | |
![]() | |
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. More... | |
virtual void | WriteByte (uint8_t value) |
Writes the specified unsigned 8-bit integer value to the stream. More... | |
template<std::size_t N> | |
int32_t | Read (const System::Details::StackArray< uint8_t, N > &buffer, int32_t offset, int32_t count) |
Reads the specified number of bytes from the stream and writes them to the specified byte array. More... | |
template<std::size_t N> | |
void | Write (const System::Details::StackArray< uint8_t, N > &buffer, int32_t offset, int32_t count) |
Writes the specified subrange of bytes from the specified byte array to the stream. More... | |
void | Dispose () override |
Releases all resources used by the current object and closes the stream. More... | |
virtual System::SharedPtr< System::IAsyncResult > | BeginRead (System::ArrayPtr< uint8_t > buffer, int offset, int count, System::AsyncCallback callback, System::SharedPtr< System::Object > state) |
Initiates an asynchronous read operation. More... | |
virtual System::SharedPtr< System::IAsyncResult > | BeginWrite (System::ArrayPtr< uint8_t > buffer, int offset, int count, System::AsyncCallback callback, System::SharedPtr< System::Object > state) |
Initiates an asynchronous write operation. More... | |
virtual int | EndRead (System::SharedPtr< System::IAsyncResult > asyncResult) |
Waits until the specified asynchronous read operation completes. More... | |
virtual void | EndWrite (System::SharedPtr< System::IAsyncResult > asyncResult) |
Ends an asynchronous write operation. Waits until the specified asynchronous write operation completes. More... | |
void | CopyTo (const SharedPtr< Stream > &destination) |
Copies bytes to the specified stream. More... | |
void | CopyTo (const SharedPtr< Stream > &destination, int32_t buffer_size) |
Copies bytes to the specified stream, using the specified buffer size. More... | |
virtual void | set_ReadTimeout (int timeout) |
Sets a value that determines whether the current stream can time out. More... | |
virtual void | set_WriteTimeout (int timeout) |
Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. More... | |
![]() | |
Object () | |
Creates object. Initializes all internal data structures. More... | |
virtual | ~Object () |
Destroys object. Frees all internal data structures. More... | |
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... | |
void | Lock () |
Implements C# lock() statement locking. Call directly or use LockContext sentry object. More... | |
void | Unlock () |
Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More... | |
virtual bool | Equals (ptr obj) |
Compares objects using C# Object.Equals semantics. More... | |
virtual int32_t | GetHashCode () const |
Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More... | |
virtual String | ToString () const |
Analog of C# Object.ToString() method. Enables converting custom objects to string. More... | |
virtual ptr | MemberwiseClone () const |
Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More... | |
virtual const TypeInfo & | GetType () const |
Gets actual type of object. Analog of C# System.Object.GetType() call. More... | |
virtual bool | Is (const TypeInfo &targetType) const |
Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More... | |
virtual 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 bool | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const |
For internal purposes only. More... | |
template<> | |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
Specialization of Object::ReferenceEquals for case of string and nullptr. More... | |
template<> | |
bool | ReferenceEquals (String const &str1, String const &str2) |
Specialization of Object::ReferenceEquals for case of strings. More... | |
Additional Inherited Members | |
![]() | |
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... | |
template<> | |
bool | Equals (float const &objA, float const &objB) |
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. More... | |
template<> | |
bool | Equals (double const &objA, double const &objB) |
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. More... | |
![]() | |
static const System::SharedPtr< Stream > | Null |
A stream with no underlying storage. More... | |
![]() | |
AuthenticatedStream (System::SharedPtr< IO::Stream > innerStream, bool leaveInnerStreamOpen) | |
Constructs a new instance. More... | |
System::SharedPtr< IO::Stream > | get_InnerStream () const |
Returns the stream that is used for sending and receiving data. 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.
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. |
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'. |
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. |
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. |
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.
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.
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.